VB Image 旋转
时间: 2025-01-02 11:44:46 浏览: 4
在VB.NET中,你可以使用`System.Drawing.Drawing2D`命名空间下的`Graphics`类来旋转图像。以下是一个基本的示例,展示如何旋转一个`Image`对象:
```vb
Imports System.Drawing
Public Sub RotateImage(ByVal img As Image, ByVal rotationAngle As Single, ByVal centerPoint As Point)
' 创建一个新的Bitmap,用于存储旋转后的图像
Dim rotatedImg As New Bitmap(img.Width, img.Height)
Using g As Graphics = Graphics.FromImage(rotatedImg)
' 设置绘图区域
g.Clear(Color.White)
' 设置旋转中心点和旋转角度
g.TranslateTransform(centerPoint.X, centerPoint.Y)
g.RotateTransform(rotationAngle)
g.TranslateTransform(-centerPoint.X, -centerPoint.Y)
' 把源图像绘制到新的位置,完成旋转
g.DrawImage(img, 0, 0)
End Using
' 现在rotatedImg变量就包含了旋转后的图像
Return rotatedImg
End Sub
' 调用方法并传递图像、旋转角度和旋转中心点坐标
Dim rotatedImg = RotateImage(originalImg, 45, New Point(originalImg.Width / 2, originalImg.Height / 2))
' 可以将旋转后的图片保存或显示
' rotatedImg.Save("rotated_image.jpg")
' PictureBox1.Image = rotatedImg
```
这个函数接受一个`Image`对象、旋转角度(以度数表示,例如45度)和旋转中心点(通常选择图片的中心)。它首先创建一个新Bitmap,然后使用图形上下文进行旋转和平移操作,最后将原始图片绘制在新位置。
阅读全文