AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi nonVCL TBitmap - Classe (gesucht)
Thema durchsuchen
Ansicht
Themen-Optionen

nonVCL TBitmap - Classe (gesucht)

Ein Thema von turboPASCAL · begonnen am 14. Aug 2006 · letzter Beitrag vom 15. Aug 2006
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

nonVCL TBitmap - Classe (gesucht)

  Alt 14. Aug 2006, 16:31
Hi,

kennt oder hat jemand eine nonVCL - TBitmap - Classe ? Bevor ich selber mir eine mache, frag ich mal.
Der Faulheit wegen.

Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: nonVCL TBitmap - Classe (gesucht)

  Alt 14. Aug 2006, 16:46
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
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: nonVCL TBitmap - Classe (gesucht)

  Alt 14. Aug 2006, 21:39
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.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: nonVCL TBitmap - Classe (gesucht)

  Alt 15. Aug 2006, 10:46
Zitat von turboPASCAL:
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.
Ich versuche es einfach mal. So ganz grob ist die Bitmap eines der zwei Nativ unterstützten Formate von Windows. Alles was du anzeigst wird immer (Windows-Intern) in eine Bitmap umgewandelt (die Alternative müssten Meta-Files sein). Hierbei meine ich die normale Windowsdarstellung, ohne auf Schnittstellen wie DirectX oder OpenGL zuzugreifen.

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz