Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   ^TRGBTriple (https://www.delphipraxis.net/157234-%5Etrgbtriple.html)

Reap3r 4. Jan 2011 14:16

^TRGBTriple
 
Hi Leute!

Ich habe mir gerade folgenden Beitrag angesehen:
http://www.delphipraxis.net/65208-he...es-bildes.html

Ich versuche den Code zu verstehen und frage mich zunächst was ^TRGBTriple bedeutet...ich konnte beim googlen nichts finden -.-

Danke für alle Antworten

Klaus01 4. Jan 2011 14:19

AW: ^TRGBTriple
 
Hallo,

^TRGBTriple ist ein Zeiger auf den record TRGBTriple.

Wobei TRGBTriple ungefähr so aufgebaut sein mag

Delphi-Quellcode:
TRGBTriple = record
  rgbtRed : Byte;
  rgbtGreen : Byte;
  rgbtBlue : Byte;
end;
Grüße
Klaus

Reap3r 4. Jan 2011 14:39

AW: ^TRGBTriple
 
ahh ok, danke!

aber ich komme mit dieser zeile noch nicht ganz klar:

Delphi-Quellcode:
 Ziel^.rgbtBlue := ar[Quelle^.rgbtBlue];
Ich würde vermuten, dass hier der Blauwert des Ziel-bmps gleich dem des quelle-bmps gesetzt wird. Aber warum braucht man eine array oO????:?:

Klaus01 4. Jan 2011 14:47

AW: ^TRGBTriple
 
Delphi-Quellcode:
n := abs(value);
if value > 0 then
  for x := 0 to 255 do
    if integer(x + n) > 255 then
      ar[x] := 255 
    else
      ar[x] := x + n
Mit dem obigen Code wird das Array ar mit bestimmten Werten vorbelegt.
Damit wird die Helligkeit des Wertes um den Wert value (n) manipuliert.
Delphi-Quellcode:
Ziel^.rgbtBlue := ar[Quelle^.rgbtBlue];
Hier wird der Wert von der Stelle Quelle^.rgbtBlue des Array dem Ziel^.rgbtBlue zugewiesen.
Grüße
Klaus

Reap3r 4. Jan 2011 15:18

AW: ^TRGBTriple
 
Ok, aber kann ich versteh noch nicht ganz, was
Delphi-Quellcode:
ar[Quelle^.rgbtBlue]
aussagt.
normaler Weise (so kenne ich das) bedeutet doch zB. array[x] die x-te Stelle des Arrays.

Aber was bedeutet dann
Delphi-Quellcode:
ar[Quelle^.rgbtBlue]
?
Welche stelle ist das?

Neutral General 4. Jan 2011 15:20

AW: ^TRGBTriple
 
Naja das ist nunmal die Quelle^.rgbtBlue-te Stelle des Arrays ;-)

Quelle^.rgbtBlue ist 1 Byte. 1 Byte kann Werte von 0 bis 255 annehmen. Und ar ist ein Array[0..255] of Byte. Passt also ;-)

DeddyH 4. Jan 2011 15:21

AW: ^TRGBTriple
 
Das ist die Stelle, die in Quelle.rgbtBlue steht. Angenommen, Quelle hat einen Blauanteil von 100, dann wird das Element mit Index 100 in ar angesprochen.

Reap3r 4. Jan 2011 17:16

AW: ^TRGBTriple
 
ahh naklar!
ist eig logisch...^^
Danke Leute


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