Thema: Delphi Farbwert zu Dezimal

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Farbwert zu Dezimal

  Alt 28. Mär 2019, 11:18
Könnte mir jemand sagen ob das jetzt so in Ordnung ist?
Denn so richtig kommt da bei mir nichts an.

Das ist das letzte.

Delphi-Quellcode:
      begin
        d := round(Fade * 64);
        Buf := SpectrumData2D;

        if FSymmetrical then
        begin
          o := 0;
          s := w * 2;
        end
        else
        begin
          o := 0.5;
          s := w;
        end;

        for Y := 0 to h do
        begin
          for X := 0 to w do
          begin
            if (X > h) or (Y > w) then
              continue;

            cx := X / s - o;
            cy := Y / h - 0.5;

            r := round(Sqrt(cx * cx + cy * cy));

            dx := round((cx + o + 0.01 * cx * ((r - 1) / 0.5)) * s);
            dy := round((cy + 0.5 + 0.01 * cy * ((r - 1) / 0.5)) * h);

            //a := ((Buf[dx, dy] and $FF000000) div $1000000) and 256) - d;
            a := ((Buf[dx, dy] shr 24) and 256) - d; // muss 256 hier addiert werden oder nicht!

            //c := Buf[dx, dy] and $FFFFFF;
            c := Buf[dx, dy] and RGB(255, 255, 255);

            if a > 127 then
              // SpectrumData2D[X, Y] := c or ((a - 256) * $1000000)
              SpectrumData2D[X, Y] := c or ((a - 256) shl 24)
            else
              // SpectrumData2D[X, Y] := c or (a * $1000000);
              SpectrumData2D[X, Y] := c or (a shl 24);
          end;
        end;
      end;
gruss

Geändert von EWeiss (28. Mär 2019 um 11:21 Uhr)
  Mit Zitat antworten Zitat