c#图片的平移与旋转
时间: 2023-12-03 08:46:35 浏览: 26
在C#中,可以使用System.Drawing命名空间中的Graphics类来实现图片的平移和旋转。
平移图片:
```csharp
Image image = Image.FromFile("image.jpg");
Bitmap bitmap = new Bitmap(image.Width, image.Height);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TranslateTransform(100, 100); // 平移100个像素
graphics.DrawImage(image, new Point(0, 0));
```
上述代码中,我们首先加载了一张图片,然后创建了一个新的Bitmap对象和一个Graphics对象。接着,使用TranslateTransform方法将Graphics对象平移100个像素,最后调用DrawImage方法将图片绘制在新的Bitmap上。
旋转图片:
```csharp
Image image = Image.FromFile("image.jpg");
Bitmap bitmap = new Bitmap(image.Width, image.Height);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TranslateTransform(image.Width / 2, image.Height / 2); // 平移到图片中心点
graphics.RotateTransform(45); // 旋转45度
graphics.DrawImage(image, new Point(-image.Width / 2, -image.Height / 2));
```
与平移图片类似,我们同样加载了一张图片并创建了一个新的Bitmap和Graphics对象。接着,使用TranslateTransform方法将Graphics对象平移到图片的中心点,再使用RotateTransform方法将图片旋转45度。最后调用DrawImage方法将图片绘制在新的Bitmap上。
需要注意的是,旋转后的图片可能会超出原始图片的边界,因此我们需要根据旋转后的图片大小重新计算平移坐标。