AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Anzahl der verschieden Farben eines Bitmap's auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl der verschieden Farben eines Bitmap's auslesen

Ein Thema von ferby · begonnen am 4. Mär 2006 · letzter Beitrag vom 5. Mär 2006
 
markusj

Registriert seit: 9. Dez 2005
Ort: Kandel
408 Beiträge
 
#5

Re: Anzahl der verschieden Farben eines Bitmap's auslesen

  Alt 4. Mär 2006, 14:41
Ganz einfach: Die Farben sind der in der Tabelle nach ihrer Verwendungshäufigkeit sortiert.
Was beduetet, dass wenn du am Ende auf 2* 00 00 00 stößt, kannst du dir sicher sein, dass die Farben ab hier nicht mehr verwendet werden.
2. Hast du schon einmal mit Streams gearbeitet? Such mal danach, mit denen geht es ziemlich einfach.

So, ich habe gerade festgestellt, das teilweise eine Standard-Tabelle gespeichert wird, dann gibt es noch eine andere herangehensweise:
1. Entweder du lädst dein Bitmap in ein TBitamp, damit kenne ich mich aber nicht aus, dort kannst du jeden einzelnen Pixel durchscannen und seine Farbwerte speichern ... einfach ein Array von 0 - 255 für deine Farbtabelle anlegen ...
2. Oder du machst die Hardcore-Variante und analysierst den Datenanteil des Bitmaps durch.
Was bedeutet, dass du dir eine Rohdatenzugriff auf das Bitmap verschaffst, mittels Stream.
Dann Scannst du jede Zeile und seetzt in deinem Array 0-255 of boolean true wenn dieser Eintrag verwendet wird.
Schließlich liest du diese Farbwerte aus der Farbtabelle aus, fertig.

mfG

Markus

EDIT: ein Tipp: Beim BMP-Format ließt man die Zeilen von links nach rechts und von UNTEN NACH oben. Wenn die Anzahl der Bytes in einer Zeile nicht durch 4 teilbar ist, wird mit 00 Werten aufgefüllt.
Die Bildbreite kannst du aus dem Header lesen, sie ist von Position 18-21 zu lesen und als longword zu interpretieren.
Markus
  Mit Zitat antworten Zitat
 


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 07:48 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