如何将 JPEG 图像转换为具有透明背景的 PNG 图像?

发布于 2024-09-27 10:12:12 字数 159 浏览 3 评论 0原文

我有一个 JPEG 格式的图像,带有白色背景和黑色圆圈。

如何将此图像转换为 PNG 格式,使白色背景透明,黑色保留在那里?

我也是一名程序员,如果 C# 代码中有一些想法我会非常高兴。我也在寻找转换器、工具、程序等任何东西。

谢谢。

杰夫

I have a JPEG format image, with a white background and a black circle.

How can I transform this image to a PNG format that the white background will be transparent and the black remains there?

I'm a programmer too, and if there are some ideas in C# code I will be very happy. Also I'm looking for a converter, tool, program anything.

Thank you.

Jeff

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾城°AllureLove 2024-10-04 10:12:13

这是可行的,但解决方案很慢。您可以使用 Bitmap.LockBits() 来加快速度。

using (Image img = Image.FromFile(filename))
using (Bitmap bmp = new Bitmap(img))
{
    for (int x = 0; x < img.Width; x++)
    {
        for (int y = 0; y < img.Height; y++)
        {
            Color c = bmp.GetPixel(x, y);
            if (c.R == 255 && c.G == 255 && c.B == 255)
                bmp.SetPixel(x, y, Color.FromArgb(0));
        }
    }
    bmp.Save("out.png", ImageFormat.Png);
}

Here is working, but slow solution. You can speed it up by using Bitmap.LockBits().

using (Image img = Image.FromFile(filename))
using (Bitmap bmp = new Bitmap(img))
{
    for (int x = 0; x < img.Width; x++)
    {
        for (int y = 0; y < img.Height; y++)
        {
            Color c = bmp.GetPixel(x, y);
            if (c.R == 255 && c.G == 255 && c.B == 255)
                bmp.SetPixel(x, y, Color.FromArgb(0));
        }
    }
    bmp.Save("out.png", ImageFormat.Png);
}
甜扑 2024-10-04 10:12:13

您可以使用 ImageMagick 工具喜欢这个例子

您需要将 -background 选项设置为 transparent,将 -alpha 选项设置为 set 并使用-transparent 选项设置您想要解释为透明的颜色。另请参阅转换工具参考

You could use the ImageMagick tool like this example.

You will need to set the -background option to transparent, set the the -alpha option to set and use the -transparent option to set the colour you want to be interpretted as transparent. See also the convert tool reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文