#1 24.12.2009 10:36:32

padmalcom
Newbie
Registriert: 03.11.2009
Beiträge: 6

Farbwerte (RGB) aus TD3DColor extrahieren

Hi, ich habe ein eigenes Farbformat und möchte dafür die RGB-Werte aus einem TD3DColor-Objekt auslesen.
Wie mach ich das am besten?

Offline

 

#2 24.12.2009 13:51:55

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Farbwerte (RGB) aus TD3DColor extrahieren

Da gab es doch eine Funktion .. ich kann mich erinnern, selbst schon danach gefragt zu haben ^^

Auf Anhieb finde ich im Internet nur folgendes: Siehe GetRGB
http://www.vbarchiv.net/faq/faq_grafik_rgb.html


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#3 24.12.2009 16:27:04

padmalcom
Newbie
Registriert: 03.11.2009
Beiträge: 6

Re: Farbwerte (RGB) aus TD3DColor extrahieren

Hi, Antwort gefunden wink

TjfColor ist eine Struktur mit 3 bytes (r,g,b,a:byte) und TD3DColor der LongWord Typ.

function TjfColor2TD3DColor(color:TjfColor):TD3DColor;
type TLongWordAsArrayOfByte = array[0..3] of Byte;
  function ColorLimit(const x : Single) : Byte;
  begin
    if x > 1.0 then
      Result := 255
    else
      if x < 0 then
        Result := 0
      else
        Result := Trunc(x * 255.0);
  end;
begin
  with color do
  begin
    TLongWordAsArrayOfByte(Result)[3] := ColorLimit(a);
    TLongWordAsArrayOfByte(Result)[2] := ColorLimit(r);
    TLongWordAsArrayOfByte(Result)[1] := ColorLimit(g);
    TLongWordAsArrayOfByte(Result)[0] := ColorLimit(b);
  end;
end;

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson