Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bittiefe des Bildes in der Zwischenablage ermitteln?

  Alt 29. Apr 2012, 20:06
Hallo, ich habe jetzt den ganzen Tag gesucht, aber keine Lösung gefunden; deshalb wüsste ich gerne, ob hier jemand eine Lösung für dieses Problem hat:

Wenn ich ein Bild aus der Zwischenablage in ein TImage bzw. in eine Bitmap einfüge, gehen dabei offenbar die Bittiefe-Informationen verloren:

Delphi-Quellcode:
MyImage.Picture.Bitmap.Assign(Clipboard);
PF := MyImage.Picture.Bitmap.PixelFormat;
// Fehler: PF ist immer pfDevice!!!
case PF of
  pf1bit: PFStr := '1 BPP';
  pf4bit: PFStr := '4 BPP';
  pf8bit: PFStr := '8 BPP';
  pf15bit: PFStr := '15 BPP';
  pf16bit: PFStr := '16 BPP';
  pf24bit: PFStr := '24 BPP';
  pf32bit: PFStr := '32 BPP';
  pfDevice: PFStr := 'Device';
  pfCustom: PFStr := 'Custom';
else
  PFStr := 'else';
end;
Wie kann man die Bittiefe-Informationen des Bildes in der Zwischenablage erhalten? Wenn ich in einem Grafikprogramm (Irfanview) ein Bild in die Zwischenablage kopiere und dann wieder einfüge, bleibt die jeweilige Bittiefe des Bildes erhalten. Also muss diese Information im Zwischenablage-Bild irgendwie enthalten sein. Wer weiß einen Rat?
  Mit Zitat antworten Zitat