tengo que dibujar una serie de archivos PNG en un CGContext
para que pueda mezclar juntos:Dibujar una imagen PNG en un contexto de gráficos para el modo de fusión Manipulación
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetBlendMode(context, kCGBlendModeOverlay);
Actualmente tengo mi aplicación de trabajo basado en solo dibujo cada imagen como un UIImageView y agregarlas como una subvista al archivo de vista a través de: [self addSubview:someImageView]
... pero esto no permite la manipulación del modo de fusión, ¿no?
Actualmente los VARs UIImageView están siendo asignados a través de:
someImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image-name.png"]];
Así que he intentado reemplazar aquellos con cualquiera de estos sin suerte:
[[UIImage imageNamed:@"image-name.png"] drawInRect:rect blendMode:kCGBlendModeOverlay alpha:1.0];
y esto se necesita un CGImage
cual No estoy seguro de cómo hacer con los PNG:
CGContextDrawImage(context, rect, someCGImage);
Entonces, ¿qué? ¿Me estoy perdiendo? Estas no se desencadenan por ninguna interacción, solo necesitan cargar/dibujar cuando se carga la aplicación.
Gracias por cualquier pista. :)
Por cierto, es fácil hacer una CGImage desde un UIImage. Hay una propiedad CGImage en UIImage. Sin embargo, evite mezclar las rutinas de dibujo de UIImage y CGImage, de lo contrario, encontrará que el contexto del dibujo está al revés. –
No estaba claro en esta última parte, ya que quiero rotar las uiimages antes de dibujarlas, pero llamando a CGContextRotateCTM (context, 3.14); antes de que el comando de dibujo en realidad no girara en los 180 grados deseados. Y sí, el primer comando que llamé en el método drawRect fue CGContextRef context = UIGraphicsGetCurrentContext(); ¿Pensamientos? – steganous
Parece que lo estás haciendo bien. ¿Puedes publicar tu nuevo código? –