C l = C o lo r A n d 2 5 5
C 2 = ( C o lo r \ 2 5 6 ) A n d 2 55
C3 = ( C o lo r \ 6 5 5 3 6 ) A n d 2 5 5
C o lo r = RGB ( N o t C l , N o t C 2 , N o t C 3 )
P ic 2 . P S e t (X , Y ) , C o lo r
N e xt Y
D oEvents
N e xt X
E n d S u b
Эффект №4. Резкость
С у ть о л го р и тм а п овы ш ен и я р езко сти
с о сто и т в вы делении о б л а сте й вы со ко й
и нтен си вности . О б ы ч н о это дел оется пу-
те м п р и б а вл е н и я к каж д о й о б р о б о т ы -
в о е м о й то ч ке и зо б р а ж е н и я той р а з н и -
цы в цвете, к о то р а я н а б л ю д а е тся м е ж -
д у д а н н о й точкой и со се д н е й . В отл ич ие
о т а л го р и тм о в п р ош л ы х эф ф ектов, н а м
придется ск а н и р о в а ть и з о б р а ж е н и е два
р о з а — в м о сс и в и н а э кр а н . К о н ста н -
т а K S h a r p б уд е т о п ред ел ять коэф ф ици -
е н т р езко сти .
\
X size% ,
«.Рисунок (эффект № 5)
~ Г У "
D im С1% , С2% , С3% , X'
Y s iz e & , C o lo r s
D im R F x () A s I n t e g e r , G P x () A s
I n t e g e r , B P x ( ) A s I n t e g e r
C o n s t K S h a r p «= 0.5
P r i v a t e S u b C m d _ C lic k ( )
P i c l . S c a le M o d e = P i x e l
P ic 2 . S c a le M o d e «=
P i x e l
P i c 2 . C l s
X s i z e «=
I n t ( S c a l e X ( P i c l . P i c t u r e .
W id t h , v b H im e t r ic , v b P i x e l s ) )
Y s i z e = I n t ( S c a l e Y ( P i c l . P i c t u r e .
H e ig h t , v b H im e t r ic , v b P i x e l s ) )
R e D im R P x ( 0 T o X s i z e , О т о Y s iz e )
R e D im G P x (0 T o X s i z e , О т о Y s iz e )
R e D im B P x ( 0 T o X s i z e , О т о Y s iz e )
F o r X = 0 TO X s i z e
F o r Y = 0 TO Y s iz e
C o lo r = P i c l . P o i n t ( X , Y )
I f c o l o r < 0 T h e n E x i t F o r
R P x ( X , Y ) «= CO lO r A n d 2 5 5
G P x (X , Y ) = ( C o lo r \ 2 5 6 ) A n d 2 5 5
B P x ( X , Y ) = ( C O lO r \ 6 5 5 3 6 ) A n d 2 55
N e x t Y
N e x t X
F o r X = 1 TO x s iz e
F o r Y = 1 TO Y s iz e
R P X ( X , Y ) = R P x (X , Y ) + K S h a r p *
( R P X ( X , Y ) — R P x ( X — 1 , Y — 1 ) )
G P x ( X , Y ) = G P x (X , Y ) + K S h a r p *
( G P x ( X , Y ) — G P x (X — 1 , Y — 1 ) )
B PX (X , Y) = B P X (X , Y) + K S h a rp * (B P x (x ,
Y) - B P x ( X - l , Y — 1 ))
I f R P x ( X , Y ) < 0 T h e n R P x ( X , Y ) = 0
I f G P x (X , Y ) < 0 T h e n G P x ( X , Y ) = 0
I f B P x ( X , Y ) < 0 T h e n B P x ( X , Y ) = 0
I f R E x (X , Y ) > 255 T h e n R P x (X , Y ) «=255
I f G P x (X , Y ) > 255 T hen G P x (X , Y ) «=
255
I f B P x (X , Y ) > 255 T h e n B P x (X , Y ) = 255
C O lO r = RGB ( R P x ( X , Y ) , G P x ( X , Y ) , B P x
( X , Y ) )
P ic 2 . P S e t (X , Y ) , c o l o r
N e x t Y
D o E v e n ts
N e x t X
E n d S u b
Эффект № 5. Размытие
Как можно догадоться, это эффект, про-
тивоположный резкости, поэтому и действо-
вать мы будем противоположным оброзом,
т.е. строки изменений примут такой вид:
Рисунок (эффект № 7)
л
Рисунок (эффект № 8)
N e xt Y
D oEvents
N e xt X
R P x ( X , Y ) = R P x ( X , Y ) - K S h a r p *
( R P x ( X , Y ) — R P x (X — 1 , Y - 1 ) )
G P x (X , Y ) = G P x ( X , Y ) - K S h a r p *
( G P x ( X , Y ) — G P x ( X — 1 , Y - 1 ) )
B P x (X , Y ) «=
B P x ( X , Y ) - K S h a r p *
( B P x ( X , Y ) — B P x ( X — 1 , Y - 1 ) )
Конечно, здесь розумнеє назвать
константу
K b lu r ,
но Bosic'y это не очень-
то вожно ©.
Эффект №6. Гравюра
Я не буду опять переписывоть весь
код; отличия этого алгоритма от преды-
дущего сводятся к замене операций над
точками. Кроме того, вместо константы
резкости здесь будет константа глуби-
ны — назовем ее
Em b
(значения 0-255).
Второй цикл будет выглядеть так:
F o r X = 0 ТО X s iz e - 1
F o r Y «=
0 ТО Y S iz e — 1
R P x ( X , Y ) « = A b s (R P x (X , Y ) — R P x (X +
1 , Y + 1 ) + Em b)
G P x (X , Y ) = A b s ( G P x ( X , Y ) - G P x ( X +
1 , Y + 1 ) + Em b)
B P x ( X , Y ) «=
A b s ( B P X ( X , Y ) - B P x ( X +
1 , Y + 1 ) + Em b)
C o lo r = RGB ( R P x ( X , Y ) , G P x ( X , Y ) ,
B P X ( X , Y ) )
P ic 2 . P S e t (X , Y ) , C o lo r
N e x t Y
D o E v e n ts
N e x t X
Эффект №7. Контур
На сом ом деле эффект кон ту-
ра — это то же гравю ра с глуби-
ной
Emb«=0.
То есть, изменив зноче-
ние константы, мы и получим тре-
буемый эффект.
Эффект №8. Рельеф
Э то т
эффект похож
н а
гравюру, един-
ственным отличием будет взятие точки
не снизу справа, а нооборот, сверху
слево. Второй цикл будет выглядеть ток:
F o r X = 1 ТО X s iz e
F o r Y
= 1 То
Y s iz e
R P x ( X , Y ) = A b s ( R P x ( X , Y ) - R P x ( X -
1 , Y - 1 ) + Em b)
G P X (X , Y ) = A b s ( G P x ( X , Y ) — G P X (X —
1 , Y — 1 ) + Em b)
B P x ( X , Y ) = A b s ( B P x ( X , Y ) - B P X ( X -
1 , Y — 1 ) + Em b)
c o l o r = R G B (R P X (X , Y ) , G P x ( X , Y ) ,
B P X ( X , Y ) )
P ic 2 . P S e t ( X , Y ) , C o lo r
(П родолжение следует)
М О Й КОМПЬЮТЕР
предыдущая страница 40 Мой Компьютер 2005 03 читать онлайн следующая страница 42 Мой Компьютер 2005 03 читать онлайн Домой Выключить/включить текст