Saya baru-baru ini terdaftar di lagu I'm a Textpert tentang mengirim pesan teks saat mengemudi dan satu baris tertentu dalam lagu menginspirasi tantangan ini.
Saya tidak pernah membungkuk begitu rendah untuk foto teks / Sebaliknya saya teks kombinasi yang benar dari nol dan satu
Sekarang jelas, ini akan menjadi hal yang hampir mustahil untuk dilakukan di kepala orang dan jadi Anda harus membantu para textperts di seluruh dunia dengan mengkodekan sebuah program untuk melakukan hal yang sama.
Tugas Anda adalah mengambil nama file gambar dengan dimensi 500x500
piksel dan output file sebagai biner. Anda juga dapat mengambil gambar sebagai input, jika bahasa Anda mendukungnya.
Anda dapat menggunakan file gambar dengan ekstensi
.jpg
.png
.gif
.bmp
.svg
Izinkan saya mendemonstrasikan cara mengubah gambar menjadi biner, bagi mereka yang tidak mengerti apa yang saya maksud.
Langkah 1
Ambil piksel pertama dalam file dan ambil nilai RGB-nya sebagai 3 angka desimal: R, G, dan B. Mari kita asumsikan, misalnya, bahwa piksel pertama adalah 255,0,0
(merah).
Langkah 2
Ubah setiap angka menjadi representasi biner 8-bit dan gabungkan menjadi angka 24-bit tunggal. Sebagai contoh, ini menghasilkan111111110000000000000000
Langkah 3
Tambahkan nomor 24-bit ini ke output akhir. Oleh karena itu, hasil akhir harus 6000000
panjang digit dan harus terdiri dari seluruhnya 1
dan0
Ini adalah kode-golf sehingga kode terpendek menang!
sumber
Jawaban:
Pyth ,
1413 byte-1 byte terima kasih kepada Erik the Outgolfer (
z
dapat dihapus untuk input implisit).Penjelasan
Sayangnya, karena alasan keamanan, itu tidak dapat diuji dengan penerjemah online ; Anda harus mengkloning Pyth untuk mengujinya di komputer Anda sendiri.
sumber
z
.MATL ,
1312 byteMenerima nama file sebagai string sebagai input. Output angka 24-bit ditampilkan dalam urutan baris-utama.
Sayangnya ini tidak berfungsi pada penerjemah online karena alasan keamanan. Ini adalah tangkapan layar yang bekerja di mesin lokal saya
Ini adalah versi yang sedikit dimodifikasi di mana saya secara manual membuat gambar 2 x 2 x 3 dan kemudian menggunakan (hampir) kode yang sama untuk memprosesnya.
Penjelasan
sumber
Mathematica, 103 byte
mengambil gambar x.bmp (atau yang lain) dan mengubahnya menjadi file x.txt
sumber
PadLeft
, Anda bisa menggunakan argumen ketiga dariIntegerDigits
(yaituIntegerDigits[#,2,8]&
Import
`Ekspor`.C #, 309 byte
Golf kode kedua saya, jika Anda tidak tahu. Mengambil gambar x.jpg ...
sumber
Oktaf, 46 byte
Membuat fungsi anonim bernama
ans
yang dapat dipanggil dengan nama file (ans('file.png')
) atau URL (ans('http://image.png')
)sumber