我正在尝试将图像裁剪成圆形,圆形外的区域为白色。
新图像的尺寸与原始图像相同,只是有效地将图像变成圆形。
我知道如何使用GDI+裁剪图像,通过将现有图像复制到一个新图像中来绘制矩形/正方形,但我不知道如何用白色填充弧/圆形的外部。
这可能吗?
更新 - 我想在服务器端执行此操作,因为不同的浏览器/平台以不同的方式呈现CSS半径,或者根本不呈现。
我的工作至今为止是:
新图像的尺寸与原始图像相同,只是有效地将图像变成圆形。
我知道如何使用GDI+裁剪图像,通过将现有图像复制到一个新图像中来绘制矩形/正方形,但我不知道如何用白色填充弧/圆形的外部。
这可能吗?
更新 - 我想在服务器端执行此操作,因为不同的浏览器/平台以不同的方式呈现CSS半径,或者根本不呈现。
我的工作至今为止是:
public static Image CropCircle2(Image imgSource)
{
Image imgTarget = new Bitmap(imgSource.Width, imgSource.Height);
Graphics g = Graphics.FromImage(imgTarget);
var path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, imgTarget.Width, imgTarget.Height);
g.SetClip(path);
g.DrawImage(imgSource, 0, 0);
return imgTarget;
}