Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

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

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

  Alt 25. Feb 2005, 18:42
Du solltest dir mal ein Tutorial über Pointer und Scanline suchen. Am Anfang hat das geklungen, als ob du eine eigene Render-Engine zusammenbauen wolltest, deahlb habe ich gedacht, ScanLine wäre kein Problem .
Schon länger nichts mehr mit ScanLine gemacht, das sollte es aber sein:
Delphi-Quellcode:
procedure foo(bSource, bDest: TBitmap); //Der Schatten ist die Quelle, die Textur das Ziel
var pSource, pDest: PRGBQuad;
    x, y: Integer;
begin
  bSource.PixelFormat:=pf32bit;
  bDest.PixelFormat:=pf32bit;
  for y:=0 to bDest.Height-1 do
  begin
    pSource:=bSource.Scanline[y];
    pDest:=bDest.Scanline[y];
    for x:=0 to Bitmap.Width-1 do
    begin
      pDest^.rgbRed := pDest^.rgbRed-(255-pSource^.rgbRed);
      pDest^.rgbBlue := pDest^.rgbBlue-(255-pSource^.rgbBlue);
      pDest^.rgbGreen := 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;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat