Me gustaría crear un UIImage 1x1 dinámicamente basado en un UIColor.
Sospecho que esto se puede hacer rápidamente con Quartz2d, y estoy estudiando detenidamente la documentación tratando de comprender los fundamentos. Sin embargo, parece que hay muchas trampas potenciales: no identificar correctamente la cantidad de bits y bytes por cosas, no especificar las banderas correctas, no liberar datos no utilizados, etc.
¿Cómo se puede hacer esto de forma segura con Quartz 2d (u otra forma más sencilla)?
ios
uiimage
core-graphics
quartz-graphics
Ian Terrell
fuente
fuente
[UIImage imageWithColor: [UIColor redColor]]
.const CGFloat alpha = CGColorGetAlpha(color.CGColor); const BOOL opaque = alpha == 1; UIGraphicsBeginImageContextWithOptions(size, opaque, 0);
UIGraphicsGetCurrentContext()
regresandonil
? Edit : lo tengo, estaba pasando0
por elrect
'swidth
.Aquí hay otra opción basada en el código de Matt Stephen. Crea una imagen de color sólido de tamaño variable de modo que pueda reutilizarla o cambiar su tamaño (por ejemplo, usarla como fondo).
Ponlo en una categoría UIImage y cambia el prefijo.
fuente
Usé la respuesta de Matt Steven muchas veces, así que hice una categoría para ella:
fuente
Usando el último UIGraphicsImageRenderer de Apple, el código es bastante pequeño:
fuente
Para mí, un inicio de conveniencia se siente más ordenado en Swift.
fuente
Ok, esto no será exactamente lo que quieres, pero este código dibujará una línea. Puedes adaptarlo para hacer un punto. O al menos obtén un poco de información.
Hacer la imagen 1x1 parece un poco extraño. Los trazos recorren la línea, por lo que un trazo de 1.0 a 0.5 debería funcionar. Solo juega.
fuente