O Xcode 6 permite resources de imagem VECTOR… alguma ideia de como usá-los?

Eu estava mexendo com os resources do Xcode 6 vs imagens quando notei algo muito interessante: agora podemos especificar imagens vetoriais nelas (vá ver no painel Utilitários depois de selecionar Images.xcassets).

Eu tentei um pequeno aplicativo (contendo um grande UIImageView) com uma imagem .SVG (não funcionou), então um .EPS (não funcionava também) e eu finalmente tentei um .PDF funcionou! Bem, embora eu tenha visto a imagem, ela apareceu pixelada e não vetorizada.

Portanto, parece que a Apple está preparando o caminho para icons / imagens vetoriais. Não há mais versões de zilhões de icons de aplicativos, nem mais imagens “@ 2x”. Mas alguém pode desbloquear esse recurso?

Obrigado por tentar.

    Aqui estão alguns dos meus pensamentos depois de algumas experiências com resources de vetores:

    1. Suporte de tempo de compilation

    Depois de várias tentativas, acredito que seja apenas um suporte de tempo de compilation. O Xcode gera todas as imagens 1x, 2x e 3x em tempo de compilation. O que significa que funciona com versões mais antigas do iOS. Ao mesmo tempo, significa que na versão final, ainda está no formato PNG, e você não pode obter uma imagem sem perdas do arquivo vetorial.

    2. Por que PDF em vez de SVG ou outros formatos

    Para SVG e outros formatos, a imagem vetorial não possui informações de tamanho real, enquanto o PDF tem informações de tamanho. Acho que o que o Xcode 6 faz é usar as informações de tamanho em PDF como tamanho de exibição real e gerar arquivos 2x 3x a partir da imagem vetorial.

    Informações sobre tamanho em PDF

    3. O tamanho do arquivo de PDF não importa

    No início, nossa preocupação é que o PDF seja muito maior do que os PNGs. Nós tentamos http://smallpdf.com/ compactá-lo e funciona muito bem. Mas se o arquivo PDF original não estiver incluído na compilation como eu disse antes, o tamanho do arquivo PDF não importa.

    Continuará editando este post se eu encontrar outras coisas.

    EDITAR 14-09-25

    @mredig mencionou que, para iOS, ele gera bitmaps em tempo de compilation, mas para o OSX inclui a imagem vetorial em um formato escalonável.

    via: http://martiancraft.com/blog/2014/09/vector-images-xcode6/

    Veja como experimentar imagens vetoriais no catálogo de resources no Xcode 6:

    1. Faça um novo conjunto de imagens.

    2. Selecione um slot de imagem em branco no seu conjunto de imagens e mude o pop-up no inspetor de atributos para Vectors. Agora você tem um único slot de imagem universal.

    3. Arraste um PDF de vetor para esse slot.

    Agora, onde quer que a imagem seja usada, ela é dimensionada para seu contexto (por exemplo, uma visualização de imagem de tamanho fixo) sem rasterização, como mostrado nesta captura de canvas:

    insira a descrição da imagem aqui

    EDIT Apesar desta resposta, o desenho PDF maior foi rasterizing. Mas agora, consulte https://stackoverflow.com/a/45623000/341994 : no Xcode 9, o PDF do vetor é dimensionado corretamente, sem rasterização.

    você pode usar esta ferramenta online para converter suas imagens de svg para pdf

    http://www.fileformat.info/convert/image/svg2pdf.htm

    1- fazer upload da imagem

    2- selecione a largura: 24px, altura: 24px

    3- copie para o seu projeto xcode

    4- ir para Images.xcassets

    5- clique direito e crie novo conjunto de imagens

    6- do painel direito selecione (inspetor de atributos)

    7- mudar tipos para vetor

    8- arraste e solte sua imagem do pdf lá

    9- use em seu projeto

    uma dica – crie resolução PDF @ 2x e nome de arquivo com @ 2x (myfile@2x.pdf) faça isso e você terá imagens perfeitas de nitidez e contraste, especiais para iPad 2 e mini. insira a descrição da imagem aqui

    Acabei de criar uma fonte personalizada com dizer, icons ou até mesmo logotipos de aplicativos e usá-lo dessa maneira e puxá-lo para o meu aplicativo. Eu posso então ajustar os tamanhos de fonte para dispositivos e resoluções de canvas com muita facilidade.

    Se você está procurando uma resposta para a pergunta: “Como posso usar charts vetoriais no meu aplicativo iOS e sempre dimensioná-los com perfeição bonita?” , então eu recomendo o UIImage+PDF em https://github.com/mindbrix/UIImage-PDF

    Eu acho que isso funciona de forma absolutamente shiny. Em vez de ter todas as imagens no formato PNG de três resoluções diferentes, agora tenho um pequeno arquivo PDF para cada imagem. Eu posso mostrar isso da seguinte maneira:

     // Objective C: self.icon.image = [UIImage imageWithPDFNamed:@"icon.pdf" fitSize:self.icon.frame.size]; // Swift: icon.setImage(UIImage(PDFNamed: "icon.pdf", fitSize: icon.frame.size)) 

    Além de fitSize: há também atWidth: atHeight e atSize:

    Estou usando o UIImage+PDF para todas as imagens que podem ser vetorizadas e uso apenas PNGs para imagens de foto.

    Eu também estou executando meus arquivos PDF através de algo como http://smallpdf.com/compress-pdf , para garantir o menor tamanho de arquivo para eles.

    Erik

    Nos casos em que você cria icons de aplicativos, o PDF não funciona. Você pode querer dar uma olhada em um projeto que acabei de construir um projeto chamado Speculid . Pode construir PNG, PDF, etc … a partir de imagens de origem, incluindo arquivos SVG. Opiniões seriam muito apreciadas.