如何通过 cli 按像素编辑 PNG 图像?
假设我有一个 PNG 图像,我想将其中的某些像素更改为黑色。我该怎么做呢?
我的猜测是我应该走 ImageMagick 路线。但是我该如何将顶部和左侧的像素十更改为黑色呢?例如,2% 灰色等?
编辑:由于注释字段不适用于代码,因此此添加针对 eduffys 答案:
谢谢。在纠正语法之后,这引导了我一些方法。但它不起作用,因为我无法设置颜色。
convert foo.png -draw 'color 10,10 point' foo1.png
有效,将像素绘制为黑色
convert foo.png -draw '#cc9999 color 10,10 point' foo1.png
不返回错误,但不执行文件可见的任何操作
convert foo.png -draw 'color #cc9999 10,10 point' foo1.png
给我一条错误消息。
Say I have an PNG image where I want to change certain pixels to, say, black. How would I do that?
My guess is that I should take the ImageMagick route. But how would I change, say, pixel ten from the top and from the left to black? To, say, 2% grey etc?
EDIT: Since the comment field doesn´t work for code, this addition is directed to eduffys answer:
Thanks. That lead me some of the way, after correcting the syntax. But it doesn´t work quite yes, as I can´t set the colour.
convert foo.png -draw ‘color 10,10 point’ foo1.png
works, painting the pixel black
convert foo.png -draw ‘#cc9999 color 10,10 point’ foo1.png
Does not return an error but doesn´t do anything visible to the file
convert foo.png -draw ‘color #cc9999 10,10 point’ foo1.png
Give me an error message.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将
convert
或mogrify
与-draw
开关和point
命令结合起来。像这样的东西(未测试)
You could combine either
convert
ormogrify
with the-draw
switch and thepoint
command.Something like this (not tested)
如果你不介意使用 php 脚本,你可以看一下:
PHP 图形。
这样您就可以执行脚本:
上一个链接也有水印示例。
您可以选择重新替换图像,或将输出重定向到文件(记住删除 HTTP 标头)。
祝你好运,
If you don't mind using php script, you can take a look on:
php graphic.
That way you can execute the script:
Previous link has watermark examples too.
You can choose to reeplace the image, or to redirect the output to a file (remember removing HTTP headers).
Good luck,