Frage

Ich entwickle eine WinForms c # 3.0-Anwendung. Unsere Designer erstellt eine ganze Reihe von ICO-Dateien enthalten alle benötigten Kunst. Die Wahl der ICO gemacht wurde, weil sehr oft das gleiche Bild an mehreren Stellen in verschiedenen Dimensionen benötigt wird.

Nun, es scheint, ICO-Dateien sind wirklich ärgerlich in Visual Studio zu verwenden. Die einzige Möglichkeit, diese Bilder zu verwenden, scheint durch die Bilder Liste zu sein (die nicht von allen Kontrollen unterstützt). Im Vergleich zu anderen Ressourcen, können Sie dies nicht schreiben:

foo.Image = global::RFQHUB.RFQHUBClient.Properties.Resources.foo; //    Cannot implicitly convert type 'System.Drawing.Icon' to 'System.Drawing.Image'  

Hier sind die Optionen Ich erwäge:

  • Erstellen Bildlisten aller möglichen Größen Referenzierung alle meine Icons in meinem Hauptfenster. Verknüpfen Sie diese Bildlisten aus anderen Fenstern und einen Weg finden, Bildobjekte aus der Imagelist zu exportieren, wenn ich kann es nicht direkt verwenden; da Abbildungsliste ein Draw () -Methode enthält, sollte dies wohl möglich sein.
  • konvertieren alle x.ico ich in mehreren x16.gif ... x48.gif haben, und diejenigen, die durch Ressourcen.

Es würde mich interessieren, ob einige Leute erfolgreich ICO-Ressourcen in einem Winform-Anwendung wurden. In dem so ist, wie hast Du die Dinge?

War es hilfreich?

Lösung

ICO ist nicht ganz veraltet Format, aber es ist in der Nähe. Es ist immer noch nützlich für Ihre Anwendungssymbol, aber für fast alles andere, ist es besser, eine Abbildungsliste für jede Größe zu verwenden, die Sie benötigen. Und es ist viel schneller ein Imagelist aus einer Bitmap aufzufüllen, die mehrere Bilder in einem Raster gelegt out enthält.

Sie wollen auch eine Alpha-Kanal Transparenz in Ihrem Bitmaps verwenden, um das beste Ergebnis zu erhalten, so sie als PNG-Dateien in Ihren Ressourcen zu speichern ist der beste Weg zu gehen, da PNG einen Alphakanal unterstützt. ICO und GIF-Dateien unterstützen nur einzelnes Bit für Transparenz - jedes Pixel entweder vollständig deckend oder vollständig transparent. Ein 8-Bit Alpha-Kanal für Transparenz sieht viel schöner.

Wenn Sie Ihren Künstler zurück ans Reißbrett schicken können, dann sollten Sie dies tun, und haben ihn / sie mit Alpha voll mit Anti-Aliasing Bilder zu tun. Wenn Sie nicht können, dann schlage ich vor, dass Sie ein kleines Programm schreiben alle Ihre Icon-Dateien in Bitmaps geeignet zum Laden in Bildlisten zu konvertieren.

Andere Tipps

Konvertieren Sie die Bilder in PNG. Punkt. Wer auch immer entschieden Dateien zu verwenden ICO mit beginnen sollte privat gesprochen bekommen -. Das Argument hält nicht auf dem Boden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top