framework - cocoa touch ios
¿Cómo dibujo un punto usando Core Graphics? (7)
Quartz no es una API orientada a píxeles, y sus contextos no son necesariamente búferes de píxeles. Si desea dibujar mapas de CGBitmapContextCreate()
, cree un contexto de mapa de bits con CGBitmapContextCreate()
. Proporciona un búfer, que puede manipular directamente, y puede copiar a otro contexto creando una CGImage
desde el mismo búfer utilizando CGImageCreate()
y dibujando eso.
Veo las API en Cuarzo para dibujar líneas y círculos. Pero todo lo que quiero hacer es especificar la coordenada cartesiana (x, y) para colorear un píxel de un valor particular. ¿Cómo puedo hacer eso?
Estoy teniendo el mismo problema: creo que la mejor solución es similar a la anterior, pero al menos no deja algo que parezca un "guión" ... por supuesto, debería asegurarse de que x / y son ambos> 0 .
CGContextFillRect (contexto, CGRectMake (x - 0.5, y - 0.5, 1.0, 1.0));
Obtuve un punto (línea de longitud cero) para dibujar después de establecer los límites de línea en kCGLineCapRound. El límite de línea predeterminado no tiene longitud, por lo que no se puede dibujar.
El argumento de que un punto no tiene tamaño es tonto. Las líneas no tienen ancho pero podemos dibujarlas (usando el "ancho de línea" desde el estado de dibujo). Un punto debe dibujar exactamente de la misma manera, y con diferentes límites de línea, creo que sí.
Tal vez este comportamiento es nuevo?
Dibuja una elipse / círculo muy pequeño y llénalo!
CGContextAddEllipseInRect(Context,(CGRectMake (x_dot, y_dot, 3.0, 3.0));
CGContextDrawPath(Context, kCGPathFill);
CGContextStrokePath(Context);
Estoy usando este código para crear un pequeño punto (3x3 píxeles) en una nota musical con puntos.
CGContextFillRect(context, CGRectMake(x,y,1,1));
Swift 3:
UIRectFill(CGRect(x: x, y: y, width: 1, height: 1))
Puede dibujar una línea de 1 píxel de longitud en la coordenada en cuestión; eso debería lograr lo que quieres.