如何通过命令行替换图片中单个像素或整行像素为指定颜色?
用命令行工具替换图片单个像素或指定行部分像素
推荐使用ImageMagick(多数系统可通过包管理器直接安装)完成这类操作,以下是具体实现命令:
1. 替换单个像素
以替换图片左上角原点(0,0)的像素为srgb(85,85,85)为例:
convert input.png -fill "srgb(85,85,85)" -draw "point 0,0" output.png
-fill:指定要替换的目标颜色-draw "point x,y":定位目标像素并完成替换
2. 替换整行的指定范围像素
以替换第0行从起始位置(x=0)到x=100的所有像素为目标颜色为例:
convert input.png -fill "srgb(85,85,85)" -draw "rectangle 0,0 100,0" output.png
rectangle x1,y1 x2,y2:这里将y1和y2都设为0,锁定第0行;x1=0是区间起始点,x2=100是区间结束点(包含该位置),以此实现整行指定区间的像素替换- 若需替换整行全部像素,只需将
x2设为图片实际宽度值(可通过identify input.png命令获取宽度)
注意:ImageMagick的坐标系统以图片左上角为原点
(0,0),y轴向下递增。
内容的提问来源于stack exchange,提问作者匿名用户
相关产品推荐
相关产品推荐

