任意角度,可以参考这个
;cs-lang=csharp
图片的变换涉及坐标处理,要自己算.
还有可以用Windows Presentation Foundation (WPF) 编程,里面的image控件好像也能旋转图片.
Dim p()
Picture1.AutoRedraw = True
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
For i = 0 To h - 1
For j = 0 To w - 1
Picture1.PSet (i, w - j - 1), p(j, i)
改为Picture1.PSet (h - i - 1, j), p(j, i)
Picture1.PSet (i, j), p(w - i - 1, h - j - 1)
绘制线条采用Draw开头的方法,颜色参数用Pen类;
绘制有填充色的封闭图形采用Fill开头的方法,颜色参数用Brush类;
例如:
Dimc1xAsInteger,c1yAsInteger
DimaAsSingle
Dimp1xAsInteger,p1yAsInteger
DimnAsInteger,rAsInteger
n=n-1
pic1hDC=pic1.hdc
p1x=r*Cos(a+theta)
p1y=r*Sin(a+theta)
c0=GetPixel(pic1hDC,c1x+p1x,c1y+p1y)
c1=GetPixel(pic1hDC,c1x-p1x,c1y-p1y)
Next
EndSub
PrivateSubCommand1_Click()'正常复制
px=Picture1.ScaleWidth
py=Picture1.ScaleHeight
PrivateSubForm_Load()
OnErrorResumeNext
Me.Caption=App.Title"添加应用程序标题
你的"旋转"操作的用途是什么?
这个很重要的问题,居然只字未提......
如果是想把图片旋转后进行绘制(输出),可以用API函数PlgBlt( )来完成.
用它可以任意角度旋转(也支持透明的)后绘制.
如果你要把图片文件旋转后,形成另一个图片文件,这个我就不清楚如何处理了.
(当然不透明还是好办,但要保持原来的透明部分仍然透明,我还真没把握)
以上就是土嘎嘎小编为大家整理的vbnet旋转图片相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!