Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Bitmaps abhängig von Farbtiefe der Grafikkarte/Monitor!? (https://www.delphipraxis.net/164824-bitmaps-abhaengig-von-farbtiefe-der-grafikkarte-monitor.html)

Patrick 1. Dez 2011 11:07

Bitmaps abhängig von Farbtiefe der Grafikkarte/Monitor!?
 
Tach @all,

Ich habe da ein Problem beim Auswerten eines Bildes. Das Bitmap ist ein 24Bit DIB-Bild aus einer Datei. Stelle ich nun die Farbtiefe meiner Grafikkarte/Monitor auf 16 Bit, so erhalte ich ein anderes Bild, als wenn ich die Farbtiefe auf 32 Bit stelle. Wie ich das Bild auswerte ist erst einmal egal, Fakt ist: Ich bekomme andere Ergebnisse. Wie kann das sein? Das Bild sollte, solange ich es nicht anzeige immer ein DIB sein, und kein DDB und somit immer gleich, egal was für Windows Einstellungen ich habe.

Kann mir da eine helfen?

Grüße,
Patrick

jbg 1. Dez 2011 11:13

AW: Bitmaps abhängig von Farbtiefe der Grafikkarte/Monitor!?
 
Wie wird denn das Bild aus der Datei geladen? Wird da einfach ein TBitmap erstellt (DDB) und dann mittels ScanLines (oder SetPixel für die Gemütsamen) die Daten reingeschoben, oder wird beim Laden in das Bitmap bereits das PixelFormat richtig gesetzt. Oder wird das Bild richtig geladen und dann über CopyRect/BitBlt in ein anderes (DDB) "kopiert"?

Patrick 1. Dez 2011 17:17

AW: Bitmaps abhängig von Farbtiefe der Grafikkarte/Monitor!?
 
Delphi-Quellcode:
bmp := TBitmap.Create;
bmp.LoadFromFile('???');
PixelFormat wird später nochmal gesetzt, ebenso wie der HandleTyp. Ist aber auch so nach dem Laden schon richtig.

Patrick

freeway 1. Dez 2011 18:16

AW: Bitmaps abhängig von Farbtiefe der Grafikkarte/Monitor!?
 
>wird beim Laden in das Bitmap bereits das PixelFormat richtig gesetzt ?
nein das sollte man immer nach dem create machen

aber zurück zum eigentlichen Problem
das DIB sollte immer gleich sein egal welche Farbtiefe für den Monitor eingestellt ist
die Farbtiefe gibt an wieviel bits pro Farbe benutzt werden, zum nachlesen --> http://de.wikipedia.org/wiki/Farbtiefe_(Computergrafik)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 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