Konvertieren Sie PNG zu System.Zeichnung.Symbol im code

Ich bin auf der Suche konvertieren einer transparenten PNG-Bild als Bildquelle in ein System.Zeichnung.Symbol, das respektiert die Transparenz des PNG.

WPF kann man irgendwie machen das intern, wenn Sie das Symbol für Fenster in eine PNG ImageSource, aber gibt es eine Möglichkeit, ich kann das manuell tun? Speziell brauche ich das, um die system-tray notify-Symbol und ich wirklich wollen, um zu vermeiden, mit plump .ico-format Ressourcen.

  • Als seitliche Anmerkung, windows vista+ unterstützt .ico-Dateien, die eigentlich im PNG-format. Macht diese Arbeit für Sie? blogs.msdn.com/b/oldnewthing/archive/2010/10/22/10079192.aspx
  • Nicht, es sei denn, es gibt einige utility/Funktion .NET, dass ich verwenden können, zu bauen .ico aus einer PNG-on-the-fly... Gut zu wissen, tho.
  • haben Sie sich mit hardcodet.net/projects/wpf-notifyicon die das tun, WPF-system-tray-Zeug?
  • Das ist eigentlich die Bibliothek, die ich verwende-das problem mit ihm wird es erwartet, dass die icon-Ressource ein System.Zeichnung.Symbol und wird eine exception werfen wenn es nicht ist, daher mein ärger.
  • Ist nicht das TaskBarIcon.IconSource-Eigenschaft deklariert werden, eine Bildquelle?
  • Es ist, wirft aber eine exception aus, wenn die entsprechenden Mittel nicht ein .ico-Datei ein. :S
  • ah ich sehe das problem jetzt. wpf notifyicon ist mit dem System.Zeichnung.Symbol konvertieren ImageSource auf ein HICON IntPtr für Shell_NotifyIcon. Es sieht aus wie Ihre beste option sein könnte, um zu schreiben/finden, eine Funktion wickeln Sie ein PNG-Bild mit dem standard-ico-header-und image-Verzeichnis.

InformationsquelleAutor devios1 | 2011-02-04
Schreibe einen Kommentar