Estoy trabajando en el dibujo de botones personalizados/campos de texto con NSDrawNinePartImage
. Corto una imagen en nueve partes en código y la dibujo en un rect con NSDrawNinePartImage
.NSDrawNinePartImage huecos
Lamentablemente, estoy recibiendo algunas lagunas en el patrón de dibujo. Pensé que tenía algo que ver con mi código de corte, pero los guardé como imágenes de donde los corté, y todos se ven bien (incluso los puse juntos y se veían bien). Algunos de los casos en los que lo uso funcionan bien aunque algunos usan las mismas imágenes.
Estoy bastante seguro de que todo se reduce al dibujo real.
¿Conoces alguna NSGraphicsContext
u otra configuración que pudiera afectarla u otra cosa que pueda estar causando esto?
Con lagunas
sin lagunas
me he dado cuenta de lo mismo en uno de mis proyectos. Guardé las imágenes y las dibujé con NSDrawNinePartImage en un nuevo proyecto, y dibujaron bien. Sin embargo, cuando los dibujo en mi botón personalizado, tienen espacios vacíos. –
¿Estás seguro de que estás recurriendo a los límites de píxeles? En la primera imagen, parece que hay una representación subpíxel que no puedo ver en la segunda imagen. – kperryua
Como mi respuesta fue eliminada, responderé a su pregunta de seguimiento aquí. Donde dibuje sus nueve partes, use '- [NSView convertRect: toView: nil]' en el marco que pase a 'NSDrawNinePartImage' e imprima el resultado. Si hay valores no integrales, entonces esa podría ser la causa de su problema. Use algo como '- [NSView centerScanRect:]' para asegurarse de que rect sea solo los límites de píxeles. – kperryua