【问题标题】:Converting Background of a Image to transparent Using imagemagick programaticaly以编程方式使用 imagemagick 将图像的背景转换为透明
【发布时间】:2020-06-24 13:42:31
【问题描述】:

我正在尝试将图像的所有 白色 背景(使用插件从 Html 生成)转换为透明 这样我就可以把它当作邮票使用了

Using image As MagickImage = New MagickImage(filenamelocation)
                    image.Alpha(AlphaOption.Set)
                    image.ColorFuzz = New Percentage(40)
                    image.Settings.BackgroundColor = MagickColors.Transparent
                    image.Settings.FillColor = MagickColors.White
                    image.FloodFill(MagickColors.Transparent, 0, 0)   
                    image.Write(Path.Combine(Server.MapPath("~/Uploads/attachment/"), "stampimagename.png"))
                End Using

我正在使用 ImageMagick nuget 包来做同样的事情,并且需要将所有白色转换为透明 只有蓝色项目显示仍然存在,有人可以建议我做错了什么

【问题讨论】:

    标签: vb.net imagemagick imagemagick-convert imagemagick-identify


    【解决方案1】:

    我认为您不应该将背景声明为透明然后填充白色(无论如何不确定这意味着什么..)

    据我了解,通过阅读执行此操作的命令行操作(并转换为 VB;似乎大多数命令行和 VB 相似)您只是应该加载图像,声明白色是透明度颜色,可能带有一些模糊因素,然后将其保存为支持透明度的格式:

    Using image As MagickImage = New MagickImage(filenamelocation)
    
        image.ColorFuzz = new Percentage(10) 'declare a lower fuzz factor
        img.Transparent(MagickColors.White) 'declare that the transparency should apply to anything that is white 
        img.Write("image.png") 'save as a format that support transparency. jpg does not
    
    End Using
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2015-02-16
      • 2023-04-03
      • 1970-01-01
      • 2019-01-14
      • 2019-03-31
      • 2011-12-04
      相关资源
      最近更新 更多