Realmente es un dolor, pero siempre cuando dibujo un UIImage en -drawRect :, está al revés.¿Cómo se puede compensar el sistema de coordenadas volteado de los gráficos centrales para dibujar fácilmente?
Cuando giro las coordenadas, la imagen se dibuja correctamente, pero a costa de que todas las demás funciones de CG dibujen "mal" (volteado).
¿Cuál es su estrategia cuando tiene que dibujar imágenes y otras cosas? ¿Hay alguna regla práctica de cómo no atascarse en este problema una y otra vez?
Además, una cosa desagradable cuando cambio el eje y es que mi CGRect del marco UIImageView está equivocado. En lugar de que el origen aparezca en 10,10 superior izquierda como se esperaba, aparece en la parte inferior.
Pero al mismo tiempo, todas las funciones normales de dibujo de líneas de CGContext toman las coordenadas correctas. dibujando una línea en -drawRect con origen 10,10 superior izquierda, realmente comenzará en la esquina superior izquierda. Pero al mismo tiempo es extraño, porque los gráficos centrales en realidad tienen un sistema de coordenadas volteado con y 0 en la parte inferior.
Parece que algo es realmente inconsistente allí. Dibujar con las funciones de CGContext toma coordenadas como "esperadas" (cmon, nadie piensa en coordenadas comenzando desde abajo a la izquierda, eso es una tontería), mientras que dibujar cualquier tipo de imagen todavía funciona de manera "incorrecta".
¿Utiliza métodos de ayuda para dibujar imágenes? ¿O hay algo útil que hace que el dibujo de la imagen no sea un problema en el trasero?
Sí, claro. Pero cuando lo traduzco y lo volteo, todas las demás funciones de dibujo CG, como dibujar líneas, etc. parecen dibujar mal. Entonces usted tiene la opción: imágenes incorrectas o caminos equivocados. O dando vueltas y vueltas todo el tiempo. – dontWatchMyProfile
mystify: Puede dividir el código de espacio en un método y/o usar el gstate para guardar y restaurar el flip, pero vea la otra respuesta que acabo de publicar. –