用轻松实现图片旋转物业
2021-09-06 来源:黑龙江租房网
使用过ACDSEE的朋友一定对它的JPG图片旋转功能记忆犹新,其实我们利用VB6的先进功能,可以对任意格式的图片文件(包括JPG、GIF、BMP、ICO等)进行45度、180度旋转,确实可以和ACDSEE一较高下。
启动vb6建立一个标准exe工程,首先添加两个图片框(picture1和picture2),添加三个命令按钮command1(caption=“正常显示”)、command2(caption=“180度倒立”)、command3(caption=“45度旋转”),双击窗体,写入以下代码:
PrivateConstSRCCOPY=HCC0020
PrivateConstPi=3.14
PrivateDeclareFunctionSetPixelLib\"gdi32\"(ByValhdcAsLong, ByValxAsLong,ByValyAsLong,ByValcrColorAsLong)AsLong
PrivateDeclareFunctionGetPixelLib\"gdi32\"(ByValhdcAsLong, ByValxAsLong,ByValyAsLong)AsLong
PrivateDeclareFunctionStretchBltLib\"gdi32\"(ByValhdcAsLong, ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong, ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValnSrcWidth AsLong,ByValnSrcHeightAsLong,ByValdwRopAsLong)AsLong
privateSubbmp_rotate(pic1AsPictureBox,pic2AsPictureBox,ByValtheta)‘45度旋转
Dimc1xAsInteger,c1yAsInteger
Dimc2xAsInteger,c2yAsInteger
DimaAsSingle
Dimp1xAsInteger,p1yAsInteger
Dimp2xAsInteger,p2yAsInteger
DimnAsInteger,rAsInteger
c1x=aleWidth\\2
c1y=aleHeight\\2
c2x=aleWidth\\2
c2y=aleHeight\\2
Ifc2xc2yThenn=c2yElsen=c2x
n=n-1
pic1hDC=c
pic2hDC=c
Forp2x=0Ton
Forp2y=0Ton
Ifp2x=0Thena=Pi/2Elsea=Atn(p2y/p2x)
r=Sqr(1*p2x*p2x+1*p2y*p2y)
p1x=r*Cos(a+theta)
p1y=r*Sin(a+theta)
c0=GetPixel(pic1hDC,c1x+p1x,c1y+p1y)
c1=GetPixel(pic1hDC,c1x-p1x,c1y-p1y)
c2=GetPixel(pic1hDC,c1x+p1y,c1y-p1x)
c3=GetPixel(pic1hDC,c1x-p1y,c1y+p1x)
IfcThenSetPixelpic2hDC,c2x+p2x,c2y+p2y,c0
IfcThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1
IfcThenSetPixelpic2hDC,c2x+p2y,c2y-p2x,c2
IfcThenSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3
Next
Next
EndSub
PrivateSubCommand1_Click()‘正常复制
s
px=aleWidth
py=aleHeight
c,px,0,-px,py,c,0,0,px,py,SRCCOPY
博友“夜半挑灯看吴钩”表示 EndSub
PrivateSubCommand2_Click()‘180度倒立
s
px=aleWidth
py=aleHeight
c,0,py,px,-py,c,0,0,px,py,SRCCOPY
EndSub
PrivateSubCommand3_Click()‘45旋转
s
Callbmp_rotate(Picture1,Picture2,3.14/4)
EndSub
PrivateSubForm_Load()
onErrorResumeNext
ption=tle\"添加应用程序标题
ft=(dth)/2
p=(ight)/2\"窗体具中
aleMode=3
aleMode=3
EndSub
编者按:
络上和图象处理的文章很多,但是还相当的散,希望能在开发者络为大家做这么一个专题,搜集尽可能多的资料,也希望大家能来投稿,谢谢拉!
雅安治疗白癜风的医院沈阳治疗包皮包茎费用
南洋克痢痧价格贵吗
-
- 上一篇
- 用在托盘程序中加入应用程序图标
-
- 下一篇
- 用代码下载网络上的文件计划