Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB.NET Quali von ausgelesenen Icons zu schlecht ?

Frage Entwicklung Visual Studio

Mitglied: RedWraith

RedWraith (Level 1) - Jetzt verbinden

11.03.2010, aktualisiert 09:59 Uhr, 5175 Aufrufe, 6 Kommentare

Hallo Freunde, Ich hab mal wieder was !

Ich habe mittlerweile einige kleine Progrämmchen geschrieben und da es auf unserem Netzlaufwerk langsam undurchsichtig wird und damit unsere Benutzer nicht x Shortcuts auf dem Desktop haben müssen, habe ich mich dazu entschlossen, meinen Programmen ein Menü vorzuschalten, aus dem man dann die anderen Programme starten kann.

Das Menüprogramm läd beim Start eine Configdatei, in der steht, welche Programme mit welcher URL aufgerufen wird.
Im Menü wird dann zu jedem Programm der Programmtitel und das -Icon angezeigt. Das funktioniert auch wunderbar,
allerdings ist die Qualität der Icons hundsmiserabel. Sie sind total verpixelt und werden zu klein angezeigt, obwohl
die Originale deutlich größer/besser aussehen.

So sehen die Bilder im Menü aus:
Menü

So sieht eine Exe aus, aus der das Bild ausgelesen wird, im Explorer:
Explorer

Und hier nochmal das Originalbild, wie ich es in das Projekt einfüge:
Original

Ich kann auf Imageshack keine ICOs hochladen, deswegen hier als PNG. das ICO sieht aber genauso aus.

Also nochmal der Ablauf:

Das ICO wird in das Projekt Rechnungsausgabe eingebunden und dann in die Assembly Rechnungsausgabe.exe kompiliert.
Von dort wird es dann von Menu.exe ausgelesen. Der Quellcode dafür geht in etwa so:

01.
        Dim info As IO.FileInfo 
02.
 
03.
        If IO.File.Exists(m_pfad) Then 
04.
            info = New IO.FileInfo(Me.m_pfad) 
05.
            Me.Image = Drawing.Icon.ExtractAssociatedIcon(info.FullName).ToBitmap 
06.
            Me.ImageAlign = ContentAlignment.MiddleLeft 
07.
            Me.Text = "          " & Me.Bez 
08.
            Me.TextAlign = ContentAlignment.MiddleLeft 
09.
        End If
Die Funktion ist teil einer Klasse, die von Button abgeleitet wird.

Ich hab zuerst gedacht, dass die Bilder vielleicht in den Button hineingequetscht werden, aber ich kann die Buttons so groß machen wie ich will, größer werden die Icons davon auch nicht.


Ich hoffe ihr könnt mir helfen

Grüße, Tim
Mitglied: 76109
11.03.2010 um 10:32 Uhr
Hallo RedWraith!

Die Icon's haben verschiedene Formate: 16x16, 32x32, 48x48

Siehe Dir mal diese Freeware-Tool zum bearbeiten und erstellen von Icon's an. http://www.chip.de/downloads/IcoFX_28266149.html

Das Programm kann u.a. Icon's aus *.DLL und *.EXE importieren und es stehen Dir verschiedene Bildformate *.ico *.bmp, *.gif.... zur Verfügung.

Gruß Dieter
Bitte warten ..
Mitglied: RedWraith
11.03.2010 um 13:16 Uhr
Hallo Dieter !

Danke für eine Antwort

Die PNGs sind alle 48x48x32bpp, die ICOs, die ich aus den PNGs erstellt habe sind ebenfalls 48x48x32bpp und wenn ich dein vorgeschlagenes Programm benutze um eines der ICOs aus einer Assembly zurückzuholen, so sind sie immernoch 48x48x32bpp. Es liegt nicht an der Bildgröße, die werden erst verstümmelt, wenn VB sie in die Finger kriegt.



