首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理透明gif到PNG的反走样

批处理透明gif到PNG的反走样
EN

Stack Overflow用户
提问于 2011-03-30 02:13:30
回答 1查看 988关注 0票数 0

我有大量的图像,一开始有一个黑色的背景,然后纯黑的颜色被移除,留下了像素化的暗边图像。

我正在寻找一种批量处理这些图像的方法,以消除与透明像素相邻的黑色像素,或者平滑边缘,使黑色边缘不像锯齿一样参差不齐。

我有xnview、irfanview和GIMP,但除了手动使用GIMP之外,我找不到其他合适的方法来完成这项工作,方法是在透明区域使用魔术棒,以一个像素为单位增长,然后用颜色擦除黑色。

有什么想法吗?我说的是800多张图片,所以批处理是非常重要的。它们是从3d模型自动生成的。

在此期间我会继续四处寻找!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-30 02:58:27

Photoshop是可脚本化的,AFAIK gimp也是。Photoshop有针对vbscript、javascript和apple的脚本参考(script?)以及以PDF格式隐藏在已安装文件夹中的示例。检查一下文档。

我抄袭了一种从论坛帖子中选择透明度的技术,并将其移植到vbscript中。它创建一个临时Action,然后在(传递的)当前应用程序引用中选择当前层的透明度。有关打开文件、保存文件等的基础知识,请参阅参考资料。

下面的vbscript示例将找到photoshop,将其放在最前面,然后尝试在当前打开的文档中加载透明度。显然,Man说,如果你还没有打开PS并加载文档,或者如果你的文档没有应用透明度,这将会失败。YMMV.

代码语言:javascript
复制
Set appRef = CreateObject("Photoshop.Application")
appRef.BringToFront
loadTransparency appRef

    function loadTransparency(appRef)
        dim desc
        dim ref
        dim ref1

        set desc = CreateObject( "Photoshop.ActionDescriptor" )
        set ref = CreateObject( "Photoshop.ActionReference" )
        ref.putProperty appRef.charIDToTypeID( "Chnl" ), appRef.charIDToTypeID( "fsel" ) 
        desc.putReference appRef.charIDToTypeID( "null" ), ref 

        set ref1 = CreateObject( "Photoshop.ActionReference" )
        ref1.putEnumerated appRef.charIDToTypeID( "Chnl" ), appRef.charIDToTypeID( "Chnl" ), appRef.charIDToTypeID( "Trsp" )
        desc.putReference appRef.charIDToTypeID( "T   " ), ref1 

        appRef.ExecuteAction appRef.charIDToTypeID( "setd" ), desc, 3   '3 = no dialogs

    end function
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5477015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档