BitmapAlign := TBitmap.Create; TRY // This doesn't make an independent copy (yet). Problem affects // Delphi 3 and 4. BitmapAlign.Assign(Bitmaps[2]); // Force BitmapAlign to be totally independent of Bitmaps[2] // This is an unfortuante kludge needed if Scanline is the only // method to access pixel data. Without this kludge, the // original bitmap and "new" bitmap are operating on the same // pixel data!!! BitmapAlign.Canvas.Pixels[0,0] := Bitmaps[2].Canvas.Pixels[0,0]; FINALLY BitmapAlign.Free END