var I,J :integer; p,p1 :PByteArray; Bmp,Bmp1 :TBitmap; begin Bmp :=TBitmap.Create; Bmp.Assign(Image1.Picture.Bitmap); Bmp1 :=TBitmap.Create ; Bmp1.Assign(Image1.Picture.Bitmap); for J :=0 to Bmp.Height-1 do begin p :=Bmp.ScanLine[J]; P1 :=Bmp1.ScanLine[J]; for I :=0 to Bmp.Width-1 do begin p1[3*(Bmp.Width-1-I)+2] :=p[3*I+2]; p1[3*(Bmp.Width-1-I)+1] :=p[3*I+1]; p1[3*(Bmp.Width-1-I)] :=p[3*I]; end; end; Bmp1.SaveToFile('c:/1.bmp'); Image1.Picture.Bitmap.Assign(Bmp1); end;