Kadang-kadang ketika saya bosan, saya mengambil beberapa teks dan mengisi "lubang" di surat-surat. Tetapi bukankah mengisi lubang adalah hal paling membosankan yang dapat Anda lakukan? Saya pikir kita harus mengotomatiskannya , sehingga kita dapat menggunakan waktu kita lebih baik.
Aturan standar kode-golf berlaku.
Memasukkan
String yang berisi urutan karakter alfanumerik (az, AZ, 0-9) dan spasi.
Keluaran
Gambar berisi string yang diberikan dan lubang di atasnya terisi. Anda dapat menggunakan font apa saja yang dapat dibaca manusia selama masih membutuhkan lubang. Anda dapat menyimpan gambar ke file i.png
(dalam format png) atau hanya menampilkan gambar.
Properti gambar:
- Teks hitam
- Latar belakang putih atau transparan
- Lapisan:
- Dimensi gambar dapat maksimum dua kali dimensi teks
- Padding harus berwarna sama dengan latar belakang, baik putih atau transparan
Contoh
Memasukkan: Example text
code-golf
graphical-output
image-processing
Hannes Karppila
sumber
sumber
Jawaban:
Bash, 135 byte
Menggunakan ImageMagick (
convert
).Output sampel:
Menonaktifkan antialiasing diperlukan karena bagian interior antialiased dari surat tidak akan mengisi banjir. Mengatur font ke ukuran besar juga diperlukan karena beberapa font memiliki "celah" dalam huruf yang seharusnya memiliki "lubang" di dalamnya pada ukuran font kecil (dalam tes saya,
a
tidak diisi pada ukuran font kecil standar).sumber
Mathematica, 83 byte
Fungsi tanpa nama yang mengambil string sebagai input dan mengembalikan objek gambar. Idenya adalah menggunakan hanya
DeleteBorderComponents
untuk menjaga lubang dan kemudian mengurangi mereka dari gambar aslinya.sumber
ImageSubtract
danDeleteBorderComponents
.SmileBASIC, 38 byte
Gambarlah teks hitam * di latar belakang hitam, lalu gunakan fungsi "ember cat" bawaan untuk mengisi semua yang di luar teks dengan warna putih.
* (sebenarnya saya gunakan
00000008
, yang terlihat identik dengan transparan, tetapi diperlakukan sebagai warna yang berbeda)sumber
Menggerogoti teks sedikit, tetapi ada juga solusi berbasis kanvas:
JS, 610 byte
sumber
Catatan tambahan 273
[Awalnya diposting ke tantangan terkait , tapi saya tidak pernah menerapkan penghitungan.]
Render setiap karakter secara normal, untuk mendapatkan jarak yang benar untuk maju, lalu ambil semua kurva yang menggambarkan mesin terbang dan isi masing-masing. Biasanya kurva interior dan eksterior dijelaskan dengan orientasi yang berbeda, sehingga isian akan membiarkan interior kosong, terlepas dari apakah itu menggunakan aturan belitan non-nol atau aturan genap. Mengisi secara terpisah, semuanya terisi.
Bertakuk:
Pemakaian. Objek string diharapkan berada di tumpukan ketika program dimulai. Penskalaan ekstra hanya untuk membuatnya terlihat.
sumber