Top-Themen

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 ?

Mitglied: RedWraith

RedWraith (Level 1) - Jetzt verbinden

11.03.2010, aktualisiert 09:59 Uhr, 5287 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
Windows Server
DNS Performance schlecht
Frage von HenereWindows Server14 Kommentare

Servus zusammen, ich habe gerade auf 2 Servern teils extrem verzögerte Antworten auf DNS-Requests für externe hosts. Es betrifft ...

Visual Studio
VB.NET Symlink (mklink)
gelöst Frage von duschgasVisual Studio6 Kommentare

Guten Tag, ich bin am verzweifeln. Mittels VB.NET möchte ich per Buttonklick einen Symlink (mklink) einer Datei erstellen. Mein ...

Visual Studio
Vb.net dynamische Logik
Frage von theoberlinVisual Studio6 Kommentare

Hallo zusammen, In der Hoffnung hier tummeln sich auch vb.net programmierer würde ich euch gern eine Frage stellen: Ich ...

Visual Studio
Netzwerkdrucker installieren, vb.net
gelöst Frage von HardExitVisual Studio

Hallo Leute, also nach langem Tüfteln habe ich jetzt einen Funktionierenden Drucker installationscode, den ich gerne mit euch teilen ...

Neue Wissensbeiträge
Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 13 StundenWindows 7

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 2 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 3 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 5 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
Vmware
ESXI hebt Registrierung von Masschinen auf
Frage von SpitzbubeVmware12 Kommentare

Hallo, nutze seit einiger Zeit für meine IT Projekte einen alten HP G7 Server mit ESXi 6.5 und einem ...

Entwicklung
Programmieren lernen - Vorkenntnisse bisher nur in PowerShell
gelöst Frage von SomebodyToLoveEntwicklung10 Kommentare

Hallo zusammen, ich würde gerne tiefer in das Programmieren einsteigen, der Wunsch hängt mir schon im Kopf seid ich ...

Hyper-V
Chaosbeseitigung in Domainlandschaft
Frage von Rolf935Hyper-V10 Kommentare

Hallo zusammen, ich hätte gerne mal ein paar praktische Tipps oder Hinweise. Derzeit haben wir einen NAS als Fileserver ...

Outlook & Mail
Automatische Anrede mit Name in Outlook beim Antworten auf Mails
gelöst Frage von Marco8383Outlook & Mail9 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer Lösung für folgendes Problem. Ich nutze Office 365 und Outlook ...