Imagens SVG com dimensão menor que 1 falham ao carregar

Ao fazer o upload de uma imagem SVG para incluir em uma postagem onde o atributo de altura ou largura no elemento SVG principal possui um tamanho numérico menor que “1” (ignorando as unidades associadas), o processo falha com a mensagem:

Desculpe, mas não foi possível determinar o tamanho da imagem. Talvez sua imagem esteja corrompida?

Parece que os atributos de altura e largura são verificados e o upload é rejeitado antes que o código associado a FIX - use ImageMagick to determine size of SVG images by jbrw · Pull Request #12230 · discourse/discourse · GitHub tenha a chance de usar as informações de unidade para calcular o tamanho real de exibição. Uma busca no fórum por

svg “determinar o tamanho da imagem” “talvez sua imagem esteja corrompida”

atualmente retorna 9 resultados. Como incluir ícones do FontAwesome em postagens? parece ter a mesma causa, mas esse relatório é antigo e supostamente foi corrigido.

Após algumas pesquisas, isso parece ser um problema com a biblioteca fastimage utilizada. Criei um issue lá para Imagens SVG com dimensões pequenas detectadas como zero pixels, ignorando unidades, e estou fazendo referência a ela aqui. Supondo que a biblioteca fastimage seja corrigida, provavelmente ainda será necessária uma alteração no Discourse para obter a versão atualizada.

Abaixo está o código XML fonte do arquivo SVG de exemplo que falha.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
  xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
  width="1.2in" height="0.9in"
  viewBox="0 0 1200 900"
>
  <line x1="1100" x2="100" y1="100" y2="800" stroke="#000000" stroke-width="50"/>
</svg>

Abaixo estão as imagens que demonstram modificações menores que fazem com que a imagem acima funcione no fórum. Elas correspondem aos anexos no issue do GitHub referenciado.

image2

image4

Obrigado pela descrição detalhada do problema.

Consegui recriar o problema no meu ambiente e acho que este pull request deve resolver o problema que você descreveu.

Edição: Estranho… os testes passam para mim localmente, mas estão falhando depois que os envio. Vou investigar isso amanhã.

2 curtidas

Isso foi mesclado na semana passada.

@µMerlin Você pode atualizar as coisas do seu lado e confirmar que tudo está OK agora?

1 curtida

Este tópico foi automaticamente fechado após 4 dias. Novas respostas não são mais permitidas.