Ini adalah tantangan sederhana.
Tugasnya adalah menulis kode yang menghasilkan gambar persegi 448 * 448 dengan transparansi 100%. Outputnya harus mengikuti aturan gambar standar .
code-golf
graphical-output
Anush
sumber
sumber
Jawaban:
Bayangkan dalam cangkang, 35
Apakah ini diizinkan?
sumber
\windows\system32
).convert
alat, karena namanya bentrok dengan utilitas sistem. Andamagick convert ...
malah lari .convert
adalah bagian dari ImageMagick, jadi menyebutnya bahasa sendiri tidak akan berfungsi.ImageMagick Convert
. Mungkin layak membuka meta tentang hal ituAPL (Dyalog Unicode) , 11 byte SBCS
Program lengkap. Mencetak 448-by-448-by-4 array yang mewakili gambar 448-by-448 rgba.
Cobalah online!
⍴
adalah r eshapesumber
448 448
?802832p0
sebagai jawabannya?Pergi, 70
Belum pernah melihat golf di Go sebelumnya. Menentukan fungsi yang disebut yang menampilkan gambar
sumber
JavaScript (ES6),
7469 byteMengembalikan gambar PNG yang disandikan sebagai data: URL yang cocok misalnya untuk pengaturan sebagai
src
dariHTMLImageElement
. Sunting: Disimpan 3 byte berkat @Shaggy dan 2 byte lebih lanjut berkat @Arnauld.sumber
document.createElement`canvas`
harus bekerja, menghemat 2 byte lebih banyak.d=document
di bagian atas dan gantidocument
dengand
? Harus menyimpan ~ 5 karakter.document.write
hanya bagian dari potongan tumpukan, bukan bagian dari fungsi, jadi tidak masuk hitungan.Java 8, 23 (atau 20) byte
Mengembalikan array 3D sebesar 448x448x4 0s.
Cobalah online.
Penjelasan:
Mengembalikan matriks 448x448 dari 0s.
Di Jawa, nilai-nilai RGBA dapat diwakili oleh integer . Heksadesimal
0x00000000
akan mewakili masing00
-masing merah, hijau, biru, dan alfa. Dan0x00000000
sama dengan bilangan bulat0
.Cobalah online.
sumber
v->new int[448][448]
? Karena warna dapat direpresentasikan dengan integer (RGBA) di Java.0-255
nilai RBGA yang valid? Saya tahu ini adalah nilai RGB yang valid, tetapi juga RGBA? Saya hampir tidak pernah menggunakan gambar di Jawa, jadi tidak terlalu terbiasa dengannya. Saya hanya mendasarkan 4 batin saya pada jawaban lain.0x00000000
yang sesuai pada int. 2 digit hex pertama adalah Alpha, 2 berikutnya adalah merah, 2 berikutnya adalah hijau, 2 terakhir adalah biru. Jadi Anda hanya perlu integer. Lihat BufferedImage.TYPE_INT_ARGB . Anda memiliki 4 nilai, diringkas sebagai satu bilangan bulat. Dan0x00000000
sama dengan0
.Java 8
Menyimpan gambar ke file dengan path
s
, 101 byteCoba online ... entah bagaimana
Mengembalikan BufferedImage, 46 byte
Menyimpan gambar ke file
f
, 83 byteDumping PNG ke STDOUT, 92 byte (terima kasih ASCII saja!)
Cobalah online!
Terima kasih kepada Kevin karena telah menyimpan byte untuk solusi kedua dan keempat!
sumber
()->
dua jawaban Anda ke dalamv->
, karena diizinkan memiliki input kosong yang tidak digunakan (yang saya gunakan secara pribadiVoid
). TIO terakhir Anda kemudian akan menjadi ini .05AB1E ,
12109 byteCobalah online.
atau sebagai alternatif:
Cobalah online.
-2 byte terima kasih kepada @Emigna .
-1 byte terima kasih kepada @Adnan .
Menghasilkan daftar 3D 448x448x4 dari 0d.
Penjelasan:
Lihat ini 05AB1E jawaban saya (bagian Cara kompres bilangan bulat besar? ) Untuk memahami mengapa
Ž1Â
adalah448
.sumber
Memproses, 66 byte
sumber
Python 2.7, 17 Bytes (22 Dengan Cetak)
Dengan Cetak:
Sebagai variabel:
Sebagai array RGBA diperbolehkan, itulah yang saya buat di atas, default ke semua 0's - yang berarti hitam, tetapi benar-benar transparan.
Cobalah online!
sumber
[0]*802816
juga harus berhasil.Jelly , 8 byte
Tautan niladic yang menghasilkan array 448 by 448 RGBA piksel hitam transparan.
Cobalah online!
Bagaimana?
sumber
HTML, 25 byte
Apakah ini valid?
Mengujinya (
background
diterapkan dengan CSS sehingga Anda dapat "melihatnya")sumber
<svg height=448 width=448
memasukkan ke dalam file html dan membukanya menghasilkan kosong<body>
. Namun , dengan hukuman 1 byte, jika Anda menulis<svg height=448 width=448>
, itu menghasilkan<body>
gambar SVG kosong.>
berarti ini memang benar, sejauh markup berlangsung.<!DOCTYPE html>
,<html>
,<head>
,<style>
,<script>
dan semuanya berjalan dengan<body>
. Beberapa kode tambahan diperlukan untuk menghasilkan output yang diinginkan. Anda dapat melihat bahwa kode yang dihasilkan diuraikan sebagai<svg height="448" width="448" < body></svg>
, karena ia menulis<svg height=448 width=448 </body>
di iframe. Karena itu, saya masih percaya itu tidak valid.C # (Visual C # Interactive Compiler) , 21 byte
Cobalah online!
sumber
Karat -
206201168 byteIni menulis file o.tga yang sebenarnya dan dapat dibaca, tanpa fungsi pustaka atau builtin, menggunakan format biner TGA per http://paulbourke.net/dataformats/tga/ , dengan mengkode keras lebar dan tinggi ke header file biner.
-5 byte mempersingkat nama file, memperbaiki ukuran img, hanya @ ASCII
sumber
a
akan berfungsi sebagai nama file kan? btw itu 448 * 448 bukan 444 * 444 jadi ini tidak valid[255,0,0,0,0]
6272 kali ([0,0,0,0]
128 kali, ulangi 6272 kali) .jenis gambar10
tidak akan2
. bahkan lebih baik, colormap untuk pengkodean panjang lintasan yang lebih pendek (0,0,0,0
->0
)C # (Visual C # Interactive Compiler) , 48 byte
Ternyata keluaran
[1D array of pixels, width, height]
ok, jadi ini menghasilkan tuple `(IEnumerable piksel, lebar, tinggi).Cobalah online!
C # (Visual C # Interactive Compiler) , 58 byte
Matriks asli mengembalikan jawaban.
Karena aturan IO gambar memungkinkan output sebagai matriks nilai RGB, pengiriman ini menghasilkan matriks nilai RGBA, yang diwakili oleh tupel dengan empat nilai, semuanya 0.
Cobalah online!
sumber
PHP, 192 byte
Sayangnya, PHP agak menyebalkan dalam aspek itu karena membutuhkan banyak kode. Tapi sekali lagi, di mana PHP tidak payah.
Tidak Disatukan:
Jelas, jika Anda hanya ingin membuatnya tanpa mengeluarkannya, Anda dapat menghilangkan
header()
danreadfile()
memerintahkannya. Tetap saja, ini panjang sekali.sumber
'<?php return '.var_export(array_fill(0,952576,0),1).';';
untuk mengekspor array dengan cara yang dapat dieksekusi. Anda dapat melakukannyaphp -f image.php > array.php
, dan di tempat lain Anda dapat melakukannya$array = include('array.php');
untuk memiliki array yang dapat digunakan lagi. Tapi saya tidak tahu apakah itu valid, jadi, saya berikan kepada Anda untuk ditambahkan sebagai alternatif. Atau bahkan a<?=json_encode(array_fill(0,952576,0));
.true
bisa diganti dengan1
, untuk menghemat 3 byte. Membaca dokumentasiimagepng()
, Anda bisa melakukannyaheader('Content-type: image/png');imagepng($i);
. Saya percaya Anda juga bisa menggantinya$b=imagecolorallocatealpha($i,0,0,0,127);imagefill($i,0,0,$b);
denganimagefill($i,0,0,imagecolorallocatealpha($i,0,0,0,127));
tetapi jangan mengutip saya tentang itu.<? imagecolorallocatealpha($i=imagecreate(448,448),0,0,0,127);header('Content-type: image/png');imagepng($i);
menghasilkan gambar transparan (109 byte). Secara otomatis mengirim gambar ke browser / output standar dan semuanya.Python 3.7 - PIL Diimpor, 30 byte
Ini membutuhkan impor tetapi memiliki manfaat membuat dan menampilkan file gambar yang sebenarnya daripada array kosong abstrak.
Penjelasan:
Image.show () akan membuka gambar di program gambar default Anda. Dalam kasus saya ini membuka file bitmap sementara di Windows Photo Viewer tetapi hasilnya dapat bervariasi. Bisa dibilang ini curang karena representasi bitmap tidak mengandung transparansi
Variasi ...
sumber
Import
.new("LA",[448]*2).show()
, 26 byte.MATLAB, 31 byte
Membuat matriks
NaN
nilai 448 x 448 , dan kemudian gunakanimwrite
untuk menyimpannya ke file PNG bernama'.png'
dan mengatur transparansi ke 1, menjadikannya transparan. Nama'Transparency'
parameter dapat disingkat menjadi'tr'
sebagai MATLAB memungkinkan untuk pencocokan string parsial nama parameter selama versi singkat adalah unik di antara parameter yang tersedia.sumber
dzaima / APL + APLP5 ,
1816 byteFungsi yang menampilkan objek gambar yang dapat ditarik ke layar (tanpa efek) atau dikonversi kembali ke nilai piksel.
-2 Terima kasih ngn !
sumber
{P5.img⍴∘0,⍨448}
Jelly ,
109 byteCobalah online!
Output array 448x448x4
Terima kasih kepada @JonathanAllan karena telah menghemat satu byte.
sumber
2¡
bisa⁺
Merah , 33 byte
Default opacity menjadi sepenuhnya buram (0)
Ini adalah bagaimana menggunakannya / program lengkap /:
sumber
MathGolf , 10 byte
Cobalah online!
Penjelasan
Metode ini menghemat 1 byte dibandingkan dengan "standar"
♦7*_4º*a*a*
sumber
JavaScript (Node.js) , 39 byte
Ternyata keluarannya
[height, width, 1d array of RGBA values]
ok.Cobalah online!
-3 byte terima kasih kepada @Arnauld
sumber
[1D array of pixels, width, height]
[width, height, array]
.SmileBASIC, 27 byte
Menyimpan array 448x448 2 dimensi yang diisi dengan 0s ke file bernama
DAT:I
(Yang lebih pendek daripada mendefinisikan fungsi yang mengembalikan array, entah bagaimana)Format standar (digunakan oleh semua fungsi grafik) untuk warna dalam SmileBASIC adalah 32 bit ARGB dan 16 bit 5551 RGBA, dan
0
transparan pada keduanya.sumber
ARGB
format 4 byte (biasanya digunakan dalam Smilebasic), demikian0x00000000
juga Alpha = 0, Red = 0, Green = 0, Blue = 0. Hitam0xFF000000
.GRP
tetapi saya akan membiarkannya karena data aktual yang disimpan adalah sama.ScPL untuk iOS Shortcuts , 98 byte
Tautan iCloud Pintas
Mengambil gif transparan 1x1 yang disandikan sebagai base64 dan mengubah ukurannya
sumber
Jstx , 24 byte
Penjelasan
Cobalah online!
sumber
R , 21 byte
Cobalah online!
Mengembalikan array 3D dari nol.
sumber
Japt , 9 byte
Cobalah online!
sumber
C ++, SFML, 131 byte
sumber
JavaScript + HTML, 56 byte
Mengklik "Jalankan cuplikan kode" akan menghasilkan PNG transparan 448x448 dalam IFRAME. Anda kemudian dapat mengklik kanan "Simpan gambar sebagai ..." untuk mengunduhnya ke komputer Anda.
sumber