c# - 从(切孔到)图像中反转裁剪

标签 c# image bitmap crop

无论我在网上看什么,我都会看到人们发布有关如何成功裁剪图像的帖子。但是,我想“裁剪”/清除图像中的一个洞。我想保留原始图像,但裁剪出一个矩形

enter image description here

如您在上图中所见,我已经“剪掉”了小猫的脸。我保留了原始图像,但只删除了一部分。我不知道该怎么做。

最佳答案

假设您想用透明度替换原始像素颜色,您会遇到一个小问题:您无法在 GDI+ 中绘制或填充透明度

但是您可以使用Graphics.Clear(Color.Transparent)

为此,您限制 Graphics 对象将绘制的区域。这里我们可以使用简单的裁剪矩形,但您可以使用 GraphicsPath..

清除更复杂的形状

使用位图 bmp 的示例:

using (Graphics g = Graphics.FromImage(bmp))
{
    Rectangle crop = new Rectangle(222,222,55,55);
    g.SetClip(crop);
    g.Clear(Color.Transparent);
}
bmp.Save(somefilename, ImageFormat.Png);

关于c# - 从(切孔到)图像中反转裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54930044/

相关文章:

c# - TcpListener:如何检测客户端断开连接?

java - BufferedImage 未作为图像返回

javascript - 居中和裁剪 img 标签

android - 将位图保存到文件功能

c# - 任务并行库 - 如何立即返回但有一个并行步骤

c# - 如何处理意外的日期和时间格式?

android - 320kb 的背景图像大约占用 30MB 的内存空间

ImageView 中的 Android 中心位图

c# - 在 HtmlEditor WinForms 上拦截粘贴事件

android - 在某些 Android 设备中,图像无法在 FlatList 上呈现