怎么用vb实现图形的旋转?

作者&投稿:耿嘉 (若有异议请与网页底部的电邮联系)
VB 用GDI+ 如何实现图片的旋转?~

图形平滑,边缘可不平滑

模块:

Option Explicit

Public Declare Function GdiplusStartup Lib "gdiplus" (token As Long, inputbuf As GdiplusStartupInput, Optional ByVal outputbuf As Long = 0) As GpStatus
Public Declare Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As GpStatus

Public Declare Function GdipCreateFromHDC Lib "gdiplus" (ByVal hDC As Long, graphics As Long) As GpStatus
Public Declare Function GdipDeleteGraphics Lib "gdiplus" (ByVal graphics As Long) As GpStatus
Public Declare Function GdipSetSmoothingMode Lib "gdiplus" (ByVal graphics As Long, ByVal SmoothingMd As SmoothingMode) As GpStatus
Public Declare Function GdipSetInterpolationMode Lib "gdiplus" (ByVal graphics As Long, ByVal interpolation As InterpolationMode) As GpStatus
Public Declare Function GdipSetCompositingQuality Lib "gdiplus" (ByVal graphics As Long, ByVal CompositingQlty As CompositingQuality) As GpStatus

Public Declare Function GdipRotateWorldTransform Lib "gdiplus" (ByVal graphics As Long, ByVal angle As Single, ByVal order As MatrixOrder) As GpStatus
Public Declare Function GdipTranslateWorldTransform Lib "gdiplus" (ByVal graphics As Long, ByVal dx As Single, ByVal dy As Single, ByVal order As MatrixOrder) As GpStatus

Public Declare Function GdipLoadImageFromFile Lib "gdiplus" (ByVal filename As Long, Image As Long) As GpStatus
Public Declare Function GdipDisposeImage Lib "gdiplus" (ByVal Image As Long) As GpStatus
Public Declare Function GdipGetImageWidth Lib "gdiplus" (ByVal Image As Long, Width As Long) As GpStatus
Public Declare Function GdipGetImageHeight Lib "gdiplus" (ByVal Image As Long, Height As Long) As GpStatus
Public Declare Function GdipDrawImageRect Lib "gdiplus" (ByVal graphics As Long, ByVal Image As Long, ByVal x As Single, ByVal y As Single, ByVal Width As Single, ByVal Height As Single) As GpStatus

Public Enum MatrixOrder
MatrixOrderPrepend = 0
MatrixOrderAppend = 1
End Enum

Public Enum QualityMode
QualityModeInvalid = -1
QualityModeDefault = 0
QualityModeLow = 1
QualityModeHigh = 2
End Enum

Public Enum SmoothingMode
SmoothingModeInvalid = QualityModeInvalid
SmoothingModeDefault = QualityModeDefault
SmoothingModeHighSpeed = QualityModeLow
SmoothingModeHighQuality = QualityModeHigh
SmoothingModeNone
SmoothingModeAntiAlias
End Enum

Public Enum InterpolationMode
InterpolationModeInvalid = QualityModeInvalid
InterpolationModeDefault = QualityModeDefault
InterpolationModeLowQuality = QualityModeLow
InterpolationModeHighQuality = QualityModeHigh
InterpolationModeBilinear
InterpolationModeBicubic
InterpolationModeNearestNeighbor
InterpolationModeHighQualityBilinear
InterpolationModeHighQualityBicubic
End Enum

Public Enum CompositingQuality
CompositingQualityInvalid = QualityModeInvalid
CompositingQualityDefault = QualityModeDefault
CompositingQualityHighSpeed = QualityModeLow
CompositingQualityHighQuality = QualityModeHigh
CompositingQualityGammaCorrected
CompositingQualityAssumeLinear
End Enum

Public Type GdiplusStartupInput
GdiplusVersion As Long
DebugEventCallback As Long
SuppressBackgroundThread As Long
SuppressExternalCodecs As Long
End Type

