скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

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



Google  
 

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



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


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 © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook