Зеркальное отображение

Советы » Изображения » Зеркальное отображение

procedure

TForm1.Button1Click(Sender: TObject); {Глубина цвета - 8bit}
var


x,y : Integer;
BitMap : TBitMap;
P : PByteArray;
b : Byte;
begin


BitMap := TBitMap.create; try
BitMap.LoadFromFile('D:Factory.bmp'); Canvas.Draw(0,0,BitMap); for Y := 0 to BitMap.Height -1 do begin
P := BitMap.ScanLine [Y]; For X := 0 to (BitMap.Width -1) div 2 do begin
B := P[x];
P[x] := P[Bitmap.Width -1 - x]; P[Bitmap.Width-1- x] := B; end;
end;
Canvas.Draw(0, Bitmap.Height+1, BitMap); Finally
BitMap.free;
end;
end

;

{Фрагмент кода для глубины цвета 24bit} for Y := 0 to BitMap.Height -1 do begin
P := BitMap.ScanLine [y]; X := 0;
While x<= (BitMap.Width * 3-1) div 2 do begin
Blue := P[x];
Green := P[x+1];
Red := P[x+2];
p[x] := p[(bitmap.Width*3-1)-x-2]; p[x+1] := p[(bitmap.Width*3-1)-x-1]; p[x+2] := p[(bitmap.Width*3-1)-x]; p[(bitmap.Width*3-1)-x-2] := blue; p[(bitmap.Width*3-1)-x-1] := green; p[(bitmap.Width*3-1)-x] := red; x := x+3;
end;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com