[点晴永久免费OA]C# 将图片截取成一个圆形
当前位置:点晴教程→点晴OA办公管理信息系统
→『 经验分享&问题答疑 』
Image imgPhoto = Image.fromFile(@"big.jpg");
int Width = imgPhoto.Width;
int Height = imgPhoto.Height;//以上三句代码是为了获取图片长和宽
int si = 0;//声明裁剪尺寸由于是需要正方形 所以只需要一个变量
if (Width > Height)//下面判断长和宽哪个值小就用哪个值 因为要裁剪一个正方形
{
si = Height;
}
else
{
si = Width;
}
Rectangle theRectangle = new Rectangle(new Point(0, 0), new Size(si, si));//裁剪位置 后面是裁剪尺寸
Bitmap bmp = new Bitmap(imgPhoto);//转换到可操作的内存中
Bitmap cloneBitmap = bmp.Clone(theRectangle, PixelFormat.DontCare);
// 计算圆形区域
for (int y = 0; y < si; y++)
{
for (int x = 0; x < si; x++)
{
if ((x - si / 2) * (x - si / 2) + (y - si / 2) * (y - si / 2) > (si / 2) * (si / 2))
{
//符合以上条件的为圆以外的区域
// 将这些区域设为指定颜色
cloneBitmap.SetPixel(x, y, Color.fromArgb(0, 32, 152, 213));//后面三个参数是rgb颜色 三个0表示黑色
}
}
}
// 绑定到图片显示控件
cloneBitmap.Save("Big1.jpg",ImageFormat.Jpeg);
该文章在 2022/11/25 15:48:05 编辑过 |
关键字查询
相关文章
正在查询... |