title image


Smiley Fade Out mit Bitmaps ?
ich hab grad einen alten Code von mir wieder ausprobiert (ein Sreensaver) und hab gerade wieder gesehen warum ich damit aufgehört hab ;)



Ich zeiche auf ein Bitmap, das dann auf die Form gemalt wird. damit der Bildschirm nicht immer voller wird, wird das ganze bild immer wieder verdunkelt, sodas die alten linien verblassen.



der folgende Code ist bei grossen Bildern leider viel zu langsam. Kennt jemand ne schnellere Möglichkeit, oder weiß jemand wie man den Code beschleunigen kann ??





var ar : array[0..255] of byte;



.. create..

n := abs(2);

for x := 0 to 255 do

if integer(x - n) < 0 then

ar[x] := 0

else ar[x] := x - n;

..



procedure Helligkeit( Bitmap, // Zielbitmap

Original : TBitmap; // Original

Value : integer); // Wert zw -240 ... + 240

var x,y : integer;

Ziel : ^TRGBTriple;

Quelle : ^TRGBTriple;

begin

for y := 0 to Bitmap.Height-1 do begin

Ziel := Bitmap.Scanline[y];

Quelle := Original.Scanline[y];

for x := 0 to (Bitmap.Width-1) do begin

Ziel^.rgbtBlue := ar[Quelle^.rgbtBlue];

Ziel^.rgbtred := ar[Quelle^.rgbtred];

Ziel^.rgbtGreen := ar[Quelle^.rgbtGreen];

inc(Ziel);

inc(quelle);

end;

end;

end;







P.S. ich will nicht mit DirectX machen, sondern direct.

Gruss anubis

Rechtschreibfehler sind geistiges Eigentum des Authors und dürfen ohne ausdrückliche Erlaubnis weder verändert oder kopiert werden.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: