8/14/2019 CDI
1/29
8/14/2019 CDI
2/29
GDI28from
!"#$%&'()*+,-.
/01/2%+,-()34567829.56789:9.
;9:>2>??????????????
6782>@A&B@C,ADEAFGH%IE@/81JEK7LM.
&BNO'346789:>@A&BG(9:9H%IE@/81JE@C,HLM-
K7P7.
8/14/2019 CDI
3/29
GDI28fromQ
&BNO'34
+J%('R+00&H/-*7@*A1JS
6789:>TU6782>1JTUVO+0W".
GDIGraphics Device Interface
NOXBEY678(2>-JTU&Z=6[EE*A\]RH"R!J.
^H*A#Z2*_YG8/L=VD6D.
DIRECTX &+J%H*7+0-*A*A&H/6789:967829']J.
%&F*AE6H*AZ%8`'+'%(V&7-T-E'JY*TDaH8&'bGZ-9cdRR-E'
bd-[6E%...........e@G*A#HfJ-6E;DADEAHg^H*AHZ2
LLh-=*AbDlld/+,-L:UHfJ2%
[:[:/ER. UYZ,L061%348hh6@fJ1*7G&0`'+'%1*7G=G8
G%HHG_Y%%*7GP`'+'%8hh6(@fJ8*7GL:U.
U1A`'+'%hC,(H@f/%8PY/%:`'+'%-6i6/=,^HV&7N/G`'+'%8%
MJ.
8/14/2019 CDI
4/29
GDI28fromj
'8Nk%!JDEZC,34
8/14/2019 CDI
5/29
GDI28fromo
ADEA,**,*&'DEZNO'bPointd
7*Da'@E=8;66aGH0G@E=E/%*AAM2-
@E=E/%*AM,Z0@E=a'FJ`.+2%*J10G:bPointd
M29":>%0+2%bPointdXA+2%9"DEZ'2/EY*b"81H/dYDEZ'h6ZEY*A+2%9"b"81H/d
_EU70%+2%J0h6Z2/9"8h(0+,';H*U6`%Y.
]R,>]a&7@E=9")G(='*A!72J\
#$GhFJDa'.JGK
8/14/2019 CDI
6/29
8/14/2019 CDI
7/29
GDI28fromv
L?)="
1J*6'L(',&0L>uG#%+,-u8.1A_EU8ga'G%L"278g=Gw
@A&BGSa'EFu0DuG.8G1JG8,8[S
8/14/2019 CDI
8/29
GDI28fromy
="
7P/L>PM,%,8P/L>-01%U*A`6'8,934x=@:0:%YGb+,-LR81JE
8/14/2019 CDI
9/29
GDI28from|
Form1.Handle
*0E0M7%[:'b@E=d7&7^2%@C26U'hs%YG2%'.
*A1JJhNM/%YG2%8*HJ*7;@}}0}}}}"}}h}}}}h}}6}}}}(}}}}}}}}LT}}}}(=}}'}}!}}A}}}}8}}}}8}}}}}}}},}}}}}}rrrrrrrrrrr1J
L:Uhh6(&ZG%34System. Drawing
@A){%71081JGra*A1JJhNM/%"34Public Gra As System.Drawing.Graphics
h6YG#%l2)~Zf+08+,
#$G@E=:>*A1J6L:U;34
Public Gra As System.Drawing.Graphics = Gra.Fromhwnd(Me.Handle)
G6"h@E=H*A1JJ0E%NT8+,1%U2E^*A1Jk%2%Button*A#%'8('19@E=*A8E6
634Public Gra As System.Drawing.Graphics = Gra.Fromhwnd(Button1.Handle)
*A1J*@E=*ANMJ>'a"2%.
8/14/2019 CDI
10/29
GDI28from
/QF="
%7+,-GG*AgA/G-J*A@
&>G-JDJ34
RS/7.TU"HVEllipseI7"/A6Rectangle
*CurveW8Arc
/6XLineIS.Polygon
YEImage
7-Z?String
&7(='LR8D1JE6'&ZG{'8H")GH73
4RS/7.TU"HVF
l2)aY10b1JNMJd
Public Gra As System.Drawing.Graphics = Gra.Fromhwnd(Me.Handle)
pYp"h6(10bPaintdL>&J*A@E=*3
Gra.Drawellipse(Pens.Blue, 0, 0, 120, 120)
X=*AF)ki,&)R8F5*A1J1G0@E=hJ6E%'
DbDrawd.
8/14/2019 CDI
11/29
GDI28from
1JE27,>LR8NM/*AGra*(%MbFilld.[E&Z=H*A!7,!J%MGbW>&Z=d
hk&R1JE+$E;,gC,+=%E`=,@f/J,1JE6'
KADDLnVh/%86D6'3
)80,120,0,0,Blue.Pens(Drawellipse.Gra
4/A6I7"@RectangleB
&M/1JG!J,8D1JE6'*A+7GD61JG{'+*7G
b(Rectangle&M/!7G+,&M/7*Oh/G*%/$7*O%
LY&M/V.&M/1JE6'h2*3
7n*A1JJhNM/%YGDMUL3
Public Gra As Graphics = Gra.Fromhwnd(Me.Handle)
G%1J]p"1J6'('DMU,GbButtond*A6#'L>&J:>G*AF)kp"
Gra.Fillrectangle(Brushes.Black, 0, 0, 100, 200)
D1JE6'*A+7G+,6H6XR%G8,A1*1J%Y+0D1JE6'!:U%bDrawd2
1J(%n&M/1JE*bBrushd.(='*A!7G!JD@fJ
8/14/2019 CDI
12/29
GDI28from
h/%E0+,';bQqSQqd[0`D6NZ%[.
[G*=E@CurveB&HJ`%R7Y2Y21JE??????????????%R-a'E
%J1J2J82Y2L>7a'E+,-`
8/14/2019 CDI
13/29
GDI28fromQ
1%2=ZADEAH,>D"M,ADEA8H2M/A2Y21JE6',>M/
1J%YG6*7b2Y2d2Y2bPens.Blued2(=Z2Y21JHGa".
HJ&GMGL:UH7J%a%7=*U=f%+*0'6`+,-
hh6.
o4/6X=E@LineFB
1J(D'&HJ=%H,%M,ADEA1/FfbPointsd9"+2%&'b[Sd
/%H/1/ Ff1JJ8, 2Y21J*7G7AS1JE6'1/Ff3
Gra.Drawline(Pens.Blue, X1, Y1, X2, Y2)
Gra.Drawline(Pens.Blue, 20, 20, 200, 20)
8/14/2019 CDI
14/29
GDI28fromj
0-6^*'bX2 , Y2d1AbX1 , Y1dD6%aE`=21/FfLn6^*',>1.
hD&'1D)GL"67VG383V*k[IEF,%YG*A#%
Dim P1 AsNew Point(100, 200)
Dim P2 AsNew Point(120, 240)
Dim P3 AsNew Point(200, 100)
Dim P4 AsNew Point(100, 150)[Im6%^+,-6E;F,(7E[IE(7E-U,L>
%GM2)aY*AF2/2a"(%n`=2.,93HG6"[IF2(=Z&Y%)]B,
Dim Pof As Pointf() = {P1, P2, P3, P4}
>93HGUF2G6"hNM/*AV*k1JEGra.Fillpolygon_
(Brushes.Blue, _
Pof, _
Drawing2D.Fillmode.Alternate)
EAL8M/NM/*AV*k1JEADbGrad/DaY+0h.
DR=ADEA,>M/b
8/14/2019 CDI
15/29
GDI28fromo
V*kH1J,F2(=ZADEAW>M/1JEV*k1J%nGV*k1JE@C,ADEAVM/
V*kYV*k,>#V*k@C2
1J6G"M/DBAFf1"ADEAW>M/bd
HYO_YG8H7G+,Mf*A-9cADEAVM/.EfG&k8RB*/2Ff1"[0m"[6/`fM/
**bMillimeterdD-"*A!7,!JJJ8D"\]R[E.
]BG'Z21JE2%83Gra.Drawstring("Alaa Gomaa", F, Brushes.Blue, 100, 100)
Gra.Drawstring( _
"Alaa Gomaa" _
, F, _
Brushes.Blue _
, 100, 100)
8/14/2019 CDI
16/29
GDI28fromq
Drawstring 1Jl,*A1JJhNM/L8M/bZ,1JEd ]BG#'JE%Gh~2H,>M/.
JE%GhFf~ZUDEAW>M/l2)-a"
bFont.dJE%GhFfVM/b=.
(%MNM/*ADEZ1J+0+,i%8(%n&A ,>]a\]RJHDEZ*A-9cb-MGhh6d.
*ADEZ1JE&06#G#DEZ*E6&7@G-E;NM/3
Bit.Rotateflip(Rotatefliptype.Rotate270FlipXY)
2%`7A/EADGE6]JE*D%Al,6
D%GEl,hEfG6G.
8/14/2019 CDI
17/29
GDI28fromv
-2G-J1C7*A!7'nR27M00,U:>H2&*%+,3
Pie-;D6~0,VMBezier2Y2Icon,%
Closed CurveP*)2Y2H*7JXRH*A!7JH-M/&22J8
-J18]a3
8/14/2019 CDI
18/29
GDI28fromy
LQFG\")M8%1JJh1*
1*J[%1*J&>%,>&/1*J,6"L>2&/.
DRl2)aY20W>M/6*%6ADRbSolid Brushd9DTU]\")1HDR=")
%*1J*6J8*-U0.
8/14/2019 CDI
19/29
GDI28from|
TGDT\")
C>Hatch Brush
2>BrushentGradiLinear J>BrushGradientPath[>Solid Brush^>Texture Brush
HfJx=DV&7(='3
C>Hatch Brush="U."
()Gx=l,h"*ADR=DhYG+,-%7LRUau&ZG>'u/U&REZ'.
8u1JE(*AL@,34 D%YGNM/{%7103
Public Gra As System.Drawing.Graphics = Gra.Fromhwnd(Me.Handle)
H*RDR={%7103
Public Bru AsNew_
System.Drawing.Drawing2D.Hatchbrush( Drawing2D.Hatchstyle.Widedownwarddiagona
l, Color.Indianred, Color.Aquamarine)
8/14/2019 CDI
20/29
GDI28from
-M7(9:9G63Ual,ADEA=T8*L8L:UH1J#$G
U82%M7GUaLR8Eb>'U&R/
dW>M7Ef*VVn&BEUH,>M7.()G8"EU2%.
PM78#A/G,A10'(1JE6L>&J*AD6:>G*AF)kp"3
vqojQGra.Fillellipse(Bru, 0, 0, 200, 200)
U1%+,u8u7J%(]auz1H*A!7#$G63
5Gra*A1JJhNM/D=%7G1G/5JE#$Gh1J+,-()DG.
,":Gz(O1G2910EVMbFilld(%M1J1J*AL@fJ]*bBrush.d
u+,'bDrawdDR=`1J1*@f/J,.
Q58EU2%M7H1JJDR=%YG+,-D6O8SaY+0J2DR=EU2%'
ZZf@A)HbBrushd.j5*}}A1J}}}}V}}0}}}}%Y}}}}Zf}}%}}}}*}}}}}}}}`}}f}}}}}}V}}}}}}}}}}}}a}}}}
NM/bPositiondJEV#J2%1D)G2%.o5%YZf%*V/[6/a1"mu67Ju
KAl=GEX , Y:>%L>bSd
8/14/2019 CDI
21/29
GDI28from
L>L:UNk%;rrrrrr+,-8DH1JG{'383@,#%,67G'1J,hNM/{%7G~Zf*A
Public Gra As Graphics = Gra.Fromhwnd(Me.Handle)
,93l2H1J%,DR=EU@,#%Linear Gradient
Rl2)aY;D6ZDR=l,~Zf,DDim Bru AsNew _System.Drawing.Drawing2D.Lineargradientbrush( _
New Pointf(0, 10), _
New Pointf(10, 20), _
Color.Black,
Color.Azure)
oDR=1JADEAL8M/oDR=l,ADEA,>M/Linear GradientoM/@0EhEfG*ADR=*8M2ADEAW>
M2ADEAVM/.o%*H`fM/b8M2do%H2*ADEA[6/M/b,>M2d
>93*A8,>*"HGa"%*mR@f/GD%Gh1JG
bBru.d6C,,a"DR=H:,H,*,L>&J*AD61J2J
Gra.Fillellipse(Bru, 0, 0, 100, 100)
XRh8_YNO6.&)RHJED*ADR=9Gh1J8i,.
3Path Gradient Brush'//"0="7U."1J*@f/Gx=&lES-J@f/GDR=D
M/MUD6V+,-GV*k&B-:.hEZDHC,3
8/14/2019 CDI
22/29
GDI28from
mA*AhY%H2&'EZDHhG
&*02HG';LR8HJEZD+ZY=G>'+06+,-GbLines , Ellipse, Rectangle, PolygonEtc ,d
10E&B&M/1JE2%.
[(*MU(AADEAH2L8&B=*fH2%*G1G.
,!A*7DR=DV&7(='*A!7*L:UH*A!72J3
83l2)a"Graphics path%GhJ&B&Y%)
%*bLines , Ellipse, Rectangle, PolygonEtc ,d%YG-J*A70".
Dim Path AsNew Graphicspath()
Path.Addellipse(0, 0, 200, 100)
'7nL8M/6!7G+,)1J*AhY%Pathl,)Graphics Path.
@Gh&B*AhY,>M/%*Addellipse70k%".
,93
l2H%*%,DR=1J)a"PathgradientbrushJ)a"1GhJ&B*AhYGDR=DPath )d
'6J3 Dim Pthgrbrush AsNew Pathgradientbrush(Path)
J28EfGFDR=]B,+00.FJ8**U,*AhYGDR=DbCenter Colord*
FYbSurround Colord
20DR=~ZUL:U;&1Y,%HJ)aY
8/14/2019 CDI
23/29
GDI28fromQ
Pthgrbrush
6V2*3Dim Bluecolor As Color() = {Color.Blue}
Pthgrbrush.Surroundcolors = Bluecolor
Pthgrbrush.Centercolor = Color.Aqua
l2)*AhY%L8M/ColorJ&BFJ8*&Y%%*.
(TU,>M/Surround Colorh*2/,0FY*J),a".
m]O(E61YG2%%*FJ**AhY%W>M/&>"ZkG,'*
GGEa*A{G2A:>*7=G2%*R,LYGEa
DR=DfJ2ATfDH/=2+,*.D2=O%*@f/J&B%YG20/*"
DR=SY/LhDR=DHJ,%*G=23Gra.Fillellipse(Pthgrbrush, 0, 0, 200, 200)
M2*AD61J@2J6bd1YbdNM/*ADaY@GhbGrad*",a"DR=D%*@2J
/Pthgrbrush.&HJ6*A7GA-7Gh%8.
hh6-MGL:UDR=D&T=G0*A\]R!72J,>]a.4.Solid Brush'V]Y."K,V!
XB/[E2fJPJ0"*-;%67DR=R8+,--JL.DEZ'.L>&J*A.
8/14/2019 CDI
24/29
GDI28fromj
5.Texture BrushU."E?7
%**DETH@f/GDR=D
HC-;,1ZGDR=D@f/G,">'!7L>h2J.L>7VG3#%g^H*ADET68;%**DETH@f/,DR=1
DETl2)a"*AbBitmapd*ADEZE/&Y%)^H.
Dim Bit AsNew Bitmap("E:\2.Jpg")
)1J6NO'bBitdA,bBitmapd,^H("E:\2.Jpg")
l2DR={%7@G#%8Texture Brush)aY;
EZ1JDRl2Texture Brush3 Dim Bru AsNew System.Drawing.Texturebrush _
Bit _
,Drawing2D.Wrapmode.Tile _
, New Rectanglef(0, 0, 50, 50))
HA,DRl2)1JADEAL8M/Texture BrushDEZ/Da"1Gh)1JADEA,>M/bBitd
%*]29DEZKA(%nADEAW>M/bFlipd(/UADEA29DEZK7lO%*]ClampSTileSTileflipxTileflipxyTileflipy
L8VObClampdh-,E6&A)ZG'DEZG DEZ*#*0(*AbFlipd#,GL>*PMG2A>'H*A!7G!J.%Gh]aADEAVM/=Z(M,(%DEZ%*
bdV&R*AVM/]aEU1%&M/bRectangled2]a:>Ef,L>bood]BGEfG2%.
D61J,2A681YbdM2bd1JNMJbgrad:,,6ADR=3
gra.FillEllipse(bru, 0, 0, 200, 200)#,&BDEZ,*DRi,bTitled)G2%
K7
8/14/2019 CDI
25/29
GDI28fromo
&GM8
8/14/2019 CDI
26/29
GDI28fromq
Pen1.DashStyle = Drawing2D.DashStyle.DashDot
H1J@:08*Y%EUF8S,+=%E@G%,6'Mf*A9c&73
Pen1.LineJoin = Drawing2D.LineJoin.Bevel
1*MU*A-9*A!76gG!J*HJH.6'D-9c3
Pen1.DashPattern = New Single () {4.0F, 2.0F, 1.0F, 3.0F}
7nDashPatternUaMUADEAPJ&'&&8&2,HG9c@:08*A27G023
8/14/2019 CDI
27/29
GDI28fromv
_GK8D????rrrrrrr;{'
L0J32AH2G=ZGD]OE69:>8&'oo
27%=TG]OE6"8*hYGJ"8*AE6%HC%8SHGE9:>80HCG.:>h23
P)"8F"8*D61JE%G,K=,3'J6
l2)aYG#%8Dim col1 AsNew Color
col1 = Color.FromArgb(255, 255, 0, 0)
l2)1JADEAL8M/color@C2EU,>M/Rgb)*col1@0E(7E&Y%)
'3oo........)h=B*E6*A8*=B(E6
=Z=B(E6)G2%=R%7n&BHCJ"ooE6.
oo........"8*(E6.............kU8*(E6...............
8/14/2019 CDI
28/29
GDI28fromy
,93:>%6ADRl2)aY2JSPJ8DR=D@f/,
H),a"bcol1d. Dim bru AsNew System.Drawing.SolidBrush(col1)
>93D,Uh*H,*,D61J2Jbcol13d
Gra.FillEllipse(bru, 0, 0, 200, 200)
:=B(E68J,ASmA1JG2A=BD9GHC%
H=*UJLR:HCG=B8/Hk7
8/14/2019 CDI
29/29
Filename: alaa_gomaa
Directory: E:
Template: C:\Documents and Settings\alaa\Application
Data\Microsoft\Templates\Normal.dot
Title: 1""\1/
Subject:Author: alaa
Keywords:
Comments:
Creation Date: oqvq3jj Change Number: 1,000
Last Saved On: o|v|3oy Last Saved By: alaa
Total Editing Time: 2,578 Minutes
Last Printed On: o|v|3oy As of Last Complete Printing
Number of Pages: 28Number of Words: 4,864 (approx.)
Number of Characters: 27,727 (approx.)