Este é um desafio simples.
A tarefa é escrever um código que produza uma imagem quadrada 448 * 448 com 100% de transparência. A saída deve seguir as regras de imagem padrão .
code-golf
graphical-output
Anush
fonte
fonte
Respostas:
Imagemagick em alguma concha, 35
Isso é permitido?
fonte
\windows\system32
).convert
ferramenta, porque o nome entra em conflito com o utilitário do sistema. Você corremagick convert ...
em seu lugar.convert
faz parte do ImageMagick, portanto chamá-lo de seu próprio idioma não funcionaria.ImageMagick Convert
. Pode valer a pena abrir uma meta sobre ele emboraAPL (Dyalog Unicode) , 11 bytes SBCS
Programa completo. Imprime uma matriz de 448 x 448 x 4 representando uma imagem rgba de 448 x 448.
Experimente online!
⍴
é r eshapefonte
448 448
?802832p0
como resposta?Go, 70
Nunca vi um golfe em Go antes. Define uma função chamada a que gera a imagem
fonte
JavaScript (ES6),
7469 bytesRetorna uma imagem PNG codificada como dados: URL adequado, por exemplo, para definir como o
src
de umHTMLImageElement
. Editar: salvou 3 bytes graças a @Shaggy e mais 2 bytes graças a @Arnauld.fonte
document.createElement`canvas`
deve funcionar, economizando mais 2 bytes.d=document
no topo e substituirdocument
pord
? Deve salvar ~ 5 caracteres.document.write
é apenas parte do snippet da pilha, não parte da função, portanto não conta de qualquer maneira.Bytes Java 8, 23 (ou 20)
Retorna uma matriz 3D de 448x448x4 0s.
Experimente online.
Explicação:
Retorna uma matriz de 448x448 de 0s.
Em Java, os valores RGBA podem ser representados por um número inteiro . O hexadecimal
0x00000000
representaria00
para vermelho, verde, azul e alfa, respectivamente. E0x00000000
é igual ao número inteiro0
.Experimente online.
fonte
v->new int[448][448]
? Porque uma cor pode ser representada com um número inteiro (RGBA) em Java.0-255
um valor RBGA válido? Eu sei que é um valor RGB válido, mas também RGBA? Eu quase nunca uso imagens em Java, então não estou muito familiarizado com elas. Simplesmente baseei meus 4 0s internos em outras respostas.0x00000000
que se encaixam em um int. Os 2 primeiros dígitos hexadecimais são Alfa, os 2 seguintes são vermelhos, os 2 seguintes são verdes, os 2 finais são azuis. Portanto, você só precisa de um número inteiro. Consulte BufferedImage.TYPE_INT_ARGB . Você tem 4 valores, resumidos como um número inteiro. E0x00000000
é igual a0
.Java 8
Salvando a imagem em um arquivo com caminho
s
, 101 bytesExperimente online ... de alguma forma
Retornando a BufferedImage, 46 bytes
Salvando a imagem no arquivo
f
, 83 bytesDespejo de PNG para STDOUT, 92 bytes (graças apenas ao ASCII!)
Experimente online!
Agradecemos a Kevin por salvar um byte para a segunda e quarta soluções!
fonte
()->
em duas de suas respostasv->
, já que é permitido ter uma entrada vazia não utilizada (para a qual eu pessoalmente usoVoid
). Seu último TIO seria então esse .05AB1E ,
12109 bytesExperimente online.
ou alternativamente:
Experimente online.
-2 bytes graças a @Emigna .
-1 byte graças a @Adnan .
Emite uma lista 3D de 448x448x4 de 0s.
Explicação:
Veja este 05AB1E resposta meu (seção Como comprimir grandes inteiros? ) Para entender por que
Ž1Â
é448
.fonte
Processando, 66 bytes
fonte
Python 2.7, 17 bytes (22 com impressão)
Com impressão:
Como variável:
Como uma matriz de RGBA é permitida, foi isso que criei acima, padronizando todos os 0s - significando preto, mas totalmente transparente.
Experimente online!
fonte
[0]*802816
que isso também deve funcionar.Geléia , 8 bytes
Um link niládico que gera uma matriz de 448 por 448 RGBA de pixels pretos transparentes.
Experimente online!
Como?
fonte
HTML, 25 bytes
Isso é válido?
Teste (
background
aplicado com CSS para que você possa "vê-lo")fonte
<svg height=448 width=448
em um arquivo html e abri-lo produz um vazio<body>
. No entanto , com a penalidade de 1 byte, se você escrever<svg height=448 width=448>
, produz um<body>
com uma imagem SVG vazia.>
significa que isso é, de fato, válido, tanto quanto a marcação.<!DOCTYPE html>
,<html>
,<head>
,<style>
,<script>
e tudo vai para o<body>
. É necessário um pouco do código adicional para produzir a saída desejada. Você pode ver que o código resultante é analisado como<svg height="448" width="448" < body></svg>
, porque ele grava<svg height=448 width=448 </body>
no iframe. Como tal, ainda acredito que não é válido.C # (compilador interativo do Visual C #) , 21 bytes
Experimente online!
fonte
Ferrugem -
206201168 bytesIsso grava um arquivo o.tga real e legível, sem bibliotecas ou funções internas, usando o formato binário TGA por http://paulbourke.net/dataformats/tga/ , codificando a largura e a altura no cabeçalho do arquivo binário.
-5 bytes abreviam o nome do arquivo, corrigem o tamanho da imagem, somente @ ASCII
fonte
a
iria funcionar como nome de arquivo não seria. btw é 448 * 448 não 444 * 444, então isso é inválido[255,0,0,0,0]
6272 vezes ([0,0,0,0]
128 vezes, repetidas 6272 vezes). o tipo de imagem então10
não seria2
. ainda melhor, mapa de cores para a codificação da duração da execução mais curta (0,0,0,0
->0
)C # (compilador interativo do Visual C #) , 48 bytes
Aparentemente, a saída
[1D array of pixels, width, height]
está ok, então isso gera uma tupla de `(IEnumerable de pixels, largura, altura).Experimente online!
C # (compilador interativo do Visual C #) , 58 bytes
A matriz original retornando resposta.
Como as regras de E / S da imagem permitem a saída como uma matriz de valores RGB, esse envio gera uma matriz de valores RGBA, representada por tuplas com quatro valores, sendo todos 0.
Experimente online!
fonte
PHP, 192 bytes
Infelizmente, o PHP meio que é péssimo nesse aspecto, porque requer muito código. Mas, novamente, onde o PHP não é ruim?
Ungolfed:
Obviamente, se você quiser apenas criá-lo sem enviá-lo, poderá omitir os comandos
header()
ereadfile()
. Ainda assim, é idioticamente longo.fonte
'<?php return '.var_export(array_fill(0,952576,0),1).';';
para exportar a matriz de maneira executável. você pode fazerphp -f image.php > array.php
e em outro lugar você pode fazer$array = include('array.php');
para ter uma matriz utilizável novamente. Mas eu não sei se é válido, então estou dando a você para adicionar como alternativa. Ou até um<?=json_encode(array_fill(0,952576,0));
.true
pode ser substituído por1
, para salvar 3 bytes. Lendo a documentação deimagepng()
, você pode apenas fazerheader('Content-type: image/png');imagepng($i);
. Eu acredito que você também pode substituir$b=imagecolorallocatealpha($i,0,0,0,127);imagefill($i,0,0,$b);
por,imagefill($i,0,0,imagecolorallocatealpha($i,0,0,0,127));
mas não me cite sobre isso.<? imagecolorallocatealpha($i=imagecreate(448,448),0,0,0,127);header('Content-type: image/png');imagepng($i);
produz uma imagem transparente (109 bytes). Envia automaticamente a imagem para o navegador / saída padrão e tudo mais.Python 3.7 - PIL Importado, 30 bytes
Isso requer uma importação, mas tem o benefício de criar e exibir um arquivo de imagem real, em vez de uma matriz vazia abstrata.
Explicação:
Image.show () abrirá a imagem no seu programa de imagem padrão. No meu caso, isso abre um arquivo de bitmap temporário no Windows Photo Viewer, mas os resultados podem variar. Indiscutivelmente, isso é trapaça, pois a representação de bitmap não contém transparência
Variações ...
fonte
Import
.new("LA",[448]*2).show()
26 bytes.MATLAB, 31 bytes
Cria uma matriz de
NaN
valores 448 x 448 e, em seguida, usa-osimwrite
para salvá-los em um arquivo PNG nomeado'.png'
e define a transparência como 1, tornando-o transparente. O'Transparency'
nome do parâmetro pode ser abreviado para'tr'
MATLAB, permitindo a correspondência parcial de string dos nomes dos parâmetros, desde que a versão abreviada seja exclusiva entre os parâmetros disponíveis.fonte
dzaima / APL + APLP5 ,
1816 bytesFunção que gera um objeto de imagem que pode ser desenhado na tela (sem efeito) ou convertido novamente em valores de pixel.
-2 graças a ngn !
fonte
{P5.img⍴∘0,⍨448}
Geléia ,
109 bytesExperimente online!
Produz uma matriz de 448x448x4
Obrigado a @ JonathanAllan por salvar um byte.
fonte
2¡
pode ser⁺
Vermelho , 33 bytes
O padrão de opacidade é totalmente opaco (0)
Isto é como usá-lo / um programa completo /:
fonte
MathGolf , 10 bytes
Experimente online!
Explicação
Este método economiza 1 byte em comparação com o "padrão"
♦7*_4º*a*a*
fonte
JavaScript (Node.js) , 39 bytes
Aparentemente, a saída
[height, width, 1d array of RGBA values]
está ok.Experimente online!
-3 bytes graças a @Arnauld
fonte
[1D array of pixels, width, height]
[width, height, array]
.SmileBASIC, 27 bytes
Salva uma matriz bidimensional de 448x448 preenchida com 0s em um arquivo chamado
DAT:I
(que é mais curto do que definir uma função que retorna a matriz, de alguma forma)Os formatos padrão (usados por todas as funções gráficas) para cores no SmileBASIC são ARGB de 32 bits e 5551 RGBA de 16 bits e
0
são transparentes em ambos.fonte
ARGB
formato de 4 bytes (comumente usado em Smilebasic), assim0x00000000
como Alpha = 0, Vermelho = 0, Verde = 0, Azul = 0. O preto seria0xFF000000
.GRP
mas deixarei para lá, já que os dados reais sendo armazenados são os mesmos.ScPL para atalhos para iOS , 98 bytes
Atalho do iCloud Link
Pega um gif transparente 1x1 codificado como base64 e o redimensiona
fonte
Jstx , 24 bytes
Explicação
Experimente online!
fonte
R , 21 bytes
Experimente online!
Retorna uma matriz 3D de zeros.
fonte
Japonês , 9 bytes
Experimente online!
fonte
C ++, SFML, 131 bytes
fonte
JavaScript + HTML, 56 bytes
Clicar em "Executar snippet de código" gerará um PNG transparente de 448x448 em um IFRAME. Você pode clicar com o botão direito do mouse em "Salvar imagem como ..." para fazer o download para o seu computador.
fonte