Категории раздела
J2me|java [29]
Basic [6]
Delphix [21]
C+|C++|C# [3]
Pascal [10]
Другие [0]
языки которые не войшли в верхние разделы
Главная » Статьи » Программирования » Delphix

Зеркальное отражение изображения
// Отражение по горизонтали
Function ReflexionH(source: TBitMap): TBitMap;
var i, j: Integer;
begin
  Result:=TBitmap.Create;
  Result.Height:=source.Height;
  Result.Width:=source.Width;
  With source do
  begin
    for i:=0 to Width do
      for j:=0 to Height do
        Result.Canvas.Pixels[i, j]:=Canvas.Pixels[Width-i-1,j];
  end;
end;

// Отражение по вертикали
Function ReflexionV(source: TBitMap): TBitMap;
var i, j: Integer;
begin
  Result:=TBitmap.Create;
  Result.Height:=source.Height;
  Result.Width:=source.Width;
  With source do
  begin
    for i:=0 to width do
      for j:=0 to Height do
        Result.Canvas.Pixels[i, j]:=Canvas.Pixels[i,Height-j-1];
  end;
end;

// Отражение и по вертикали и по горизонтали
Function ReflexionHV(source: TBitMap): TBitMap;
var i, j: Integer;
begin
  Result:=TBitmap.Create;
  Result.Height:=source.Height;
  Result.Width:=source.Width;
  With source do
  begin
    for i:=0 to width do
      for j:=0 to Height do
        Result.Canvas.Pixels[i, j]:=Canvas.Pixels[Width-i-1,Height-j-1];
  end;
end;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Picture.Assign(ReflexionHV(Image1.Picture.Bitmap));
end;
Категория: Delphix | Добавил: graimp (21.12.2011)
Просмотров: 722 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Наш опрос
Оцените мой сайт
Всего ответов: 25
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0