como rasterizar um SVG sem suavização de serrilhado

21

Eu fiz um mapa no inkscape e agora preciso alterá-lo para um bitmap ou .png. O mapa será interpretado por um programa de computador que procurará cores exatas para que as bordas precisem ser nítidas. quando exporto um .png com o inkscape, uso um conversor de arquivos on-line ou até mesmo uma captura de tela, ele é sempre anti-alias. Socorro.insira a descrição da imagem aqui

insira a descrição da imagem aqui

William W
fonte
Hmm ... não parece que o Inkscape oferece uma opção alternativa ao exportar para varredura. Você pode tentar abrir o SVG em um aplicativo de varredura (como PS) e ver se ele oferece uma opção de alias lá.
DA01
o Photoshop 7.0 que tenho não parece ter a capacidade de abrir SVGs. Não tenho outros programas que possam fazer isso. se houver algum freeware que possa funcionar, estou interessado no que são.
William W
Quanto aos aplicativos rasterizados, o GIMP é de código aberto. Paint.net é um freeware. Não tenho certeza se, no entanto, suporta a abertura do SVG.
DA01
Parece que pode haver uma maneira de fazer isso no navegador: stackoverflow.com/questions/16889078/…
DA01
Ah, e finalmente ... uma solução alternativa é fazer a captura de tela, colocar isso no PhotoShop e usar o filtro / ferramenta "Posterize" do PhotoShop para reduzir o palete de cores até as cores sólidas que você deseja usar.
DA01

Respostas:

17

A versão de desenvolvimento do Inkscape (próxima versão 0.91) possui uma alternância global de suavização de serrilhado na janela Propriedades do documento, que também deve funcionar para exportação. Procure "Versões de desenvolvimento" na página de download:

http://www.inkscape.org/en/download/

Krzysztof Kosiński
fonte
obrigado, você sabe quanto tempo até sair? Não o vi no site.
William W
A fase atual é "Frost". Você pode ver o progresso em direção ao lançamento aqui: inkscape.org/en/develop/next-release Acho que deve ser lançado nos próximos 5 meses.
Krzysztof Kosiński
Uau. Eles estão pulando de .48 para .91! Concedido, isso é menos que 'meia versão', mas ainda é uma grande atualização no mundo do inkscape. Versão 1.0 aqui vamos nós!
DA01 03/06
5
É, infelizmente, não tem efeito sobre a exportação ...
Ray
Também não funcionou para mim ao exportar como arquivo PNG.
testando
12

Uma solução simples é exportar para PDF e usar o Ghostcript no PDF resultante. Usando uma imagem de morango do Openclipart e o comando

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m \
   -r72 -dGraphicsAlphaBits=1 \
   -sOutputFile=image.png image.pdf 

Eu recebo o seguinte resultado.

Imagem de morango não antializada. Ampliou a imagem de morango não antializado.

Se sua imagem também incluir texto, você precisará adicionar -dTextAlphaBits=1também. Altere -r72para um valor diferente para redimensionar a imagem.

Karl Ove Hufthammer
fonte
2
Essa certeza é uma maneira indireta de fazê-lo, mas goshdang, se não funcionou.
obskyr
11

O Inkscape 0.91 e superior tem a capacidade de alternar o antialiasing. Isso pode ser acessado através da janela Propriedades do documento (Shift + Ctrl + D). Quando ativada, que é o padrão, esta imagem de uma matriz de triângulos se parece com isso.

insira a descrição da imagem aqui

Quando desligada, a imagem fica mais suave.

insira a descrição da imagem aqui

Como outros já mencionaram, isso atualmente não afeta a exportação de png. O antialiasing ainda está ativado e as lacunas entre os triângulos ainda são visíveis.

O que o Inkscape está fazendo quando você desativa o antialiasing está adicionando shape-rendering="crispEdges"ao arquivo. Abra seu SVG em um editor de texto e procure em algum lugar na linha 19 e você deverá vê-lo.

insira a descrição da imagem aqui

Felizmente, essa tag é lida e respeitada ao importar o SVG para o GIMP. O GIMP pode importar um SVG e definir a resolução de importação, o que significa que você pode escalar seu png na importação para o tamanho desejado. Ele o recortará nos limites da página.

insira a descrição da imagem aqui

Agora você pode salvar a imagem e o antialiasing será desativado.

insira a descrição da imagem aqui

Isso foi relatado como um bug algumas vezes:

hellocatfood
fonte
1
Explicação perfeita! Para a ilustração, uma forma diagonal ou redonda tornaria o efeito muito mais visível.
Max N
Descobri que o carregamento no GIMP não funcionava, a menos que eu procurasse todas as instâncias do shape-rendering:autoSVG e a convertesse crispEdges. Acontece que muitos dos caminhos (talvez todos) tinham a :autoespecificação em seu estilo.
Mutant Bob
2

Você também pode usar a shape-renderingpropriedade SVG para tornar as bordas mais nítidas.

No SVG XML, é semelhante a:

<svg:something shape-rendering="crispEdges" ... />

Na interface do usuário do Inkscape, você pode configurá-lo manualmente usando o Editor de XML ( Ctrl+ Shift+ X), conforme mostrado nesta captura de tela:

Editor XML do Inkscape

Selecione o nó ao qual a propriedade deve se aplicar. Aqui estou aplicando-o a um grupo de caminhos. A propriedade é exibida à direita. Para adicioná-lo, replique o texto que você vê no canto inferior direito e pressione Set.

Drew Noakes
fonte