Public Enum GpStatus
Ok = 0
GenericError = 1
InvalidParameter = 2
OutOfMemory = 3
ObjectBusy = 4
InsufficientBuffer = 5
NotImplemented = 6
Win32Error = 7
WrongState = 8
Aborted = 9
FileNotFound = 10
ValueOverflow = 11
AccessDenied = 12
UnknownImageFormat = 13
FontFamilyNotFound = 14
FontStyleNotFound = 15
NotTrueTypeFont = 16
UnsupportedGdiplusVersion = 17
GdiplusNotInitialized = 18
PropertyNotFound = 19
PropertyNotSupported = 20
End Enum

窗体(AutoRedraw=True)
Option Explicit

Dim token As Long
Dim graphics As Long

Dim img As Long, w As Long, h As Long

Private Sub InitGDIPlus()
Dim uInput As GdiplusStartupInput

uInput.GdiplusVersion = 1
If GdiplusStartup(token, uInput) Ok Then
MsgBox "GDI+ 初始化错误。程序即将关闭。", vbCritical, "InitError"
End
End If
End Sub

Private Sub TerminateGDIPlus()
GdipDisposeImage img
GdipDeleteGraphics graphics

GdiplusShutdown token
End Sub

Private Sub Form_Load()
InitGDIPlus

GdipCreateFromHDC Me.hDC, graphics
'GdipSetSmoothingMode graphics, SmoothingModeAntiAlias
'GdipSetInterpolationMode graphics, InterpolationModeHighQuality
'GdipSetCompositingQuality graphics, CompositingQualityHighQuality

GdipLoadImageFromFile StrPtr(App.Path & "\1.png"), img
GdipGetImageWidth img, w
GdipGetImageHeight img, h

Rotate 15, graphics, 200, 200
End Sub

Sub Rotate(angle As Single, g As Long, x As Single, y As Integer)
GdipRotateWorldTransform g, angle, MatrixOrderAppend
GdipTranslateWorldTransform g, x, y, MatrixOrderAppend
GdipDrawImageRect g, img, -w, -h / 2, w, h
End Sub

Private Sub Form_Unload(Cancel As Integer)
TerminateGDIPlus
End Sub

逆时针旋转90度
Dim p()
ScaleMode = 3
Picture1.AutoRedraw = True
Picture1.ScaleMode = 3
w = Picture1.ScaleWidth
h = Picture1.ScaleHeight
ReDim p(w - 1, h - 1)
For i = 0 To w - 1
For j = 0 To h - 1
p(i, j) = Picture1.Point(i, j)
Next j
Next i
Picture1.Width = h + 4 * Picture1.BorderStyle
Picture1.Height = w + 4 * Picture1.BorderStyle
For i = 0 To h - 1
For j = 0 To w - 1
Picture1.PSet (i, w - j - 1), p(j, i)
Next j
Next i
顺时针旋转90度把Picture1.PSet (i, w - j - 1), p(j, i)
改为Picture1.PSet (h - i - 1, j), p(j, i)
旋转180度把最后七行改为
For i = 0 To w - 1
For j = 0 To h - 1
Picture1.PSet (i, j), p(w - i - 1, h - j - 1)
Next j
Next i

启动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$#@60;c2yThenn=c2yElsen=c2x
n=n-1
pic1hDC=pic1.hdc
pic2hDC=pic2.hdc
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)
Ifc0&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x+p2x,c2y+p2y,c0
Ifc1&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1
Ifc2&$#@60;$#@62;-1ThenSetPi pic2hDC,c2x+p2y,c2y-p2x,c2
Ifc3&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3
Next
Next
EndSub

PrivateSubCommand1_Click()‘正常复制
Picture2.Cls
px=Picture1.ScaleWidth
py=Picture1.ScaleHeight
StretchBltPicture2.hdc,px,0,-px,py,Picture1.hdc,0,0,px,py,SRCCOPY
EndSub

