Показать сообщение отдельно
Старый 21.02.2015, 10:11   #1
Sashkakuhta
AnyKey`щик
 
Регистрация: 28.03.2014
Сообщений: 8
Написано 3 полезных сообщений
(для 3 пользователей)
Разложение изображения?

Кратко говоря, мне нужно получить "тот самый" эффект разложения изображения или расхождения цветовых каналов (Хочу того, сам не знаю чего). Меня хватило только на этот код:
Function decayimage(image,offset=0)

;
decayed image

Cls
DrawImage
(image,0,0)
Color 0,127,255
Plot 1
,2
Color 255
,127,0
Plot 2
,2
Flip                                                 
"Пробы" цветов
LockBuffer BackBuffer
()
argbmidred=ReadPixelFast(2,2)
argbmidblue=ReadPixelFast(1,2)
argbblack=ReadPixelFast(0,0)
For 
y=1 To ImageWidth(image)
For 
x=1 To ImageHeight(image)
argb=ReadPixelFast(x,y)
If 
Not argb=argbblack Or argb=argbmidred Or argb=argbmidblue
WritePixelFast x
-offset,y,argbmidred
WritePixelFast x
+offset,y,argbmidblue
WritePixelFast x
,y,ReadPixelFast(x,y)
End If
Next
Next
UnlockBuffer BackBuffer
()
End Function 
Этот код совсем не пригоден для использования в риалтайме, и работает неправильно с изображениями где мало черного цвета. Есть у кого нормальные альтернативы?

Последний раз редактировалось Sashkakuhta, 21.02.2015 в 10:28. Причина: Чуть подправил, работало совсем неправильно
(Offline)
 
Ответить с цитированием