Saya menghasilkan data acak dan mencoba mengubahnya menjadi gambar PNG menggunakan:
head -c 1MB < /dev/urandom | hexdump -e '16/1 "_x%02X"' | sed 's/_/\\/g; s/\\x //g; s/.*/ "&"/' | tr -d "\"" | display -depth 8 -size 1000x1000+0 rgb:-
Perintah ini selalu menampilkan gambar keabu-abuan dengan beberapa piksel RGB. Apa yang saya lakukan salah?
Tujuan akhir saya adalah menghasilkan setidaknya satu gambar dengan data acak.
command-line
display
images
random
pxoto
sumber
sumber
Jawaban:
Pertama, Anda perlu memberi makan
display RGB:-
byte mentah, bukan string hex yang disandikan seperti Anda sedang membangun denganhexdump | 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:
Untuk menyimpan langsung ke PNG, Anda dapat melakukan ini:
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
sumber