c# image旋转角度
时间: 2023-11-17 21:57:13 浏览: 36
在 C# 中,可以使用 System.Drawing 命名空间中的 Graphics 类来旋转图片。具体实现代码如下:
```csharp
using System.Drawing;
// 加载图片
Image image = Image.FromFile("image.jpg");
// 创建 Graphics 对象
Graphics graphics = Graphics.FromImage(image);
// 旋转角度
float angle = 45;
// 设置旋转中心点
Point center = new Point(image.Width / 2, image.Height / 2);
// 旋转图片
graphics.TranslateTransform(center.X, center.Y);
graphics.RotateTransform(angle);
graphics.TranslateTransform(-center.X, -center.Y);
graphics.DrawImage(image, new Point(0, 0));
// 保存图片
image.Save("rotated_image.jpg");
```
相关问题
C# 图片旋转
在 C# 中旋转图片可以使用 `System.Drawing` 命名空间中的 `Image` 类和 `Graphics` 类。下面是一个简单的示例:
```csharp
using System.Drawing;
// 加载图片
Image image = Image.FromFile("path/to/image.jpg");
// 指定旋转角度
float angle = 45;
// 创建一个旋转矩阵
Matrix matrix = new Matrix();
matrix.RotateAt(angle, new Point(image.Width / 2, image.Height / 2));
// 创建一个新的位图,并在其上绘制旋转后的图片
Bitmap rotatedImage = new Bitmap(image.Width, image.Height);
using (Graphics g = Graphics.FromImage(rotatedImage))
{
g.Transform = matrix;
g.DrawImage(image, 0, 0);
}
// 保存旋转后的图片
rotatedImage.Save("path/to/rotatedImage.jpg");
// 释放资源
image.Dispose();
rotatedImage.Dispose();
```
上面的代码将加载一张图片、旋转指定角度、创建一个新的位图并在其上绘制旋转后的图片、保存旋转后的图片,并释放资源。
你可以根据需要更改旋转角度和保存路径等参数。
c# opencvsharp 图像旋转
在C#中使用OpenCvSharp库进行图像旋转可以通过以下步骤实现:
1. 导入OpenCvSharp库
```csharp
using OpenCvSharp;
```
2. 读取图像
```csharp
Mat src = Cv2.ImRead("image.jpg");
```
3. 定义旋转中心和旋转角度
```csharp
Point2f center = new Point2f(src.Cols / 2f, src.Rows / 2f);
double angle = 45;
```
4. 计算旋转矩阵
```csharp
Mat rotMat = Cv2.GetRotationMatrix2D(center, angle, 1.0);
```
5. 执行旋转操作
```csharp
Mat dst = new Mat();
Cv2.WarpAffine(src, dst, rotMat, src.Size());
```
6. 显示结果
```csharp
Cv2.ImShow("Rotated Image", dst);
Cv2.WaitKey(0);
```
以上代码中,我们首先导入了OpenCvSharp库,然后读取了一张图像。接着,我们定义了旋转中心和旋转角度,并使用GetRotationMatrix2D函数计算了旋转矩阵。最后,我们使用WarpAffine函数执行了旋转操作,并将结果显示出来。