Графика в Delphi - примеры задач на построение графиков, а также компоненты для графики

Добавление шума в изображение

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Добавление шума в изображение

Зависимости: Graphics
Автор: Fenik, chook_nu@uraltc.ru, Новоуральск
Copyright: Автор Федоровских Николай
Дата: 5 июня 2002 г.
***************************************************** }


procedure AddNoise(Bitmap: TBitmap; Amount: Integer; Mono: Boolean);
{Если Mono = False, то точки цветные, иначе - чёрно-белые.
Процедура взята из библиотеки FastLIB и немного переделана}

function BLimit(B: Integer): Byte;
begin
if B < 0 then
Result := 0
else if B > 255 then
Result := 255
else
Result := B;
end;

type
TRGB = record
B, G, R: Byte;
end;
pRGB = ^TRGB;
var
x, y, i, a: Integer;
Dest: pRGB;
begin
Bitmap.PixelFormat := pf24Bit;
Randomize;
i := Amount shr 1;
if Mono then
for y := 0 to Bitmap.Height - 1 do
begin
Dest := Bitmap.ScanLine[y];
for x := 0 to Bitmap.Width - 1 do
begin
a := Random(Amount) - i;
with Dest^ do
begin
r := BLimit(r + a);
g := BLimit(g + a);
b := BLimit(b + a);
end;
Inc(Dest);
end;
end
else
for y := 0 to Bitmap.Height - 1 do
begin
Dest := Bitmap.ScanLine[y];
for x := 0 to Bitmap.Width - 1 do
begin
with Dest^ do
begin
r := BLimit(r + Random(Amount) - i);
g := BLimit(g + Random(Amount) - i);
b := BLimit(b + Random(Amount) - i);
end;
Inc(Dest);
end;
end;
end;

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

AddNoise(FBitmap, 65, False);

Powered WP Ъ скачать delphi, delphi 7, скачать delphi 7, delphi файлы, delphi, компоненты, delphi 2009, delphi программы, delphi бесплатно, delphi скачать, бесплатно работа delphi, delphi создание, delphi строки, программирования delphi, borland delphi, delphi формы