На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Графика / Размыть изображение Сделать домашней страницей Добавить в избранное Написать писмо

Размыть изображение


В этом способе цвету каждой точки присваивается среднее значение цветов соседних точек.


procedure TForm1.Button1Click(Sender: TObject);
const
  width = 100;
  height = 60;
  d = 2;
var
  x, y: integer;
  i, j: integer;
  c: integer;
  Pix: array [0..width-1, 0..height-1] of byte;
begin
  randomize;
  with Form1.Canvas do
  begin
    Font.name := 'Arial';
    Font.Size := 30;
    TextOut(d, d, 'Text');
    for y := 0 to height - 1 do
      for x := 0 to width - 1 do
        Pix[x,y] := GetRValue(Pixels[x,y]);
    for y := d to height - d - 1 do
    begin
      for x := d to width - d - 1 do
      begin
        c := 0;
        for i := -d to d do
          for j := -d to d do
            c := c + Pix[x+i,y+j];
        c := round(c / sqr(2 * d + 1));
        Pixels[x,y] := RGB(c, c, c);
      end;
      Application.ProcessMessages;
    end;
  end;
end;


Copyright ©   "DELPHI WORLD"   E-mail:   delphiworld@mail.ru  http://www.delphiworld.narod.ru
Источник получения информации: http://www.delphiworld.narod.ru
Hosted by uCoz