vector graphics - vectoriales - Xcode 6 permite activos de imagen VECTOR... ¿Alguna idea de cómo usarlos?
formatos vectoriales mas utilizados (7)
Estaba jugando con Xcode 6 vs assets de imágenes cuando noté algo muy interesante: ahora podemos especificar imágenes vectoriales en ellas (ir a ver en el panel de Utilities después de seleccionar Images.xcassets).
Probé una aplicación pequeña (que contenía un gran UIImageView) con una imagen .SVG (no funcionó), luego un .EPS (tampoco funcionó) y finalmente probé un .PDF ¡Funcionó! Bueno, aunque vi la imagen, parecía pixelada y no vectorizada.
Parece que Apple está preparando el camino para iconos / imágenes vectoriales. No más de trillizas versiones de iconos de aplicaciones, no más imágenes "@ 2x". Pero, ¿alguien puede desbloquear esa función?
Gracias por intentarlo.
En los casos en que está creando iconos de aplicaciones, el PDF no funcionará. Es posible que desee echar un vistazo a un proyecto. Acabo de construir un proyecto llamado Speculid . Puede construir PNG, PDF, etc. a partir de imágenes de origen, incluidos archivos SVG. La retroalimentación sería muy apreciada.
He aquí algunos de mis pensamientos después de algunos experimentos sobre activos vectoriales:
1. Tiempo de compilación
Después de varias pruebas, creo que es solo un soporte en tiempo de compilación. Xcode genera todas las imágenes 1x, 2x y 3x en tiempo de compilación. Lo que significa que funciona con versiones anteriores de iOS. Al mismo tiempo, significa que en la compilación final, todavía está en formato PNG, y no se puede obtener una imagen sin pérdida de lager del archivo vectorial.
2. Por qué PDF en lugar de SVG u otros formatos
Para SVG y otros formatos, la imagen vectorial no tiene información de tamaño real, mientras que el PDF tiene información de tamaño. Creo que lo que hace Xcode 6 es usar la información de tamaño en PDF como el tamaño de visualización real, y luego generar 2x archivos 3x a partir de la imagen vectorial.
3. El tamaño del archivo de PDF no importa
Al principio, nuestra preocupación es que PDF será mucho más grande que PNG. Probamos http://smallpdf.com/ para comprimirlo y funciona bastante bien. Pero si el archivo PDF original no está incluido en la compilación como dije antes, entonces el tamaño del archivo de PDF no importa.
Continuaré editando esta publicación si encuentro otras cosas.
EDITAR 14-09-25
@mredig mencionó que para iOS genera mapas de bits en tiempo de compilación, pero para OSX incluye la imagen vectorial en una forma escalable.
a través de: http://martiancraft.com/blog/2014/09/vector-images-xcode6/
He aquí cómo experimentar con imágenes vectoriales en el catálogo de activos en Xcode 6:
Haz un nuevo conjunto de imágenes.
Seleccione una ranura de imagen en blanco en su conjunto de imágenes y cambie la ventana emergente en el inspector de atributos a Vectores. Ahora tiene una ranura de imagen universal única.
Arrastre un PDF de vector en esa ranura.
Ahora, donde quiera que se use esa imagen, se dimensiona según su contexto (por ejemplo, una vista de imagen de tamaño fijo) sin rasterización, como se muestra en esta captura de pantalla:
EDITAR A pesar de esta respuesta, el dibujo PDF más grande fue rasterizado. Pero ahora, consulte https://.com/a/45623000/341994 : en Xcode 9, el vector PDF se escala correctamente, sin rasterización.
Si está buscando una respuesta a la pregunta: "¿Cómo puedo usar gráficos vectoriales en mi aplicación iOS y siempre escalarlos con hermosa perfección?" , entonces recomiendo UIImage+PDF
desde https://github.com/mindbrix/UIImage-PDF
Encuentro que esto funciona absolutamente brillantemente. En lugar de tener todas las imágenes en formato PNG de tres resoluciones diferentes, ahora tengo un pequeño archivo PDF para cada imagen. Puedo mostrarlos de la siguiente manera:
// 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))
Además de fitSize:
también hay atWidth:
atHeight
y atSize:
Estoy usando UIImage+PDF
para todas las imágenes que pueden ser vectorizadas, y solo uso PNGs para imágenes fotográficas.
También estoy ejecutando mis archivos PDF a través de algo como http://smallpdf.com/compress-pdf , para asegurar los tamaños de archivo más pequeños para ellos.
Erik
Simplemente creo una fuente personalizada con dichos, iconos o incluso logotipos de aplicaciones y la uso de esa manera y la traigo a mi aplicación. A continuación, puedo ajustar el tamaño de las fuentes para los dispositivos y las resoluciones de pantalla con mucha facilidad.
puede usar esta herramienta en línea para convertir sus imágenes de svg a pdf
http://www.fileformat.info/convert/image/svg2pdf.htm
1- subir imagen
2- ancho de selección: 24px, altura: 24px
3- copia a tu proyecto xcode
4- ir a Images.xcassets
5- clic derecho y crear nuevo conjunto de imágenes
6- del panel derecho seleccione (inspector de atributos)
7- cambiar tipos a vector
8- arrastre y suelte su imagen en pdf allí
9- úsalo en tu proyecto
un consejo: cree una resolución PDF @ 2x y un nombre de archivo con @ 2x ([email protected]) y obtendrá imágenes de nitidez y contraste perfectas, especiales para iPad 2 y mini.