PrivateSubCommand2_Click()‘180度倒立
Picture2.Cls
px=Picture1.ScaleWidth
py=Picture1.ScaleHeight
StretchBltPicture2.hdc,0,py,px,-py,Picture1.hdc,0,0,px,py,SRCCOPY
EndSub

PrivateSubCommand3_Click()‘45旋转
Picture2.Cls
Callbmp_rotate(Picture1,Picture2,3.14/4)
EndSub

PrivateSubForm_Load()
OnErrorResumeNext
Me.Caption=App.Title"添加应用程序标题
Me.Left=(Screen.Width-Me.Width)/2
Me.Top=(Screen.Height-Me.Height)/2"窗体具中
Picture1.ScaleMode=3
Picture2.ScaleMode=3
EndSub

VB6.0实现图片旋转 使用过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<c2yThenn=c2yElsen=c2x n=n-1 pic1hDC=pic1.hdc pic2hDC=pic2.hdc 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) Ifc0&<>-1ThenSetPixelpic2hDC,c2x+p2x,c2y+p2y,c0 Ifc1&<>-1ThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1 Ifc2&<>-1ThenSetPixelpic2hDC,c2x+p2y,c2y-p2x,c2 Ifc3&<>-1ThenSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3 Next Next EndSub PrivateSubCommand1_Click()‘正常复制 Picture2.Cls px=Picture1.ScaleWidth py=Picture1.ScaleHeight StretchBltPicture2.hdc,px,0,-px,py,Picture1.hdc,0,0,px,py,SRCCOPY EndSub PrivateSubCommand2_Click()‘180度倒立 Picture2.Cls px=Picture1.ScaleWidth py=Picture1.ScaleHeight StretchBltPicture2.hdc,0,py,px,-py,Picture1.hdc,0,0,px,py,SRCCOPY EndSub PrivateSubCommand3_Click()‘45旋转 Picture2.Cls Callbmp_rotate(Picture1,Picture2,3.14/4) EndSub PrivateSubForm_Load() onErrorResumeNext Me.Caption=App.Title"添加应用程序标题 Me.Left=(Screen.Width-Me.Width)/2 Me.Top=(Screen.Height-Me.Height)/2"窗体具中 Picture1.ScaleMode=3 Picture2.ScaleMode=3 EndSub

1、通过picturebox的方式是最简单的

private Sub Command1_Click() '正常贴图
Picture1.PaintPicture Picture2.Picture, 0, 0, Picture1.Width, Picture1.Height
end Sub
private Sub Command2_Click() '上下加水平翻转
Picture1.PaintPicture Picture2.Picture, Picture1.Width, Picture1.Height, 0 - Picture1.Width, 0 - Picture1.Height
end Sub
private Sub Command3_Click() '水平翻转
Picture1.PaintPicture Picture2.Picture, Picture1.Width, 0, 0 - Picture1.Width, Picture1.Height
end Sub
private Sub Command4_Click() '上下翻转
Picture1.PaintPicture Picture2.Picture, 0, Picture1.Height, Picture1.Width, 0 - Picture1.Height
End Sub

2、通过api的方式,StretchBlt



