c# 下载图片 剪切图片
时间: 2024-08-17 21:01:58 浏览: 101
在 C# 中下载图片通常使用 `System.Net` 命名空间里的 `WebClient` 类,而剪切图片则需要用到一些图形处理库,如 `System.Drawing` 或第三方库如 `ImageSharp`。
**下载图片示例**:
```csharp
using System.Net;
using System.IO;
public void DownloadImage(string imageUrl, string savePath)
{
using (var client = new WebClient())
{
try
{
byte[] imageData = client.DownloadData(imageUrl);
File.WriteAllBytes(savePath, imageData);
Console.WriteLine($"Image downloaded successfully at {savePath}");
}
catch (Exception ex)
{
Console.WriteLine($"Error downloading image: {ex.Message}");
}
}
}
```
在这个例子中,你需要提供一个 URL 和保存路径作为参数。
**剪切图片示例**(假设使用 `System.Drawing` 库):
```csharp
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
public Image CropImage(Image sourceImage, Rectangle cropArea)
{
if (cropArea.Width <= 0 || cropArea.Height <= 0)
throw new ArgumentException("Crop area cannot be zero or negative.");
Bitmap bitmap = new Bitmap(sourceImage, cropArea.Size);
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.DrawImage(sourceImage, 0, 0, cropArea.Width, cropArea.Height);
}
return bitmap;
}
// 使用方法
Image original = Image.FromFile("source.jpg");
Rectangle croppingRegion = new Rectangle(x, y, width, height); // 定义剪裁区域
croppedImage = CropImage(original, croppingRegion);
croppedImage.Save("cropped.jpg", ImageFormat.Jpeg);
```
这里假设已经有一个原始图片 "source.jpg",并且你知道要剪裁的具体区域 `(x, y, width, height)`。
阅读全文