Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#18

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

  Alt 24. Feb 2005, 20:54
Hi Sebastian!

Also ich habe mal Deinen Code probiert, bin aber leider gescheitert.

Delphi-Quellcode:
procedure foo(bSource, bDest: TBitmap); //Der Schatten ist die Quelle, die Textur das Ziel
var pSource, pDest: PRGBQuad;
begin
  bSource.PixelFormat:=pf32bit;
  bDest.PixelFormat:=pf32bit;

      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
end;
Also ich habe Deine Prozedur nun etwas vervollständigt. Sollte bestimmt eine kleine Aufgabe für mich sein. Ich rufe nun diese Prozedure wie folgt auf.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
    MyBit:TBitmap;
begin
    myBit:=TBitmap.Create;
    MyBit.Assign(Image.Picture.Graphic);
        foo(MyBit,Image1.Picture.Bitmap);
end;
In Image befindet sich ein Jpeg, deshalb weise ich es vorher noch einem Bitmap zu. Allerdings tut sich in dest - dem Image1 nichts. Wie auch. Ich glaube, dass in der foo-procedure noch nichts zurückgeschrieben wird. Oder??? Kannst Du noch etwas helfen?
Danke
Tom
  Mit Zitat antworten Zitat