![]() |
Erklärung zu RGBTriple
Hallo,
habe in meinem Programm, in welchem Bilder bearbeitet werden, im Deklarationsteil folgenden Pointer definiert: rgb:PRGBTriple; Nun bräuchte ich für meine Doku eine Erklärung. Habe schon in Delphi Hilfen geschaut, doch finde für mich keine verständliche Erklärung. Meine genaue Frage ist, was ist RGBTriple? Gruss Funk |
Re: Erklärung zu RGBTriple
Das RGP-Triple speichert eine Farbe als 3 Informationen. Den Rotwert (R), den Grünwert (G) den Blauwert (B).
Jeder dieser Werte hat einen Wert von 0 bis 255 wobei 0 nicht vorhanden und 255 voll bedeutet. Flare |
Re: Erklärung zu RGBTriple
Das heißt, dass bei der Zuweisung
rgb := Bild.ScanLine[0] die Information des ersten Pixel links-oben in dem RGBTriple gespeichert ist? Funk |
Re: Erklärung zu RGBTriple
Ich selber habe noch nie mit Scanline oder ähnlichen Befehlen gearbeitet. Aber meiner Meinung nach ergibt das nicht das oberste-linke Pixel sondern eher die oberste Linie.
Flare |
Re: Erklärung zu RGBTriple
Es ergibt einen Pointer auf den Anfang der ersten Zeile, und das ist nunmal links oben ;) .
|
Re: Erklärung zu RGBTriple
Scanline[0] gibt in diesem Falle die letzte Zeile im Bitmap zurück da Bitmaps zeilenweise umgekehrt organisiert sind. Ist zwar "blödsinnig" aber halt mal so im Windows.
Was nun über ScanLine angesprochen wird hängt vom Bitmap Pixelformat ab. Du solltes mit Bitmap.PixelFormat := pf32Bit arbeiten da nun über ScanLine per LongWord auf einen Pixel zugegriffen werden kann. Bei anderen Pixelformaten müsstest du umständlich die Farbdaten dekodieren oder bei <= pf256Bit sogar über die Farbtabelle der Bitmap gehen. Gruß Hagen |
Re: Erklärung zu RGBTriple
Hallo,
Zitat:
Gruß xaromz |
Re: Erklärung zu RGBTriple
Zitat:
Gruß Der Unwissende |
Re: Erklärung zu RGBTriple
Also nach der Definition eines BitMaps, ist das erste Pixel links-unten und dann wird Zeilenweise nach oben gezählt.
(war das beim Canvas von TPrinter nicht auch so?) |
Re: Erklärung zu RGBTriple
//Edit: Alles gelöscht...habe ein von als und gelesen :wall:
Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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