Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 5117 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Visual Studio
gelöst VB.Net - Problem mit Umleitung der Standard-Ausgabe (4)

Frage von emeriks zum Thema Visual Studio ...

Visual Studio
gelöst Vb.net Pfadangabe mit Wildcards wie Stern Regex Pattern (2)

Frage von Pilger83 zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...