"Vamos ser sinceros, imagens alinhadas são como pequenos presentes do céu. Bem-vindo, mas inesperado." - Geobits
+10000 reputação para quem vencer este desafio.
Regras:
1) Você deve gerar um programa.
2) A entrada será uma imagem; no entanto, depende de você ser transmitida como um arquivo ou uma lista de números.
3) A saída será um arquivo que, quando aberto em tinta (ou similar), mostrará a imagem alinhada.
4) O tamanho da tela sempre estará entre 100 x 100 e 2000 x 2000 pixels. Sempre será um retângulo, mas nem sempre um quadrado.
5) Nenhuma codificação de imagens ou URL mágica funky.
6) Nenhuma biblioteca externa a ser usada.
Guia de centralização (variante Joshpbarron)
Uma imagem será definida como centralizada se o primeiro branco (255.255.255,> 0 rgba) ou transparente (x, y, z, 0 rgba) em um eixo estiver a uma distância igual (mais ou menos 1 pixel) da borda da tela.
Isso pode ser alcançado (e será verificado) pelo seguinte método.
1) Imagine uma caixa delimitadora ao redor do objeto. (Linhas pretas adicionadas para obter ajuda)
2) Mova o objeto até a borda do objeto estar a uma distância igual da borda apropriada da tela.
3) Agora esqueça as linhas pretas.
Entrada:
Resultado:
Mais entradas aqui .
E respectivas saídas aqui .
O representante +10000 é uma mentira.
fonte
Respostas:
Python 3,
120205 bytesEDIT : Como a imagem de saída deve ter o mesmo tamanho da entrada, o script fica mais longo ...
EDIT2 : Parece que a regra 6 (nenhuma biblioteca externa) foi adicionada depois que eu respondi; portanto, essa resposta deve ser considerada inválida de qualquer maneira :(
A versão anterior apenas cortou a imagem de entrada:
os dois scripts leem o nome do arquivo de imagem do stdin e salvam a imagem de saída como 'o.png'. por exemplo :
Ele aceita pelo menos imagens PNG (potencialmente com um canal alfa) - 'ok' testado no aparelho fornecido pelo solicitante.
... esperando minha recompensa):
fonte
python3 script.py <<< s2rMqYo.png
é mais limpoHTML5 + JavaScript (ES5), 515 bytes
Essa contagem inclui as tags HTML, pois elas fazem parte do programa. Se você contar apenas o código de processamento da imagem, serão 376 bytes, incluindo o wrapper da função.
Entrada
Um URL para uma imagem.
Restrições de segurança
Como este programa está sendo executado em um ambiente de navegador, apenas URLs para imagens habilitadas para CORS funcionarão. Imgur está habilitado com CORS.
O IE 10 não suporta CORS. Ainda não testei no IE 11, mas funciona no Chrome e Firefox.
Como executar
Resultado
Ele sai na tela da página.
Como este é um aplicativo baseado em navegador, as restrições de segurança impedem o download automático de um arquivo, mas você pode clicar com o botão direito e salvar a imagem no Chrome e Firefox. Ainda não testei no IE 11.
Demo
O código JavaScript foi removido do
script
elemento e colocado na área apropriada para acomodar os snippets de pilha:fonte
Processando 2 -
323450A imagem é lida no arquivo f.png na pasta de dados do esboço. Coloca a imagem e determina seus limites. Calcula a posição correta e substitui a imagem deslocada corretamente.
versão legível:
Exemplo de saída:
Você pode obter o processamento aqui
fonte
PImage p=loadImage("h.png");
no topo.color(-1)
ebackground(-1)
cada 1 byte é menor quecolor(255)
ebackground(255)
respectivamente. E eu acho que você pode remover aP2D
nasize
chamada