启动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$#@60;c2yThenn=c2yElsen=c2x
n=n-1
pic1hDC=pic1.hdc
pic2hDC=pic2.hdc
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)
Ifc0&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x+p2x,c2y+p2y,c0
Ifc1&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x-p2x,c2y-p2y,c1
Ifc2&$#@60;$#@62;-1ThenSetPi pic2hDC,c2x+p2y,c2y-p2x,c2
Ifc3&$#@60;$#@62;-1ThenSetPixelpic2hDC,c2x-p2y,c2y+p2x,c3
Next
Next
EndSub
PrivateSubCommand1_Click()‘正常复制
Picture2.Cls
px=Picture1.ScaleWidth
py=Picture1.ScaleHeight
StretchBltPicture2.hdc,px,0,-px,py,Picture1.hdc,0,0,px,py,SRCCOPY
EndSub
PrivateSubCommand2_Click()‘180度倒立
Picture2.Cls
px=Picture1.ScaleWidth
py=Picture1.ScaleHeight
StretchBltPicture2.hdc,0,py,px,-py,Picture1.hdc,0,0,px,py,SRCCOPY
EndSub
PrivateSubCommand3_Click()‘45旋转
Picture2.Cls
Callbmp_rotate(Picture1,Picture2,3.14/4)
EndSub
PrivateSubForm_Load()
OnResumeNext
Me.Caption=App.Title"添加应用程序标题
Me.Left=(Screen.Width-Me.Width)/2
Me.Top=(Screen.Height-Me.Height)/2"窗体具中
Picture1.ScaleMode=3
Picture2.ScaleMode=3
EndSub

请楼主试一下哦,看看行不行拉,呵呵


VB中如何使用mschart 控件画曲线图
具体操作步骤如下:1、首先,单击左侧工具框中的命令按钮,如下图所示,然后进入下一步。2、其次,双击以直接在表单上绘制,如下图所示,然后进入下一步。3、接着,或者可以单击命令按钮控件,再在页面上拖动绘制,如下图所示,然后进入下一步。4、然后,如果对外观不满意,可以在属性窗口中对其进行...

用VB打一个V字图形~ 代码如何写~
For i = 1 To 10 Print Tab(i); String(3, "*"); Spc(2*100 - 2 * i); String(3, "0")Next 2*100 - 2 * i就是你行数减去i的2倍

vb编写图形绕一点旋转
以下是vb代码,新建一个标准工程,不需做任何参数更改。打开代码窗口把代码粘贴进去,替换原来的所有代码,运行即可看效果。希望对你有用 Option Explicit Dim X1, Y1, X0, Y0, X2, Y2 As Double Dim A, B, PI As Double Dim F As Boolean Private Sub Form_Load()PI = 3.14159265358979 F...

怎样在VB中画立体图形
窗体布局: 控件 属 性 值 timer1 enabled flase interval 1 Command1 caption 画图 Command2 caption 保存 CommonDialog1,各属性不用改变。 代码: Dim i As Integer Dim a As Integer Dim b As Single Private Sub Command1_Click() Timer1.Enabled = Tru CommonDialog1 ,各属性不用改变。代...

输出如下图形:用VB编程
Private Sub Form_Click()For i = 1 To 4 Form1.Print Spc(i - 1); String(5 - i, "*")Next End Sub

vb实现键盘控制图形移动
获取图形的RECT结构值:GetWindowRect(图形控件的句柄,RECT结构指针).左方向时,将RECT的left成员的值减去一个值,这个值是移动时的像素数.右方向时,将RECT的left成员的值加上一个值,同上.上方向时,将RECT的top成员的值减去一个值,同上.下方向时,将RECT的top成员的值加上一个值,同上.然后使用...

