www.pudn.com > jq_transfile.ARJ > IMAGE3.PRG
*********************************************************
*
* Name: Stuff
* 此程序演示图像移动
*
**********************************************************
set talk off
set esca off
set path to ..
set curs off
do LoadSDK && 装入SDK
priv all like P_*
P_Color='B/W,W+/B,W/W,W+/B,W/B,W+/B,GR/W,W/B,N/W,W+/W'
=DefiWind("Demo",1,2,srows()-2,scols()-3,;
"colo &P_Color titl '基本图形特技演示'")
=ActiWind("Demo")
Demo_X1=C2X(1)
Demo_Y1=R2Y(1)
Demo_X2=C2X(wcol("Demo")-1)
Demo_Y2=R2Y(wrow("Demo"))
=DnRect(Demo_X1-1,Demo_Y1-1,Demo_X2+1,Demo_Y2+1)
=AutoSize(.f.)
do Image3_1
=ReleWind('Demo')
retu
*-------------------------------------------------------------------------
Func UpImg
para M_X1,M_Y1,M_X2,M_Y2,M_Step
priv P_Img
P_Img=GetImage(M_X1,M_Y1,M_X2,M_Y1+M_Step)
=MoveImage(M_X1,M_Y1+1+M_Step,M_X2,M_Y2,M_X1,M_Y1)
=PutImage(M_X1,M_Y2-M_Step,P_Img)
=ReleImage(P_Img)
retu
*-------------------------------------------------------------------------
Func DnImg
para M_X1,M_Y1,M_X2,M_Y2,M_Step
priv P_Img
P_Img=GetImage(M_X1,M_Y2-M_Step,M_X2,M_Y2)
=MoveImage(M_X1,M_Y1,M_X2,M_Y2-1-M_Step,M_X1,M_Y1+1+M_Step)
=PutImage(M_X1,M_Y1,P_Img)
=ReleImage(P_Img)
retu
*-------------------------------------------------------------------------
Func LeftImg
para M_X1,M_Y1,M_X2,M_Y2,M_Step
priv P_Img
P_Img=GetImage(M_X1,M_Y1,M_X1+M_Step,M_Y2)
=MoveImage(M_X1+1+M_Step,M_Y1,M_X2,M_Y2,M_X1,M_Y1)
=PutImage(M_X2-M_Step,M_Y1,P_Img)
=ReleImage(P_Img)
retu
*-------------------------------------------------------------------------
Func RightImg
para M_X1,M_Y1,M_X2,M_Y2,M_Step
priv P_Img
P_Img=GetImage(M_X2-M_Step,M_Y1,M_X2,M_Y2)
=MoveImage(M_X1,M_Y1,M_X2-1-M_Step,M_Y2,M_X1+1+M_Step,M_Y1)
=PutImage(M_X1,M_Y1,P_Img)
=ReleImage(P_Img)
retu
*-------------------------------------------------------------------------
Func Image3_1
priv all like P_*
=ShowBmpin(Demo_X1,Demo_Y1,Demo_X2,Demo_Y2,"9516.bmp")
=SetPutMode(_OR)
=ShowBmpin(Demo_X1,Demo_Y1,Demo_X2,Demo_Y2,"novell.bmp")
=SetPutMode(_COPY)
if inke(3)=27
retu
endi
=SetPutMode(_COPY)
P_X1=Demo_X1+(Demo_X2-Demo_X1+1)/2-160
P_Y1=Demo_Y1+(Demo_Y2-Demo_Y1+1)/2-120
P_X2=P_X1+320-1
P_Y2=P_Y1+240-1
=ShowBmp(P_X1,P_Y1,"winlogo.bmp")
=SetHZFont(0)
=SetHZStyle(_SHADOW+_OUTLINE)
=SetHZSize(96,142,0)
=SetHZPutMode(_OR)
=SetHZShadow(4,3,0)
=SetHZColor(11)
=ShowHZ(P_X1+40,P_Y1+50,"UCSDK")
P_Step=0
for P_I=1 to 240 Step 1
=UpImg(P_X1,P_Y1,P_X2,P_Y2,P_Step)
if inke()#0
exit
endi
endf
if last()=27
retu
endi
=ShowBmp(P_X1,P_Y1,"winlogo.bmp")
=ShowHZ(P_X1+40,P_Y1+50,"UCSDK")
for P_I=1 to 120 Step 1
=DnImg(P_X1,P_Y1,P_X2,P_Y1+119,P_Step)
=UpImg(P_X1,P_Y1+120,P_X2,P_Y2,P_Step)
if inke()#0
exit
endi
endf
if last()=27
retu
endi
=ShowBmp(P_X1,P_Y1,"winlogo.bmp")
=ShowHZ(P_X1+40,P_Y1+50,"UCSDK")
P_Step=1
for P_I=1 to 320 step 2
=LeftImg(P_X1,P_Y1,P_X2,P_Y2,P_Step)
if inke()#0
exit
endi
endf
=ShowBmp(P_X1,P_Y1,"winlogo.bmp")
=ShowHZ(P_X1+40,P_Y1+50,"UCSDK")
for P_I=1 to 160 step 2
=RightImg(P_X1,P_Y1,P_X1+159,P_Y2,P_Step)
=LeftImg(P_X1+160,P_Y1,P_X2,P_Y2,P_Step)
if inke()#0
exit
endi
endf
retu