EDIT: Es sieht so aus, als würden die ICOs von der Extract-Methode immer auf 32x32 gedrückt, egal ob sie größer oder kleiner sind.
Bitte warten ..
Mitglied: 76109
11.03.2010 um 14:08 Uhr
Hallo RedWraith!

Wenn ich mich recht erinnere, dann kann man in dem Ico-Programm auch die Größe verändern?

Mit VB-NET habe ich noch nichts gemacht, aber ich frage mich trotzdem, ob Du die Extract-ToBitmap-Funktion überhaupt brauchst?

In einer Excel-UserForm kann ich z.B. verschiedene Bildformate direkt über die Button-Eigenschaften importieren, geht das in VB-NET nicht?

Gruß Dieter
Bitte warten ..
Mitglied: RedWraith
11.03.2010 um 14:50 Uhr
Hallo Dieter !

Klar kann ich das, aber darum geht es direkt nicht.
Das Programm soll ein Menü erstellen und zwar dynamisch aus einer XML Datei.
Ich möchte später Programme einfach hinzufügen bzw. wieder entfernen können ohne das Programm neu kompilieren zu müssen.

Dem Programm liegt so eine xml vor:
01.
<?xml version="1.0" encoding="utf-8"?> 
02.
<Menu> 
03.
	<Eintrag Name="Auftragsplanung" Pfad="Vorerfassung\Vorerfassung.exe"/> 
04.
	<Eintrag Name="Materiallagerliste" Pfad="Materiallagerliste\icon.lnk"/> 
05.
	<Eintrag Name="GestellStatus" Pfad="Gestellstatus\Gestellstatus.exe"/> 
06.
	<Eintrag Name="Kundenkarten" Pfad="Kundenkarten\Kundenkarten.exe"/> 
07.
	<Eintrag Name="Rechnungsausgabe" Pfad="Rechnungsausgabe\Rechnungsausgabe.exe"/> 
08.
	<Eintrag Name="Packzettel" Pfad="Packzettel\Packzettel.exe"/> 
09.
	<Eintrag Name="Produktionsstatistik" Pfad="Produktionsstatistik\ProdStat.exe"/> 
10.
</Menu>
und Menüpunkte samt Bildchen sollen dann automatisch erzeugt werden. Klar könnte ich die ICOs auch in einen extra Ordner stecken und dann auch in der Config angeben, aber das würde wieder zu kompliziert, zumal das Menü auch Programme aufrufen, von denen ich das ICO nicht habe, weil ich es eben nicht geschrieben hab.
Bitte warten ..
Mitglied: 76109
11.03.2010 um 15:02 Uhr
Hallo RedWraith!

Ok, hab's verstanden. War auch nur so ein Gedanke und wenn ich mir Deinen Eröffnungs-Beitrag nochmal durchlese, wird's mir auch gleich wieder bewusst, dass das dann natürlich Blödsinn ist

Gruß Dieter
Bitte warten ..
Mitglied: RedWraith
11.03.2010 um 15:09 Uhr
Tja ich hab nebenbei das Internet durchforstet und bin auf eine Handvoll Leute getroffen, die wohl dasselbe Problem haben/hatten. Aber keiner Hat eine Lösung gefunden. Ich werde als Nächstes mal versuchen, das Extrahieren nicht über .NET zu realisieren, sondern den Umweg über die API gehen.
Bitte warten ..
Ähnliche Inhalte
Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Visual Studio
Srv records aus dem dns abfragen unter vb.net (14)

Frage von Herbrich19 zum Thema Visual Studio ...

Windows Server
Schlechte Netzwerkverbindungen zu VM (3)

Frage von heinea zum Thema Windows Server ...

Windows 10
gelöst Win10 Pro 1703 - Weiße Icons für Office Dokumente und andere (4)

Frage von emeriks zum Thema Windows 10 ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(7)

Information von Lochkartenstanzer zum Thema Humor (lol) ...

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte