Este es un desafío simple.
La tarea es escribir código que genere una imagen cuadrada de 448 * 448 con 100% de transparencia. El resultado debe seguir las reglas de imagen estándar .
code-golf
graphical-output
Anush
fuente
fuente
Respuestas:
Imagemagick en una cáscara, 35
¿Esto está permitido?
fuente
\windows\system32
).convert
herramienta, porque el nombre choca con la utilidad del sistema. Corres en sumagick convert ...
lugar.convert
es parte de ImageMagick, por lo que llamarlo en su propio idioma no funcionaría.ImageMagick Convert
. Sin embargoAPL (Dyalog Unicode) , SBCS de 11 bytes
Programa completo Imprime una matriz de 448 por 448 por 4 que representa una imagen rgba de 448 por 448.
Pruébalo en línea!
⍴
es r eshapefuente
448 448
.802832p0
como respuesta?Go, 70
Nunca he visto un golf en Go antes. Define una función llamada a que genera la imagen
fuente
JavaScript (ES6),
7469 bytesDevuelve una imagen PNG codificada como datos: URL adecuada, p. Ej., Para establecerla como
src
unaHTMLImageElement
. Editar: Guardado 3 bytes gracias a @Shaggy y otros 2 bytes gracias a @Arnauld.fuente
document.createElement`canvas`
debería funcionar, ahorrando 2 bytes más.d=document
en la parte superior y reemplazarlodocument
cond
? Debería guardar ~ 5 caracteres.document.write
es solo parte del fragmento de pila, no parte de la función, por lo que no cuenta de todos modos.Java 8, 23 (o 20) bytes
Devuelve una matriz 3D de 448x448x4 0s.
Pruébalo en línea.
Explicación:
Devuelve una matriz de 448x448 de 0s.
En Java, los valores RGBA pueden representarse mediante un número entero . El hexadecimal
0x00000000
representaría00
para rojo, verde, azul y alfa respectivamente. Y0x00000000
es igual al entero0
.Pruébalo en línea.
fuente
v->new int[448][448]
? Porque un color se puede representar con un número entero (RGBA) en Java.0-255
un valor RBGA válido? Sé que es un valor RGB válido, pero también RGBA. Casi nunca uso imágenes en Java, así que no estoy muy familiarizado con ellas. Simplemente basé mis 4 ceros internos en otras respuestas.0x00000000
que caben en un int. Los primeros 2 dígitos hexadecimales son el Alfa, los siguientes 2 son el rojo, los siguientes 2 son el verde, los 2 últimos son el azul, por lo que solo necesita un número entero. Ver BufferedImage.TYPE_INT_ARGB . Tienes 4 valores, resumidos como un entero. Y0x00000000
es igual a0
.Java 8
Guardar la imagen en un archivo con ruta
s
, 101 bytesPruébelo en línea ... de alguna manera
Devolviendo la imagen almacenada, 46 bytes
Guardar la imagen en el archivo
f
, 83 bytesVolcado de PNG a STDOUT, 92 bytes (¡gracias solo ASCII!)
Pruébalo en línea!
¡Gracias a Kevin por guardar un byte para la segunda y cuarta solución!
fuente
()->
en dos de sus respuestasv->
, ya que se le permite tener una entrada vacía no utilizada (para lo que yo personalmente usoVoid
). Su último TIO sería este en su lugar .05AB1E ,
12109 bytesPruébalo en línea.
o alternativamente:
Pruébalo en línea.
-2 bytes gracias a @Emigna .
-1 byte gracias a @Adnan .
Emite una lista 3D de 0s de 448x448x4.
Explicación:
Ver este 05AB1E respuesta mío (sección Cómo comprimir grandes números enteros? ) Para entender por qué
Ž1Â
es448
.fuente
Procesando, 66 bytes
fuente
Python 2.7, 17 Bytes (22 con impresión)
Con impresión:
Como variable:
Como se permite un conjunto de RGBA, eso es lo que he creado anteriormente, por defecto a todos los 0, es decir, negro, pero totalmente transparente.
Pruébalo en línea!
fuente
[0]*802816
que también debería funcionar.Jalea , 8 bytes
Un enlace niládico que produce una matriz RGBA de 448 por 448 de píxeles negros transparentes.
Pruébalo en línea!
¿Cómo?
fuente
HTML, 25 bytes
¿Es esto válido?
Pruébelo (
background
aplicado con CSS para que pueda "verlo")fuente
<svg height=448 width=448
en un archivo html y abrirlo produce un vacío<body>
. Sin embargo , con la penalidad de 1 byte, si escribe<svg height=448 width=448>
, produce un<body>
con una imagen SVG vacía.>
significa que esto es, de hecho, válido, en lo que respecta al marcado.<!DOCTYPE html>
,<html>
,<head>
,<style>
,<script>
y todo va al<body>
. Se requiere parte del código adicional para producir la salida deseada. Puede ver que el código resultante se analiza como<svg height="448" width="448" < body></svg>
, porque escribe<svg height=448 width=448 </body>
en el iframe. Como tal, todavía creo que no es válido.C # (compilador interactivo de Visual C #) , 21 bytes
Pruébalo en línea!
fuente
Rust -
206201168 bytesEsto escribe un archivo o.tga real y legible, sin bibliotecas ni funciones integradas, utilizando el formato binario TGA según http://paulbourke.net/dataformats/tga/ , codificando el ancho y la altura en el encabezado del archivo binario.
-5 bytes acortar el nombre del archivo, corregir el tamaño de la imagen, @ solo ASCII
fuente
a
funcionaría como nombre de archivo no lo haría. por cierto es 448 * 448 no 444 * 444, por lo que esto no es válido[255,0,0,0,0]
6272 veces ([0,0,0,0]
128 veces, repetidas 6272 veces). El tipo de imagen10
no sería,2
incluso mejor, mapa de colores para una codificación de longitud de ejecución más corta (0,0,0,0
->0
)C # (compilador interactivo de Visual C #) , 48 bytes
Aparentemente, la salida
[1D array of pixels, width, height]
está bien, por lo que genera una tupla de `(IEnumerable de píxeles, ancho, alto).Pruébalo en línea!
C # (compilador interactivo de Visual C #) , 58 bytes
La matriz original que devuelve la respuesta.
Dado que las reglas IO de la imagen permiten la salida como una matriz de valores RGB, este envío genera una matriz de valores RGBA, representada por tuplas con cuatro valores, siendo todos 0.
Pruébalo en línea!
fuente
PHP, 192 bytes
Lamentablemente, PHP apesta en ese aspecto porque requiere una gran cantidad de código. Pero, de nuevo, donde PHP no apesta.
Sin golf:
Obviamente, si solo desea crearlo sin generarlo, puede omitir los comandos
header()
yreadfile()
. Aún así, es idiotamente largo.fuente
'<?php return '.var_export(array_fill(0,952576,0),1).';';
para exportar la matriz de forma ejecutable. puede hacerphp -f image.php > array.php
, y en otro lugar puede hacer$array = include('array.php');
para tener una matriz utilizable nuevamente. Pero no sé si es válido, así que te lo doy para que lo agregues como alternativa. O incluso a<?=json_encode(array_fill(0,952576,0));
.true
se puede reemplazar con1
, para guardar 3 bytes. Leyendo la documentación deimagepng()
, puedes hacerloheader('Content-type: image/png');imagepng($i);
. Creo que también se puede sustituir$b=imagecolorallocatealpha($i,0,0,0,127);imagefill($i,0,0,$b);
conimagefill($i,0,0,imagecolorallocatealpha($i,0,0,0,127));
menos yo DonT citar al respecto.<? imagecolorallocatealpha($i=imagecreate(448,448),0,0,0,127);header('Content-type: image/png');imagepng($i);
produce una imagen transparente (109 bytes). Envía automáticamente la imagen al navegador / salida estándar y todo.Python 3.7 - PIL importado, 30 bytes
Esto requiere una importación, pero tiene la ventaja de crear y mostrar un archivo de imagen real en lugar de una matriz vacía abstracta.
Explicación:
Image.show () abrirá la imagen en su programa de imagen predeterminado. En mi caso, esto abre un archivo de mapa de bits temporal en Windows Photo Viewer, pero los resultados pueden variar. Podría decirse que esto es trampa ya que la representación de mapa de bits no contiene transparencia
Variaciones ...
fuente
Import
.new("LA",[448]*2).show()
26 bytes.MATLAB, 31 bytes
Crea una matriz de
NaN
valores de 448 x 448 , y luego los usaimwrite
para guardarlos en un archivo PNG llamado'.png'
y establece la transparencia en 1, haciéndolo transparente. El'Transparency'
nombre del parámetro puede abreviarse'tr'
ya que MATLAB permite la coincidencia parcial de cadenas de nombres de parámetros siempre que la versión abreviada sea única entre los parámetros disponibles.fuente
dzaima / APL + APLP5 ,
1816 bytesFunción que genera un objeto de imagen que se puede dibujar en la pantalla (sin efecto) o volver a convertirlo en valores de píxeles.
-2 gracias a ngn !
fuente
{P5.img⍴∘0,⍨448}
Jalea ,
109 bytesPruébalo en línea!
Emite una matriz 448x448x4
Gracias a @JonathanAllan por guardar un byte.
fuente
2¡
puede ser⁺
Rojo , 33 bytes
La opacidad por defecto es completamente opaca (0)
Así es como se usa / un programa completo /:
fuente
MathGolf , 10 bytes
Pruébalo en línea!
Explicación
Este método ahorra 1 byte en comparación con el "estándar"
♦7*_4º*a*a*
fuente
JavaScript (Node.js) , 39 bytes
Aparentemente, la salida
[height, width, 1d array of RGBA values]
está bien.Pruébalo en línea!
-3 bytes gracias a @Arnauld
fuente
[1D array of pixels, width, height]
[width, height, array]
.SmileBASIC, 27 bytes
Guarda una matriz bidimensional 448x448 llena de ceros en un archivo llamado
DAT:I
(que es más corto que definir una función que devuelve la matriz, de alguna manera)Los formatos estándar (utilizados por todas las funciones gráficas) para los colores en SmileBASIC son ARGB de 32 bits y RGBA 5551 de 16 bits, y
0
son transparentes en ambos.fuente
ARGB
formato de 4 bytes (comúnmente utilizado en Smilebasic), por lo que0x00000000
es Alfa = 0, Rojo = 0, Verde = 0, Azul = 0. Negro sería0xFF000000
.GRP
pero lo dejaré ir ya que los datos reales que se almacenan son los mismos.ScPL para accesos directos de iOS , 98 bytes
Acceso directo a iCloud Link
Toma un gif transparente 1x1 codificado como base64 y lo redimensiona
fuente
Jstx , 24 bytes
Explicación
Pruébalo en línea!
fuente
R , 21 bytes
Pruébalo en línea!
Devuelve una matriz 3D de ceros.
fuente
Japt , 9 bytes
Pruébalo en línea!
fuente
C ++, SFML, 131 bytes
fuente
JavaScript + HTML, 56 bytes
Al hacer clic en "Ejecutar fragmento de código", se generará un PNG transparente de 448x448 en un IFRAME. Luego puede hacer clic con el botón derecho en "Guardar imagen como ..." para descargarlo en su computadora.
fuente