Linux在命令行中逐个像素地创建Image

时间:2016-10-04 20:06:41

标签: linux image command line pixel

在Linux中是否有办法直接在命令行中逐个像素地创建图像?

我尝试过imagemagick,但它只能创建一个没有设置像素的空白图像。

任何想法?

2 个答案:

答案 0 :(得分:4)

好的,我们从一个红色像素开始:

convert xc:red image.png

我会扩大它 - 它相当小。

enter image description here

现在我们得到一个蓝色的并想要添加它:

convert image.png xc:blue +append image.png

enter image description here

然后有人给我们一个RGB像素:

convert image.png xc:"rgb(255,255,0)" +append image.png

enter image description here

现在一些麻烦制造者带来了一个HSL像素:

convert image.png xc:"hsl(120,100,100)" +append image.png

enter image description here

小心不要使用JPEG,因为它有损。

答案 1 :(得分:2)

您可以使用shell脚本来构建ppm映像。

echo "P2"
echo "# Column (width) Row (height)"
echo "$1 $1\n1"

t=`expr $1 / 8`
for i in `seq 1 4`; do
    for i in `seq 1 $t`; do
        for i in `seq 1 4`; do
            for i in `seq 1 $t`; do echo -n "1 "; done
            for i in `seq 1 $t`; do echo -n "0 "; done
        done
        echo
    done
    for i in `seq 1 $t`; do
        for i in `seq 1 4`; do
            for i in `seq 1 $t`; do echo -n "0 "; done
            for i in `seq 1 $t`; do echo -n "1 "; done
        done
        echo
    done
done

要运行上面的代码,请执行以下操作:

$ sh filename.sh 120 > im1.ppm ; eog im1.ppm

结果是: enter image description here