ÿþL a b o r a t o r i u m n r 1 1 / 3
G r a f i k a K o m p u t e r o w a 2 D
I n s t r u k c j a
l a b o r a t o r y j n a T e m a t : W p r o w a d z e n i a d o b i b l i o t e k i g r a f i c z n e j A l l e g r o
P r z y g o t o w a B: d r i n |. G r z e g o r z Au k a w s k i , m g r i n |. M a c i e j L a s o t a
1
1 ) W p r o w a d z e n i e d o b i b l i o t e k i g r a f i c z n e j A l l e g r o
A l l e g r o h t t p : / / a l l e g . s o u r c e f o r g e . n e t / j e s t d a r m o w b i b l i o t e k r o z p o w s z e c h n i a n n a
z a s a d a c h l i c e n c j i G i f t - W a r e z p e Bn y m d a r m o w y m k o d e m zr ó d Bo w y m . B i b l i o t e k a t a z o s t a Ba
n a p i s a n a w c a Bo [c i w j z y k u C ( z d o d a t k o w y m i w s t a w k a m i A s e m b l e r a ) w 1 9 9 6 r o k u p r z e z
S h a w n H a r g r e a v e s i w y k o r z y s t y w a n a j e s t g Bó w n i e d o t w o r z e n i a a n i m a c j i o r a z g i e r . B i b l i o t e k a
A l l e g r o j e s t w p e Bn i p r z e n o [n a , w s p i e r a w i k s z o [ o b e c n i e d o s t p n y c h p l a t f o r m
s y s t e m o w y c h D O S / W i n d o w s / U N I X / L i n u x / M a c O S / Q N X / B e O S .
A l l e g r o p o s i a d a s z e r e g f u n k c j i s Bu |c y c h d o o b s Bu g i g r a f i k i , d zw i k u , u r z d z e D
p e r y f e r y j n y c h , c z a s u . Z a p e w n i a s t a Bo i z m i e n n o p r z e c i n k o w e o p e r a c j e m a t e m a t y c z n e , f u n k c j e
2 D / 3 D o p e r a c j e n a p l i k a c h o r a z f u n k c j e t w o r z e n i a G U I . I s t n i e j e d o d a t k o w a b i b l i o t e k a
A l l e g r o G L i m p l e m e n t u j c a O p e n G L d o w y k o r z y s t a n i a z b i b l i o t e k A l l e g r o .
1 . 1 ) O r g a n i z a c j a e k r a n u
X
( 0 , 0 )
O b s z a r w i d o c z n y
Y
O b s z a r n i e w i d o c z n y ( w i r t u a l n y ) , w
p a m i c i k a r t y g r a f i c z n e j
W t r y b i e g r a f i c z n y m b i b l i o t e k i A l l e g r o p r o g r a m i s t a m a m o |l i w o [ k o n t r o l i
p o j e d y n c z y c h p i k s e l i e k r a n u ( t z w . B i t m a p y ) . N i e z a l e |n i e o d w y b r a n e g o t r y b u , w s p ó Br z d n e
p i k s e l i w s k a z y w a n e s z a p o m o c w s p ó Br z d n y c h X ( w p o z i o m i e ) i Y ( w p i o n i e ) . P o c z t e k
u k Ba d u w s p ó Br z d n e g o z n a j d u j e s i w l e w y m g ó r n y m r o g u .
L a b o r a t o r i u m n r 1 2 / 3
1 . 2 ) I n i c j a l i z a c j a b i b l i o t e k i o r a z w y b ó r t r y b u g r a f i c z n e g o
W c e l u i n i c j a l i z a c j i b i b l i o t e k i A l l e g r o , n a p o c z t k u p r o g r a m u w y w o Bu j e m y f u n k c j :
a l l e g r o _ i n i t ( ) ;
T r y b g r a f i c z n y i n i c j u j e m y z a p o m o c f u n k c j i :
s e t _ g f x _ m o d e ( i n t d r i v e r , i n t w , i n t h , i n t v _ w , i n t v _ h ) ;
P i e r w s z y p a r a m e t r o k r e [l a s p o s ó b i n i c j o w a n i a t r y b u g r a f i c z n e g o , k o l e j n e d w a
p a r a m e t r y o k r e [l a j w y s o k o [ o r a z s z e r o k o [ o b s z a r u w i d o c z n e g o n a e k r a n i e m o n i t o r a .
O s t a t n i e d w a p a r a m e t r y o k r e [l a j m i n i m a l n e r o z m i a r y o b s z a r u w i r t u a l n e g o w p a m i c i k a r t y
g r a f i c z n e j s t a n d a r d o w o u s t a w i a m y n a 0 .
G F X _ A U T O D E T E C T
b i b l i o t e k a A l l e g r o s a m a w y k r y w a i u s t a w i a t r y b g r a f i c z n y ,
G F X _ A U T O D E T E C T _ F U L L S C R E E N
t r y b p e Bn o e k r a n o w y ,
G F X _ A U T O D E T E C T _ W I N D O W E D
D r i v e r
t r y b o k i e n k o w y ,
G F X _ S A F E
t r y b b e z p i e c z n y ,
G F X _ T E X T
t r y b t e k s t o w y ( 8 0 x 2 5 ) .
W S z e r o k o [ o b s z a r u w i d o c z n e g o
H W y s o k o [ o b s z a r u w i d o c z n e g o
V _ W M i n i m a l n a s z e r o k o [ o b s z a r u w i r t u a l n e g o
V _ H M i n i m a l n a w y s o k o [ o b s z a r u w i r t u a l n e g o
P r z e d z a k o Dc z e n i e m p r o g r a m u n a l e |y z a k o Dc z y z a i n i c j a l i z o w a n b i b l i o t e k A l l e g r o ,
p o p r z e z w y w o Ba n i e f u n k c j i :
a l l e g r o _ e x i t ( ) ;
P r z y k Ba d 1 :
i n t m a i n ( )
{
a l l e g r o _ i n i t ( ) ;
i f ( s e t _ g f x _ m o d e ( G F X _ A U T O D E T E C T , 3 2 0 , 2 0 0 , 0 , 0 ) ! = 0 )
{
a l l e g r o _ m e s s a g e ( " P r o b l e m z u s t a w i e n i e m t r y b u g r a f i c z n e g o \ n " ) ;
}
/ / k o d p r o g r a m u
a l l e g r o _ e x i t ( ) ;
r e t u r n 0 ;
}
E N D _ O F _ M A I N ( ) ;
L a b o r a t o r i u m n r 1 3 / 3
1 . 3 ) O r g a n i z a c j a o b s z a r u w i d o c z n e g o
O b s z a r w i d o c z n y w b i b l i o t e c e A l l e g r o o p i s y w a n y j e s t z a p o m o c s t r u k t u r y B I T M A P .
D w i e n a j w a |n i e j s z e s k Ba d o w e t e j s t r u k t u r y t o w m a k s y m a l n a s z e r o k o [ ( X ) o r a z h
m a k s y m a l n a w y s o k o [ ( Y ) . W y w o Ba n i e f u n k c j i s e t _ g f x _ m o d e ( ) t w o r z y a u t o m a t y c z n i e w
p a m i c i k a r t y g r a f i c z n e j o b s z a r w i r t u a l n y o r a z o b s z a r w i d o c z n y , w z a l e |n o [c i o d p a r a m e t r ó w
j a k z o s t a By p o d a n e p o d c z a s w y w o Ba n i a f u n k c j i . A u t o m a t y c z n i e t w o r z o n a j e s t t e | z m i e n n a
s c r e e n b d c a w s k a zn i k i e m n a s t r u k t u r B I T M A P .
1 . 4 ) N a j w a |n i e j s z e f u n k c j e r y s u j c e
N a z w a f u n k c j i P a r a m e t r y O p i s
F u n k c j a u s t a w i a p i k s e l o
p u t p i x e l v o i d p u t p i x e l ( B I T M A P * b m p , i n t x , i n t y , i n t c o l o r ) d a n y m k o l o r z e w e w s k a z a n y m
p u n k c i e b i t m a p y
F u n k c j a p o b i e r a k o l o r
g e t p i x e l i n t g e t p i x e l ( B I T M A P * b m p , i n t x , i n t y ;
w s k a z a n e g o p i k s e l a b i t m a p y
F u n k c j a u s t a w i a i z w r a c a
m a k e c o l i n t m a k e c o l ( i n t r , i n t g , i n t b ) k o l o r , p o d a n y w p o s t a c i R G B
( 0 - 2 5 5 )
F u n k c j a c z y [c i o b s z a r
c l e a r _ b i t m a p v o i d c l e a r _ b i t m a p ( B I T M A P * b i t m a p ) w i d o c z n y i u s t a w i a k o l o r
o b s z a r u R G B ( 0 , 0 , 0 )
F u n k c j a r y s u j c a o k r g w e
v o i d c i r c l e ( B I T M A P * b m p , i n t x , i n t y , i n t r a d i u s , i n t
c i r c l e w s k a z a n y m p u n k c i e ,
c o l o r )
p r o m i e n i u i k o l o r z e
v o i d c i r c l e f i l l ( B I T M A P * b m p , i n t x , i n t y , i n t r a d i u s , F u n k c j a r y s u j c a w y p e Bn i o n y
c i r c l e f i l l
i n t c o l o r ) o k r g
F u n k c j a r y s u j c a p r o s t o k t o
v o i d r e c t ( B I T M A P * b m p , i n t x 1 , i n t y 1 , i n t x 2 , i n t y 2 , l e w y m g ó r n y m r o g u w p u n k c i e
r e c t
i n t c o l o r ) ( x 1 , y 1 ) i p r a w y m d o l n y m r o g u
( x 2 , y 2 )
v o i d r e c t f i l l ( B I T M A P * b m p , i n t x 1 , i n t y 1 , i n t x 2 , i n t F u n k c j a r y s u j c a w y p e Bn i o n y
r e c t f i l l
y 2 , i n t c o l o r ) p r o s t o k t
F u n k c j a r y s u j c a t r ó j k t
v o i d t r i a n g l e ( B I T M A P * b m p , i n t x 1 , y 1 , x 2 , y 2 , x 3 ,
t r i a n g l e m i d z y t r z e m a p o d a n y m i
y 3 , i n t c o l o r )
p u n k t a m i
F u n k c j a w y p e Bn i a j c a
z a m k n i t y o b s z a r d a n y m
f l o o d f i l l v o i d f l o o d f i l l ( B I T M A P * b m p , i n t x , i n t y , i n t c o l o r )
k o l o r e m , w e w n t r z k t ó r e g o
z n a j d u j e s i p u n k t ( x , y )
F u n k c j a r y s u j c a l i n i m i e d z y
v o i d l i n e ( B I T M A P * b m p , i n t x 1 , i n t y 1 , i n t x 2 , i n t y 2 ,
l i n e d w o m a p o d a n y m i p u n k t a m i , o
i n t c o l o r )
d a n y m k o l o r z e
Wyszukiwarka
Podobne podstrony:
Laboratorium grafika2D 4Laboratorium grafika3D 4Laboratorium grafika2D 7Laboratorium grafika3D 7Laboratorium grafika2D 3Laboratorium grafika3D 3Laboratorium grafika3D 5Laboratorium grafika3D 6Laboratorium grafika3D 2Laboratorium grafika2D 2Laboratorium grafika2D 6Laboratorium grafika3D 1Rola laboratoriów w świetle wymagań systemów zarządzania jakosciąLaboratorium 3Arch grafika osnovi kompozicii grigoryanwięcej podobnych podstron