14

是否有创建简单 PNG/JPG 图片文件的命令,可以在 Mac 上的终端/脚本命令中运行?

现在,我将创建一个简单的单色 PNG 图片文件,并带有指定宽度和长度的参数。如果它可以在上面放文字,那就更好了。

4

4 回答 4

31

ImageMagick套件中的命令行convert实用程序可以轻松创建指定尺寸的图像:

convert -size 200x200 xc:white canvas.png

要创建带有文本的图像,请使用其他选项:

convert -size 200x200 -gravity center -background white -fill black \
        label:"text goes here" canvas.png

ImageMagick 站点有更多的使用示例。

要在 OSX 上获取 ImageMagick,您可以使用MacPorts等自动构建系统或运行预先制作的安装程序包

于 2012-09-19T18:38:45.520 回答
5

OS X 没有为此提供 shell 命令。但是你有三个选择。

OS X 确实在 Applescript 中提供了一种方法:图像事件。您可以使用 Applescript 或 Python 或 Ruby 与 appscript 或 ScriptingBridge 编写一个三行代码来执行您想要的操作,然后从 shell 运行它。

OS X 还在 Cocoa 中内置了一些相当高级的图像支持,您可以从 Python、Ruby、ObjC、Applescript 等中访问它,因此您可以编写一个五行代码来满足您的需求。

或者您可以使用第三方工具来满足您的需求。正如 user4815162342 所建议的那样,ImageMagick 可能是最好的一个。

(如果您在 SU 而不是 SO 上发布,我什至不会提及前两种可能性。)

于 2012-09-19T20:12:11.320 回答
2

如果你根本不想安装任何东西,你可以使用 macOS 的内置 PHP 解释器,它自动包含gd库。所以,这会给你一个像这样的脚本:

#!/usr/bin/php -f

<?php
// Create a 200*100 image
$im = imagecreate(200, 100);

// Blue background and red text
$bg = imagecolorallocate($im, 0, 0, 255);
$fg = imagecolorallocate($im, 255, 0, 0);

// Write the string and save to disk
imagestring($im, 5, 10, 30, 'Nothing to install', $fg);
imagepng($im, "result.png");
?>

在此处输入图像描述

于 2020-12-14T09:02:50.073 回答
1

改编自 @mark-setchell 的回答:

php -r '$i = imagecreate(500, 500); imagecolorallocate($i, 0, 0, 255); imagepng($i, "sample.png");'

只要安装了 Mac 的默认 PHP 版本,它就可以工作。

sample.php这将在您执行命令的同一目录中创建一个名为的蓝色 png 。

于 2021-08-26T14:22:52.280 回答