AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmaps vergleichen

Ein Thema von Amateurprofi · begonnen am 9. Jul 2020 · letzter Beitrag vom 13. Jul 2020
 
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.097 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Bitmaps vergleichen

  Alt 11. Jul 2020, 02:54
Sehr schön, dankesehr

Zwei Fragen:
Du schreibst dass Du Alles in 24-Bit wandelst, auch 32-Bit Bilder.
Warum nimmst Du nicht gleich 32-Bit, so wie Graphics32 ?
Hat der 24-Bit Raum irgendwelche Vorteile für Dich ?

Mit den RAL-Farben verstehe ich nicht ganz.
Das sind Printfarben, die kann man doch eigentlich nicht am Bildschirm darstellen.
Ist das die nächstbeste Farbe die der RAL entspricht, oder
gibt es einen "offiziellen" Algorithmus der irgendeine Farbe zu RAL umwandeln kann ?
Zitat:
Du schreibst dass Du Alles in 24-Bit wandelst, auch 32-Bit Bilder
Ich schrieb "Bei Formaten <> *.Bmp werden die Bilder in 24Bit-Bitmaps umgewandelt.", also:
Nur wenn zum Beispiel ein .jpg geladen wird, wird die in eine 24Bit Bitmap umgewandelt.
Wenn eine .bmp Datei geladen wird, bleibt die im Original-Format.
Ausnahme:
Wenn bei einer .bmp Datei das Pixelformat=pfCustom und biBitCount=16 ist, wird das so gehandhabt:
A) Die Datei enthält Masken für Rot, Grün, Blau.
Dann wird aus den Masken entweder pf15bit oder pf16bit abgeleitet.
B) Die Datei enthält keine Farbmasken.
Dann werden die Farbmasken RMask:=$7C00; GMask:=$03E0; BMask:=$001F; benutzt und als PixelFormat pf15bit.
Da habe ich unsauber gearbeitet.
Korrekterweise sollte ich in diesem Fall alle 16Bit-Farbwerte der Bitmap prüfen.
Wenn zumindest bei einem Pixel das höchste Bit gesetzt ist sollte ich die Standardmasken für pf16Bit verwenden und als Pixelformat pf16bit.
Das werde ich in den nächsten Tagen ändern.
Danke für die Rückfrage - erst dadurch habe ich registriert, dass ich das Pixelformat aus den Farbdaten ableiten kann.

Zitat:
Warum nimmst Du nicht gleich 32-Bit, so wie Graphics32 ?
Hat der 24-Bit Raum irgendwelche Vorteile für Dich ?
Aus Gewohnheit und aus Speicherplatz-Gründen.
Die Umwandlung in 24Bit Bitmaps erfolgt ja nur bei Dateiformaten <> .bmp und z.B. JPEG kann nur pf8bit und pf24bit, zumindest die mir vorliegende Version.

Zitat:
Mit den RAL-Farben verstehe ich nicht ganz.
Das sind Printfarben, die kann man doch eigentlich nicht am Bildschirm darstellen.
Ist das die nächstbeste Farbe die der RAL entspricht, oder
gibt es einen "offiziellen" Algorithmus der irgendeine Farbe zu RAL umwandeln kann ?
Ich ordne einem RGB-Wert die RAL-Farbe zu, bei der die maximale Abweichung der Rot-, Grün-, Blauwerte am kleinsten ist.
Ein "offizieller" Algorithmus ist mir nicht bekannt.
Bei der Tabelle der RAL-Farben handelt es sich um die RAL-Classic-Farben.
Die hab ich vor ein paar Jahren auf http://www.ral-farben.de gefunden.
Delphi-Quellcode:
FUNCTION NearestRalColorIndex(CL:TColor):Integer;
var I,D,MinD:Integer;
begin
   MinD:=MaxInt;
   Result:=0;
   for I:=0 to High(RalColors) do
      with RalColors[I], TRgb(CL) do begin
         D:=Max(Max(Abs(Red-R),Abs(Green-G)),Abs(Blue-B));
         if D<MinD then begin
            MinD:=D;
            Result:=I;
         end;
      end;
end
;
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  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 23:41 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