У меня есть некоторые проблемы с получением UIImage, который я рисую внутри CALayer, чтобы показать его без размытия Я помещаю изображение размером 400x300 пикселей в слой формата 123x89. Масштаб этого должен означать, что полученный CALayer является относительно острым, но это не так.
Это код, который я использую для рисования своего UIImage:
CGSize s = image.size;
CGRect r = CGRectInset (bounds, 8, 8);
CGFloat scale = MIN (r.size.width / s.width, r.size.height / s.height);
s.width *= scale; s.height *= scale;
r.origin.x += (r.size.width - s.width) * .5;
r.size.width = s.width;
r.origin.y += (r.size.height - s.height) * .5;
r.size.height = s.height;
CGContextSaveGState (ctx);
CGContextTranslateCTM (ctx, 0, bounds.size.height);
CGContextScaleCTM (ctx, 1, -1);
if (image != nil) {
CGContextDrawImage (ctx, r, image.CGImage);
}
CGContextRestoreGState (ctx);
Если вы столкнулись с той же проблемой или знаете решение этой проблемы, любая помощь будет признательна.
Спасибо
Джошуа Ли Такер.