¿Cómo configurar un sistema de coordenadas Quartz2D de usuario con una escala que evite el dibujo difuso?

Este tema ha sido tachado una o dos veces, pero todavía estoy desconcertado. Y Google tampoco fue amigable.

Dado que Quartz permite sistemas de coordenadas arbitrarias que utilizan transformaciones afines, quiero poder dibujar cosas como planos de planta utilizando coordenadas de la vida real, p. pies

Básicamente, por el bien de un ejemplo, quiero escalar la vista para que cuando dibuje un rectángulo de 10x10 (por ejemplo, un cuadro de 10 pulgadas), obtenga un rectángulo de 60x60 píxeles.

Funciona, excepto que el rectángulo que obtengo es bastante borroso. Otra pregunta aquí obtuvo una respuesta que explica por qué. Sin embargo, no estoy seguro de haber entendido esa razón y, además, no sé cómo solucionarlo. Aquí está mi código:

Puse mi sistema de coordenadas en miawakeFromNib método de vista personalizada:

- (void) awakeFromNib {
    CGAffineTransform scale = CGAffineTransformMakeScale(6.0, 6.0);
    self.transform = scale;
}

Y aquí está mi rutina de sorteo:

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGRect r = CGRectMake(10., 10., 10., 10.);
    CGFloat lineWidth = 1.0;
    CGContextStrokeRectWithWidth(context, r, lineWidth);
}

El cuadrado que obtengo está escalado bien, pero totalmente borroso. Jugando conlineWidth no ayuda: cuandolineWidth se establece más pequeño, se vuelve más ligero, pero no más nítido.

Entonces, ¿hay alguna manera de configurar una vista para tener un sistema de coordenadas escalado, de modo que pueda usar mis coordenadas de dominio? ¿O debería volver e implementar la escala en mis rutinas de dibujo?

Tenga en cuenta que este problema no ocurre para la traducción o rotación.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta