Показать сообщение отдельно
Старый 03.06.2011, 10:55   #3
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Размытость

Косячная реализация бай ми.
function blue(color:integer):integer
begin 
color
:=color+16777216
blue:=color mod 256
end

function 
green(color:integer):integer
begin 
color
:=color+16777216
color:=color div 256;  
green:=color mod 256;  
end

function 
red(color:integer):integer
begin 
color
:=color+16777216
color:=color div 65536
red:=color mod 256;  
end

function 
blur(img:imagew,h:integer):image;
var 
scr:image;
begin
scr
:=imagefromcanvas(0,0,w,h);
for 
i:=0 to w-do
for 
j:=0 to h-do begin
    setcolor
((red(getcolor(im,i,j))*2+red(getcolor(im,i+1,j))+red(getcolor(im,i,j+1))+red(getcolor(im,i+1,j+1))) div 5,
    (
green(getcolor(im,i,j))*2+green(getcolor(im,i+1,j))+green(getcolor(im,i,j+1))+green(getcolor(im,i+1,j+1))) div 5,
    (
blue(getcolor(im,i,j))*2+blue(getcolor(im,i+1,j))+blue(getcolor(im,i,j+1))+blue(getcolor(im,i+1,j+1))) div 5);
    
plot(i,j);
end;
blur:=imagefromcanvas(0,0,20,20);
drawimage(scr,0,0);
end
Результат (разблюрен квадрат 20х20 слева):
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо cherepets за это полезное сообщение:
JACUK (03.06.2011), Trazzy (03.06.2011)