![]() |
RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Hallo,
ich habe eine banale Frage und komme einfach nicht weiter, es ist mittlerweile in der Bildbearbeitung bei Fotos auch nicht mehr unüblich statt 8bit pro Farbkanal auch 16bit pro Farbkanal zu verwenden. Der Photoshop kann ja ohne Probleme 16-bit TIFs speichern. Wenn ich jedoch ein 16bit TIF Bild in Delphi reinlade, so kann ich doch die einzelne RGB-Werte mit getpixel oder scanline als 8bit auslesen. Doch wie kommt man an die ursprünglichen 16bit Werte pro Farbkanal ran? :gruebel: Lg, jus |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Ich weiß nicht, inwiefern das bei der von dir benützten Komponente unterstützt wird, aber sofern du einen Pointer zu den Pixeln holen kannst, ist der Rest doch ein Klax, oder?
Falls das mit Scanline klappt, hier mal ein Beispiel:
Delphi-Quellcode:
{ !ungetestet! }
var Channel: PWord; i: Integer; r, g, b: Word; begin Channel := <ImageKomponente>.Scanline[<ImageKomponente>.Height-1]; for i := 0 to <ImageKomponente>.Height * <ImageKomponente>.Width - 1 do begin r := Channel^; inc( Channel ); g := Channel^; inc( Channel ); b := Channel^; inc( Channel ); end; end; |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
AFAIK hast Du in Delphi maximal 8 Bit per Pixel + Alpha.
|
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Im .NET Framework wird der Typ Format64bppPArgb (also RGB+Alpha mit je 16bit pro Kanal) angeboten. Das ist ja GDI+ wofür es bei progdigy.com wrapper-Komponenten für Delphi gibt.
Aber Bummi kennt die GDI+ ja mit am besten und hätte sicher erwähnt, wenn bei GDIplus ein Bitmap-Typ mit 16bit pro Kanal dabei wäre. Ich weis es leider für Delphi nicht genau... |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Zitat:
|
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Mal ne (doofe) Frage: Wofür 16 Bit pro Kanal? :shock:
|
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Warum nicht? Es gibt Anwendungsfälle, in denen höhere Farbtiefe einfach gefordert ist. Printbereich, DTP und so Dinge. Es ist ausserdem nicht Delphi geschuldet, dass diese Bilder zu 8 Bit/Kanal verrechnet werden, sondern der Tatsache, dass Windows Bitmaps in diesem Format braucht um sie anzeigen zu können (bzw. ist das der Standardweg über GDI, welche mehr nicht kennt).
Es ist einzig und allein Sache der zum Laden verwendeten Lib Zugriff auf die original Farbdaten zu gewähren. Dass dabei dann auf alles was mit der GDI zu tun hat verzichtet werden muss, sollte allerdings klar sein. |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
Zunächst vielen Dank für eure Antworten.
Kennt wer so eine Bibliothek für Delphi? Lg, jus |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
@SirThornberry
sorry, selbstverständlich meinte ich 8 bit pro Kanal... |
AW: RGB Werte von Bilder mit Farbtiefe mehr als 8bit (z.B.16bit, 32bit) abfragen
@Medium: Jaa.. Aber wer soll denn bitte fähig sein diese ganzen Farben sehen zu können?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 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