(Gast)
n/a Beiträge
|
Re: Step wie noch mal ?
23. Apr 2009, 14:19
Zitat von NamenLozer:
Über eine Whileschleife oder Multiplikation. Eine direkte Möglichkeit gibt es soweit ich weiß nicht.
Wie soll ich das hier verwirklichen fällt mir nix ein ..
Delphi-Quellcode:
procedure TfrmDraw.FadeBackBuffer;
var
dx : Integer;
dy : Integer;
r : Integer;
g : Integer;
b : Integer;
begin
BitBlt(hTempDc, 0, 0, 65, 63, DC, 0, 0, SRCCOPY);
//' Copy The R,G,B Data Into Our Image Array For Rapid Editing/Fading.
CopyMemory(@ia[0,0], pAddr, 49152);
//' Fade The Data.
For dy := 0 To 62 do
begin
For dx := 0 To 195 do //(Step 3)
begin
b := ia[dx, dy] - 15;
If b < 0 Then
b := 0;
ia[dx, dy] := b;
g := ia[dx + 1, dy] - 15;
If g < 0 Then
g := 0;
ia[dx + 1, dy] := g;
r := ia[dx + 2, dy] - 15;
If r < 0 Then
r := 0;
ia[dx + 2, dy] := r;
end;
end;
//' Copy Edited Image Back To Dib Section.
CopyMemory(pAddr, @ia[0,0], 49152);
//' Blit The Faded Image To The Back Buffer.
BitBlt( DC, 0, 0, 65, 63, hTempDc, 0, 0, SRCCOPY);
end;
gruss Emil
|
|
Zitat
|