picturebox 中的图片变换
时间: 2024-10-04 19:02:28 浏览: 19
picturebox控件图片缩放和平移
PictureBox 是Windows Forms控件,在.NET中常用于显示图像。如果你想在PictureBox中变换图片,你可以通过调整它的Image属性或使用Graphics类来进行操作。以下是一些常见的图片变换:
1. **设置大小缩放**:
- `pictureBox.Image = Image.FromFile("path.jpg").ScaleWidth(newWidth, GraphicsUnit.Pixel);`
或
- `pictureBox.Image = pictureBox.Image.Clone(new Size(newWidth, newHeight), pictureBox.Image.RawFormat);`
2. **旋转**:
- 使用Graphics的RotateTransform方法:
```csharp
using (var graphic = pictureBox.CreateGraphics())
{
graphic.RotateTransform(angle);
graphic.DrawImage(image, 0, 0, pictureBox.Width, pictureBox.Height);
}
```
3. **裁剪**:
- 先获取Graphics,然后用ClipRectangle属性设定裁剪区域:
```csharp
var rect = new Rectangle(x, y, width, height);
pictureBox.Graphics.Clip = new Region(rect);
pictureBox.DrawImage(image, 0, 0);
pictureBox.Graphics.Clip = null;
```
4. **平移或拉伸**:
- 可以使用TranslateTransform和ScaleTransform方法,例如:
```csharp
graphic.TranslateTransform(dx, dy); // 平移
graphic.ScaleTransform(scaleX, scaleY); // 拉伸
```
注意:每次操作完图片之后,最好刷新PictureBox以便看到变化:
```csharp
pictureBox.Invalidate();
```
阅读全文