$727.13


$18.59


$469.14


Cмешение цветов с помощью Delphi

Привет всем. Сегодня мы будем писать програмку, которая может размыть картинку.

Бросай на форму Timage и Tbutton имена оставь по умолчанию, создавай событие button1.click вот его код:

procedure TForm1.button1Click(Sender: TObject);
    var x, y: integer;
    i, j,h:integer;
    r,g,b,r1,g1,b1,r2,g2,b2,r3,r4,g3,g4,b3,b4,r5,r6,r7,r8,g5,g6,g7,g8,b5,b6,b7,b8:byte;
    c,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10:tcolor;
begin
application.ProcessMessages;
for y := 1 to image1.picture.height — 1 do begin
  application.ProcessMessages;
  for x := 1 to image1.picture.width — 1 do begin

   c1 := (image1.Canvas.Pixels[x — 1,y+1]);
   c2 := (image1.Canvas.Pixels[x — 1,y — 1]);
   c3 := (image1.Canvas.Pixels[x+1,y+1]);
   c4 := (image1.Canvas.Pixels[x+1,y — 1]);
   c5 := (image1.Canvas.Pixels[x,y — 1]);
   c6 := (image1.Canvas.Pixels[x,y+1]);
   c7 := (image1.Canvas.Pixels[x — 1,y]);
   c8 := (image1.Canvas.Pixels[x+1,y]);
   c9:=(image1.Canvas.Pixels[x,y]);////по 9-ий пиксель
   ///////получение значений красного синего
   r:=getrvalue(c7); g:=getgvalue(c7); b:=getbvalue(c7);

   r1:=getrvalue(c8); g1:=getgvalue(c8); b1:=getbvalue(c8);
   r2:=getrvalue(c9); g2:=getgvalue(c9); b2:=getbvalue(c9);
   r3:=getrvalue(c6); g3:=getgvalue(c6); b3:=getbvalue(c6);
   r4:=getrvalue(c5); g4:=getgvalue(c5); b4:=getbvalue(c5);
   r5:=getrvalue(c4); g5:=getgvalue(c4); b5:=getbvalue(c4);
   r6:=getrvalue(c3); g6:=getgvalue(c3); b6:=getbvalue(c3);
   r7:=getrvalue(c2); g7:=getgvalue(c2); b7:=getbvalue(c2);
   r8:=getrvalue(c1); g8:=getgvalue(c1); b8:=getbvalue(c1);
   r:=round((r+r1+r2+r3+r4+r5+r6+r7+r8)/9);
   g:=round((g+g1+g2+g3+g4+g5+g6+g7+g8)/9);
   b:=round((b+b1+b2+b3+b4+b5+b6+b7+b8)/9);
   c10 :=rgb(r,g,b);
   ControlStyle := ControlStyle + [ csOpaque ];
   image1.Canvas.Pixels[x,y] := c10;
  end;
end;
end;

Вот и все упростите код, введите массивы и т.д.

 

Интересное

Оператор перехода
И в Delphi и в Turbo Pascal’e есть этот оператор- оператор перехода. Кто-то его называет: «оператор прыжка». Довольно интересный оператор, с моей точки зрения. Он может помочь, а может и...
Подробнее...
Безопасная настройка PHP...
ПредисловиеПриходится признать, что операционные системы Windows не собираются уходить в небытие. Игнорировать этот факт нельзя, поэтому нужно научиться мирно сосуществовать с таковыми. Как...
Подробнее...
Средства Delphi 7 для...
Рассмотрим наборы компонентов, которые присутствуют в библиотеке компонентов delphi 7, предназначенных для работы с базами данных. Вы узнаете, что такое набор данных, источник данных и...
Подробнее...
Cмогут ли пауки...
Основа вашей уверенности в том, что сайт появится в индексной базе поисковой системы, это «успешный» программный код. В конце концов, если робот не может проиндексировать ваших страниц, тогда...
Подробнее...
Применение терминала сбора...
Терминал сбора данных - функциональное устройство, предназначенное для управления товарооборотом. К потребителю он попадает вместе со встроенным сканером, позволяющим распознавать многочисленные...
Подробнее...
Метатэги
Здесь можно расслабиться. :)В противоположность многочисленным утверждениям о важности правильного использования тэгов META, вам предстоит сейчас узнать о том, что это не так уж и важно.
Подробнее...
Средства восстановления...
Чтобы ни говорили про повышенную надежность Windows 2000/ХР, иногда она все же подводит. Правда, по сравнению со своими предшественницами Windows 9x/Me это случается гораздо реже. А поскольку...
Подробнее...
О Windows Vista
<img src=«http://i-faq.ru/uploads/posts/2007-09/1189807052_[b]windows[/b]_vista_logo.png» align=«left» style=«border: none;» alt=«О Windows Vista» />О Windows Vista слышали если не все, то, как...
Подробнее...
Проблема медленного...
Кто бы чего не говорил, но операционная система Windows XP, зарекомендовала себя как достаточно надежная (при надлежащем отношении). Моя копия Windows XP SP1, в последующем обновленная до SP2,...
Подробнее...
Общая информация по XP
1.1. Что такое WindowsXP? Это новая OC от компании Microsoft, в которой сделана попытка объединить две, ранее существовавшие независимо, линейки W9x и NT. Первоначально этот проект назывался...
Подробнее...