Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Графика и Игры \ Изображения \ Зеркальное отображение

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

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;

Название: Зеркальное отображение
Дата публикации: 2004-01-29 (3690 Прочтено)

 
 

 

Page generation 0.035 seconds