请问如何用vb的图片框画图?要求是鼠标按下来画矩形、圆之类的图(旁边有...
Dim x1 As Single, y1 As Single, s As Integer Const pi = 3.14159265 Private Sub Form_Load()Command1.Caption = "圆"Command2.Caption = "矩形"Command3.Caption = "三角"Command4.Caption = "五角"Command5.Caption = "清"End Sub Private Sub Command1_Click()s = 1 End Sub Priv...

如何用VB实现数字金字塔式的图形输出 就像这样 1
Private Sub Command1_Click() For i = 1 To 5 Print Space(6 - i) & Cstr(2 * i - 1); For j = 2 To 2 * i - 1 Print CStr(2 * i - 1); Next j Print Next iEnd Sub

VB中如何实现点击按钮一次,显示图形1,;点第二次显示图形2;点第三次又...
假定你的图形显示在Picture1上:Private Sub Command1_Click()Static flag As Boolean flag = Not flag If flag Then Picture1.Picture = LoadPicture("图形文件1")Else Picture1.Picture = LoadPicture("图形文件2")End If End Sub

VB API 图形
简单的办法就是 添加一个 PictureBox 控件 再通过 BitBlt 将图片中指定部分复制到窗口中 Private Const NOTSRCERASE = &H1100A6 Private Const NOTSRCCOPY = &H330008 Private Const SRCERASE = &H440328 Private Const SRCINVERT = &H660046 Private Const SRCAND = &H8800C6 Private Const MERGE...

温宿县15641368746: 怎么用vb实现图形的旋转? -
再富贝灵: 启动vb6建立一个标准exe工程,首先添加两个图片框(picture1和picture2),添加三个命32313133353236313431303231363533e78988e69d8331333234333234令按钮command1(caption=“正常显示”)、command2(caption=“180度倒立”)...

温宿县15641368746: VB中,怎么让一个图片旋转 -
再富贝灵: 其实vb只能处理二维的效果.所谓的使图片转起来,只是一种假象,你可以试着改变这个图片各边的长度来实现,另外如果你回api函数,或许也能解决问题.多在网上搜搜!

温宿县15641368746: vb里面怎么样让一张图片旋转?
再富贝灵: 'GetPixel和SetPixel太慢了.系统有现成的API用. '本例子需要两个PictureBox,名称分别为PicBack和PicShow.一个CommandButton,名称:Command1. '在PicShow里载入一张图片,然后运行,点command1按钮,你就可以看到效果. Option ...

温宿县15641368746: 大家知不知道vb中怎样进行图片的旋转,要转多少度就转多少度的那种! -
再富贝灵: 可以,但必须使用picture控件,代码到处都是,自己找一个测试一下.

温宿县15641368746: vb编写图形绕一点旋转
再富贝灵: 正余弦函数 题目:已知一长轴为len,及另一长轴的端点坐标(x1,y1)和(x2,y2) 画出椭圆. 算法步骤: 1、求a,b: a=len/2 b=sqr((x1-x2)^2+(y1-y2)^2) 2、求旋转角α :求出(y1-y2)/(x1-x2)的反正切值即为α 3、求椭圆中心坐标(x0,y0): x0...

温宿县15641368746: vb在image中怎样实现图片90度180度270度旋转? -
再富贝灵: 先在PICTUREBOX中旋转,再显示到IMAGE控件中

温宿县15641368746: 请指教使用vb对图片进行旋转的代码 -
再富贝灵: Const Pi = 3.1415926 '常量声明 Private Sub Command1_Click() Dim x As Integer, y As Integer '点在Picture1中的坐标 Dim X1 As Integer, Y1 As Integer '过渡坐标 Dim X2 As Double, Y2 As Double '过渡坐标 Dim X3 As Double, Y3 As Double '点经...

温宿县15641368746: VB怎样图形旋转动画 -
再富贝灵: 清除,把坐标点旋转后再画,再清除,旋转,再画,这样循环下去

温宿县15641368746: VB 图片自由旋转代码 -
再富贝灵: 以下方法,慢! Dim x As Integer, y As Integer Dim X1 As Integer, Y1 As Integer Dim X2 As Double, Y2 As Double Dim X3 As Double, Y3 As Double Dim HuDu As Double ' JiaoDu角 度 HuDu = JiaoDu * Pi / 180 ' 弧 度 PicSource.ScaleMode = ...

温宿县15641368746: 在VB中,怎么样实现让一个圆围绕某一个点为中心旋转
再富贝灵: Private Sub Command1_Click() picture1.Circle (2900, 2000), 900, vbBlue picture1.Circle (1100, 2000), 900, vbred end sub 这是已经画好的两个圆.我想让其中一个圆围绕另一个圆的圆心点为中心.旋转.简单点来说,就是绕另一个圆的边进行...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网