Er Det du bruger en Tframe ?
Har du overvejet Doublebuffer visning VIA GDI(Scanlines) hvis det er mange pixels vi snakker om ?
Men ellers ville jeg ligge en Timage i en frame. Sætte alignment til Client og Oprette en tom Bitmap i picture, husk at indstil farve dybde. Derefter kan Bitmappen jo tilgåes temlig let og direkte.
Et eksempel på at skrive i en bitmap(opret en bitmap(Tbitmap) manuelt og kopier den over i image1 som bitmap :
var
Buffer : tbitmap;
Arect : trect;
begin
Buffer := TBitmap.Create;
Buffer.Width := image1.Width;
Buffer.Height := image1.Height;
Buffer.PixelFormat := pf32bit;
ARect := Rect(0,0, Buffer.Width, Buffer.Height);
Buffer.Canvas.Brush.Color := 0;
Buffer.Canvas.FillRect(ARect);
..
...
image1.Picture.Bitmap := Buffer;
image1.canvas.pen.color := Clred
image1.Canvas.MoveTo(10,10);
image1.Canvas.LineTo(20,20);
....
For at aflæse en pixel farve i en Timage :
if image1.Canvas.Pixels[10,10] = Clred then
...
udfra ovenstående Buffer, kan du faktisk allerede lave det doublebuffered og tilgå med scanlines(Buffer.scanlines..), som er lynende hurtig, hvis du skulle få brug for det.
-------------------------------
mine freeware og shareware programmer :
http://www.veloci.dkMine Freeware spil :
http://www.nino.dk/ &
http://www.osirisgames.com