Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
Bitmap [50]
Canvas [0]
DirectX и DelphiX [39]
GIF [3]
ICO [24]
JPEG [14]
MetaFile [6]
OpenGL [9]
ScreenSaver и ScreenMate [13]
Векторная графика [2]
Графика [37]
Изображения [0]
Картография [6]
Компоненты и Графика [0]
Создание игр [17]
Цвета и Палитра [0]
Шрифты [0]

Наш опрос
Оцените мой сайт
Всего ответов: 30

Статистика

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

Форма входа

Главная » Статьи » Графика и Игры » Bitmap

Эффект Мозаика (пикселизация)
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Эффект 'Мозаика' (пикселизация)

Зависимости: Windows, Classes, Graphics
Автор: Fenik, chook_nu@uraltc.ru, Новоуральск
Copyright: Собственное написание (Николай федоровских)
Дата: 1 июня 2002 г.
***************************************************** }


procedure PixelsEffect(Bitmap: TBitmap; Hor, Ver: Word);
{функция разбивает изображение на прямоугольники (ширина - Hor; высота - Ver)
И закрашивает эти прямоугольники средним цветом,
используя среднеарифметическое составляющих}


function Min(A, B: Integer): Integer;
begin
if A < B then
Result := A
else
Result := B;
end;

type
TRGB = record
B, G, R: Byte;
end;
pRGB = ^TRGB;
var
i, j, x, y, xd, yd,
rr, gg, bb, h, hx, hy: Integer;
Dest: pRGB;
begin
Bitmap.PixelFormat := pf24Bit;
if (Hor = 1) and (Ver = 1) then
Exit;
xd := (Bitmap.Width - 1) div Hor;
yd := (Bitmap.Height - 1) div Ver;
for i := 0 to xd do
for j := 0 to yd do
begin
h := 0;
rr := 0;
gg := 0;
bb := 0;
hx := Min(Hor * (i + 1), Bitmap.Width - 1);
hy := Min(Ver * (j + 1), Bitmap.Height - 1);
for y := j * Ver to hy do
begin
Dest := Bitmap.ScanLine[y];
Inc(Dest, i * Hor);
for x := i * Hor to hx do
begin
Inc(rr, Dest^.R);
Inc(gg, Dest^.G);
Inc(bb, Dest^.B);
Inc(h);
Inc(Dest);
end;
end;
Bitmap.Canvas.Brush.Color := RGB(rr div h, gg div h, bb div h);
Bitmap.Canvas.FillRect(Rect(i * Hor, j * Ver, hx + 1, hy + 1));
end;
end;
Категория: Bitmap | Добавил: Angel (08.07.2008)
Просмотров: 516 | Рейтинг: 5.0/1
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2025 Хостинг от uCoz