Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bittiefe des Bildes in der Zwischenablage ermitteln?

  Alt 30. Apr 2012, 00:20
Gute Frage.
TBitmap.SetHandleType sieht jedenfalls nicht danach aus, als wenn dort die Pixelgröße verändert wird ... sieh ehern so aus, als wenn die eigentlich so bleiben müßte, wie sie ist.

Problem ist halt, daß du beim DDB eben nie das Format rausbekommst, jedenfalls nicht über das PixelFormat.
Delphi-Quellcode:
function TBitmap.GetPixelFormat: TPixelFormat;
begin
  Result := pfCustom;
  if HandleType = bmDDB then
    Result := pfDevice
  else
Bitmaps kennen auch noch viele andere Farbkodierungen, als nur die paar aus TPixelFormat.
Also nur über dieses TPixelFormat kannst du eh nicht alles rausbekommen.

Du könntest nachsehn, ob du über die WinAPI an mehr Infos rankommst.
http://msdn.microsoft.com/en-us/library/dd183561.aspx


http://www.codeguru.com/cpp/g-m/bitm...DDB-to-DIB.htm

Oder such mal im MSDN und in den Delphi-Codes nach bmBitsPixel und bmPlanes. (Bits = bmPlanes * bmBitsPixel)
bmPlanes = Anzahl der Farbkanäle
bmBitsPixel = Anzahl der Pixel pro Kanal
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat