用VB6轻松实现图片旋转

文章作者 100test 发表时间 2007:09:06 12:01:14
来源 100Test.Com百考试题网


  使用过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=pic1.ScaleWidth\2

  c1y=pic1.ScaleHeight\2

  c2x=pic2.ScaleWidth\2

  c2y=pic2.ScaleHeight\2

  Ifc2x
   n=n-1

   pic1hDC=pic1.hdc

   pic2hDC=pic2.hdc

   Forp2x=0Ton

   Forp2y=0Ton


相关文章


VisualBasic构建线程安全的Singleton
如何用VB6创建透明图象
VB辅导:动态include文件
文本框控件的消息及应用
用VB6轻松实现图片旋转
VB与VC混合编程中处理消息的方法
用VB为软件增加注册功能
用vb编写抽奖程序
VB辅导:取得网卡序列号
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