Pertama, Anda perlu memberi makan display RGB:-
byte mentah, bukan string hex yang disandikan seperti Anda sedang membangun dengan hexdump | sed | tr
pipa itu.
Kedua, Anda tidak memberikan cukup byte: Anda perlu 3 byte per piksel, satu untuk setiap saluran warna.
Ini melakukan apa yang Anda inginkan:
mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | display -depth 8 -size "${mx}x${my}" RGB:-
Untuk menyimpan langsung ke PNG, Anda dapat melakukan ini:
mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size "${mx}x${my}" RGB:- random.png
Berikut ini adalah gambar output khas:
Jika Anda ingin membuat animasi, tidak perlu membuat dan menyimpan masing-masing bingkai. Anda dapat memberi makan stream byte mentah langsung ke ffmpeg / avconv, mis
mx=320; my=256; nframes=100; dd if=/dev/urandom bs="$((mx*my*3))" count="$nframes" | avconv -r 25 -s "${mx}x${my}" -f rawvideo -pix_fmt rgb24 -i - random.mp4