![]() |
nonVCL TBitmap - Classe (gesucht)
Hi,
kennt oder hat jemand eine nonVCL - TBitmap - Classe ? Bevor ich selber mir eine mache, frag ich mal. Der Faulheit wegen. :stupid: |
Re: nonVCL TBitmap - Classe (gesucht)
Hi,
ich denke Windows hat eine, dürfte auch in der USES Windows sein. Da hast du die einfache Kapselung einer DIB, letztlich ist es ja auch das Bildformat unter Windows! Gruß Der Unwissende |
Re: nonVCL TBitmap - Classe (gesucht)
Könntest du mir darüber etwas mer sagen ?
Nunja, ich möchte unter nonVCl viel mit Bitmaps machen u.a. auch mit 32bpp (alphakanal und so). Das wird also ohne etwas müsam. Eine Class TCanvas hab ich schon mal. |
Re: nonVCL TBitmap - Classe (gesucht)
Zitat:
An sich gibt es auch zwei Typen von Bitmaps, Bitmaps (so werden die im SDK benannt) und DIBs (Device Independend Bitmaps). Letztere sind immer anderen Lösungen vor zu ziehen. Wie der Name schon vermuten lässt, kann ein DIB überall verwendet werden. Um das wandeln in das benötigte Format kümmert sich das anzeigende Device. Der Aufbau einer Bitmap ist auch denkbar einfach, du findest sehr leicht online die Spezifikationen. Das Format macht seinem Namen alle Ehre, du hast eigentlich nur eine Mappe/Matrix, bei der zu jedem Pixel sein Farbwert abgespeichert wird. Du kannst es dir also wirklich als eine Matrix von Width Spalten x Height Reihen vorstellen. Dies sind die Nutzdaten. Um diese richtig interpretieren zu können bedarf es noch ein paar Metainfos. Hierzu zählen eigentlich nur die Größe (Höhe und Breite), die Kodierung (Bits pro Pixel) und ob die Daten komprimiert vorliegen oder nicht. Da sind noch ein zwei "Prüfsummen" drin. Mir fällt gerade kein schöneres Wort ein, jedenfalls wird noch halbwegs sicher gestellt, dass die Datei korrekt ist (anhand der Größe) und eine Bitmap (gibt eine Magic Number) Windows kapselt für dich eigentlich nur diese beiden Teile. Eine non-VCL Bitmap besteht eigentlich nur aus zwei Teilen, den Infoheader (der enthält die Metainfos) und der Pixelmatrix. Wenn du Scanline ausführst, würdest du einfach nur direkt auf Letztere zugreifen. Hier gilt es zu beachten, dass die Zeilen von unter nach oben gelesen werden. Ganz unten in dieser Matrix steht also die Zeile, die ganz oben angezeigt wird. Ja, mehr ist es eigentlich schon gar nicht. Im Windows SDK (oder bei MS) findest du schon so ziemlich alles, was man nun mit dieser Struktur machen kann. Insbesondere wenn du hier spezielle Funktionen haben möchtest (wie Alphakanaldaten) solltest du einfach mal schauen, was GDI+ so bietet, da kann ich dir leider nicht genaueres zu sagen, aber das ist eine 2D Grafikbibliothek von MS, die, wenn ich mich nicht völlig irre, recht gut mit Bitmaps umgehen kann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz