Wie kann ich ein Bild aus der Zwischenablage, ohne dabei den alpha-Kanal .NET?

Ich bin versucht zu retten, eine kopierte Bild aus der Zwischenablage, aber es ist zu verlieren Ihren alpha-Kanal:

Image clipboardImage = Clipboard.GetImage();
string imagePath = Path.GetTempFileName();
clipboardImage.Save(imagePath);

Wenn ich kopieren Sie eine 32-bit-Bild aus PhotoShop oder IE/Firefox/Chrome und den oben stehenden code ausführen, der output verliert seine alpha-Kanal, sondern es ist gespeichert, die vor einem schwarzen hintergrund.

Das Bild ist als PNG gespeichert, die können einen Alphakanal enthalten.

Werden die richtigen Daten angezeigt werden in die Zwischenablage, weil das einfügen in andere Anwendungen (wie PhotoShop), bleibt der alpha-Kanal.

Kann jemand hat mich aus meinem Elend?

Vielen Dank im Voraus!

Update:

//outputs FALSE
Debug.WriteLine(Image.IsAlphaPixelFormat(Clipboard.GetImage().PixelFormat));

Den oben deutet darauf hin, dass die alpha-Daten verloren gehen, sobald man es aus der Zwischenablage. Vielleicht brauche ich, um es aus der Zwischenablage auf eine andere Weise?

  • +1 nur für die ordnungsgemäße Verwendung der es-und seine
  • gute Frage. wenn Sie das gelöst haben, vielleicht möchten Sie aktualisieren Sie Ihre Frage mit einem funktionierenden code, bitte?
InformationsquelleAutor JaffaTheCake | 2009-06-15
Schreibe einen Kommentar