Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#21

Re: Eine 3D-Buttongrafik mittels 2D-Technik

  Alt 26. Feb 2005, 11:46
Hier mal ein Beispiel, damit überhaupt klar ist, was ich meine .
Bei meiner foo-Prozedur musste ich allerdings noch eine Hilfsprozedur hinzufügen:
Delphi-Quellcode:
procedure foo(bSource, bDest: TBitmap); //Der Schatten ist die Quelle, die Textur das Ziel

  function RoundByte(Value: Single): Byte;
  var x: Integer;
  begin
    x:=Round(Value);
    if x>255 then
      x:=255
    else
      if x<0 then
        x:=0;
    Result:=x;
  end;

var pSource, pDest: PRGBQuad;
    x, y: Integer;
begin
  [...]
      pDest^.rgbRed :=RoundByte( pDest^.rgbRed-(255-pSource^.rgbRed));
      pDest^.rgbBlue :=RoundByte( pDest^.rgbBlue-(255-pSource^.rgbBlue));
      pDest^.rgbGreen :=RoundByte( pDest^.rgbGreen-(255-pSource^.rgbGreen));
      // Wenn der Pixel in der Schatten-Bitmap weiß ist, wird an bSource nichts verändert, sonst eben dunkler
      Inc(pDest);
      Inc(pSource)
    end
  end
end;
Angehängte Dateien
Dateityp: rar button_549.rar (164,8 KB, 45x aufgerufen)
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat