Problem mit PNG-Bildern in C #

7

Ich arbeite in Visual Studio 2008. Ich versuche, ein PNG-Bild zu zeichnen und das Bild erneut zu speichern.

Ich mache folgendes:

%Vor%

Und im Konstruktor:

%Vor%

Das Erstellen der Lösung ergibt keine Fehler. Wenn ich versuche, es auszuführen, bekomme ich das:

  

Ein Grafikobjekt kann nicht erstellt werden   von einem Bild, das indexiert hat   Pixelformat.

Ich habe nicht viel Erfahrung mit Bildern in C #. Was bedeutet das und wie kann ich Abhilfe schaffen?

BEARBEITEN: Durch das Debugging sagt mir Visual Studio, dass das Bild ein format8bppindexed Pixelformat hat.

Also, wenn ich die Graphics-Klasse nicht verwenden kann, was verwende ich?

EDIT2: Nach dem Lesen dies , Ich denke, es ist sicher anzunehmen, dass ich besser bei JPG-Dateien bleibe, wenn ich mit GDI + arbeite, nein?

EDIT3: meine using-Anweisungen:

%Vor%     
KdgDev 26.10.2009, 14:33
quelle

2 Antworten

9

Ohne eine bessere PNG-Bibliothek, die indizierte PNGs unterstützt, haben Sie kein Glück, wenn Sie versuchen, auf dieses Bild zu zeichnen, da das Grafikobjekt GDI + offensichtlich keine indizierten Bilder unterstützt.

Wenn Sie keine indizierten PNGs verwenden müssen, können Sie diesen Fehler abfangen und Ihre Eingabe mithilfe eines Dienstprogramms von Drittanbietern in normale RGB-PNGs konvertieren.

bearbeiten:

Ich habe diesen Link Ссылка gefunden, der eine Methode liefert Zeichnen Sie auf Ihr Bild, aber es wird nicht das Original beeinflussen, nur eine Kopie, die Sie speichern können (), wenn Sie möchten.

Falls der Link ausfällt:

%Vor%     
Ron Warholic 26.10.2009, 14:44
quelle
12

Sie können keine Grafiken aus einem indizierten Bildformat (PNG, GIF, ...) erstellen. Sie sollten eine Bitmap (Datei oder konvertieren Sie Ihr Bild in eine Bitmap).

%Vor%     
Guillaume 26.10.2009 14:42
quelle

Tags und Links