我有PNG文件,我想将整个图像转换为半透明.该图像将在KML文件中作为图标叠加层引用,以便在Google地球/地图中使用.
我使用ImageMagick convert命令向我建议了以下示例,但似乎都不起作用.第一个示例导致错误,第二个示例无法对图像进行任何可观察的更改.
$ /usr/local/bin/convert 121112142121.png -channel Alpha -evaluate Set 50% 2121112142121.png
convert: no decode delegate for this image format '121112142121.png' @ error/constitute.c/ReadImage/550.
convert: option requires an argument '-evaluate' @ error/convert.c/ConvertImageCommand/1400.
Run Code Online (Sandbox Code Playgroud)
第二个建议的方法是这样的:
convert filename.png -fill '#00000080' -draw 'matte 100,100 reset' output.png
Run Code Online (Sandbox Code Playgroud)
虽然我可以在网上找到许多用于从特定颜色或alpha蒙版创建完全透明图像的示例,但我似乎找不到任何可用于创建半透明图像的工作.我想用convert命令或ImageMagick Perl找到一种方法.
ImageMagick版本是6.8.0-4.
我编写了一个Python脚本,使用wget下载并转换许多图像,然后通过链接subprocess调用使用ImageMagick :
for img in images:
convert_str = 'wget -O ./img/merchant/download.jpg %s; ' % img['url']
convert_str += 'convert ./img/merchant/download.jpg -resize 110x110 '
convert_str += ' -background white -gravity center -extent 110x110'
convert_str += ' ./img/thumbnails/%s.jpg' % img['id']
subprocess.call(convert_str, shell=True)
Run Code Online (Sandbox Code Playgroud)
如果我convert_str在命令行手动运行内容,它似乎没有任何错误,但如果我运行脚本使其重复执行,它有时会给我以下输出:
--2013-06-19 04:01:50--
http://www.lkbennett.com/medias/sys_master/8815507341342.jpg
Resolving www.lkbennett.com... 157.125.69.163
Connecting to www.lkbennett.com|157.125.69.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22306 (22K) [image/jpeg]
Saving to: `/home/me/webapps/images/m/img/merchant/download.jpg'
0K .......... .......... . 100% 1.03M=0.02s
2013-06-19 04:01:50 (1.03 MB/s) -
`/home/annaps/webapps/images/m/img/merchant/download.jpg' …Run Code Online (Sandbox Code Playgroud) 我正在使用ImageMagick将PDF文件转换为PNG.只要我以管理员身份运行Visual Studio,就可以在本地运行我的Web API项目.将解决方案移动到服务器时,ImageMagick进程失败,并显示以下错误
convert.exe:无法加载模块`C:\ Program Files\ImageMagick-6.9.0-Q16\modules\coders\IM_MOD_RL_PNG_.dll':找不到指定的模块.
我安装了ghostscript和ImageMagick,因为它们应该在服务器上.这可能是什么原因?我可以验证模块确实存在于服务器上.
我在文件夹和子文件夹中有数千个SVG.我想要的是将它们全部批量转换为jpg或png图像.
有人可以帮我写一个ImageMagick(windows)的命令,它可以查找所有svg并将其转换为原始名称的jpg/png,并将它们保存在同一个目录中吗?
这是示例结构:
C:\SVG\BusinessMan.svg
C:\SVG\Models\Home.svg
C:\SVG\Underlines\underline.svg
Run Code Online (Sandbox Code Playgroud)
转换后我想要这样:
C:\SVG\BusinessMan.svg
C:\SVG\BusinessMan.jpg
C:\SVG\Models\Home.svg
C:\SVG\Models\Home.jpg
C:\SVG\Underlines\underline.svg
C:\SVG\Underlines\underline.jpg
Run Code Online (Sandbox Code Playgroud) 我正在将 ImageMagick 命令集成到用 Node.js 编写的 Firebase 函数中。我已经安装了 Ghostscript 并拥有可用字体的完整列表:
convert -list font
Path: /usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/type-apple.xml
Font: AndaleMono
family: Andale Mono
style: Undefined
stretch: Undefined
weight: 0
glyphs: /Library/Fonts//Andale Mono.ttf
Font: AppleChancery
family: Apple Chancery
style: Undefined
stretch: Undefined
weight: 0
glyphs: /Library/Fonts//Apple Chancery.ttf
Font: AppleMyungjo
family: AppleMyungjo
style: Undefined
stretch: Undefined
weight: 0
glyphs: /Library/Fonts//AppleMyungjo.ttf
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
exec(`convert ${tempFilePath} -font /Users/emma/Library/Fonts/Nunito-Regular.ttf -fill white -pointsize 60 -gravity center -draw "text 0,300 'this is a label'" ${tempFilePath}`, {stdio: 'ignore'}, (err, stdout) => {
if …Run Code Online (Sandbox Code Playgroud) 如何将大图像剪切成网格,以便将较小的图像上传到 Instagram,以在网格视图中弥补大图像?
我认为 imagemagick 可以用于此目的。
我正在尝试使用 ImageMagick 创建 3840 x 2160 的缩略图。
我需要图像具有黑色背景和白色文本。文本应垂直和水平居中。
我希望能够设置字体大小,但如果文本超出图像,则会自动减小字体大小,使其适合左侧和右侧的一定量的填充。
我将使用数十万张图像批量进行此操作。从我所发现的情况来看,您似乎总是必须设置字体大小,并且无法使其动态。
谁能确认这是否可行?
ubuntu command-line imagemagick imagemagick-convert ubuntu-16.04
所以我想创建一张由三张较小图像组成的尺寸为 3600x2280 的大图像。第一个应将大小调整为 1680x1050 并放置在左上角。第二个需要调整为 1920x1200 并立即放置在其右侧(+1680 以上)。第三张图片的大小应调整为 1920x1080 并放置在右下角 (+1680+1200)。左下角将是空白/透明的。
我尝试过在网上搜索的各种命令,并且认为对于三张图像中的两张来说,我已经有点接近如下所示的命令:
convert -define png:size=3600x2280 \( Photos/DSC05525-original.jpg -resize 1680x1050 \) -geometry +0+0 -composite \( Photos/Sydney-Loftus-Train-Station-original.jpg -resize 1920x1200 \) -geometry +1680+0 -extent 3600x2280 test.png
Run Code Online (Sandbox Code Playgroud)
...但这将第二张图像放在第一张图像上(我想是因为它不知道延伸到最后?)。我尝试过 -composite、-gravity 和 +repage 的各种组合,但似乎找不到解决方案。
我正在尝试按照官方页面的convert指南使用 imagemagick 的 util 将文本标签转换为图像
我正在使用以下命令。
convert -background lightblue -pointsize 72 label:" spaces " label.gif
虽然我的文本作为前导空格,但输出图像前面没有空格。空间正在被修剪。不过,尾随空格没有问题。我也尝试过在这个SO问题中给出的解决方案,但徒劳无功。
当convert读取图像时,ImageMagick 的默认行为似乎是覆盖任何现有文件。有可能阻止这种情况吗?我正在寻找类似于 Wget 的--no-clobber 下载选项。我已经浏览了ImageMagick 的命令行选项列表,我能找到的最接近的选项是-update,但这只能检测输入文件是否已更改。
这是我想要完成的示例:在第一次运行时,convert input.jpg output.png生成一个output.png尚不存在的值,然后在第二次运行时,convert input.jpg output.png检测到output.png 已存在的值并且不覆盖它。
imagemagick ×10
image ×2
.net ×1
batch-file ×1
c# ×1
command-line ×1
fonts ×1
montage ×1
png ×1
python ×1
subprocess ×1
svg ×1
transparency ×1
ubuntu ×1
ubuntu-16.04 ×1
windows ×1