Tôi đang cố gắng vẽ hình ảnh bằng phương pháp 's drawInRect:
. Đây là mã:Bản vẽ của UIImage: làm mịn hình ảnh
UIImage *image = [UIImage imageNamed:@"OrangeBadge.png"];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Vấn đề là hình ảnh bị mờ. Dưới đây là hình ảnh kết quả (ở bên phải) so với hình ảnh nguồn (ở bên trái):
Tôi đã thử cả hai CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), NO)
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), NO)
nhưng điều này không giải quyết vấn đề.
Bất kỳ ý tưởng nào?
Xin cảm ơn trước.
tôi sẽ không khuyên bạn nên kiểm tra bình đẳng phao sử dụng '=='. Tất cả những gì bạn phải làm là đặt tỷ lệ thành '0.f' và khung sẽ đảm nhiệm phần còn lại. (xem http://stackoverflow.com/questions/2765537/how-do-i-use-the-nsstring-draw-functionality-to-create-a-uiimage-from-text) – Mazyod
Cảm ơn bạn rất nhiều! Điều này giải quyết vấn đề. 'if ([UIScreen instancesRespondToSelector: @selector (scale)])' - là dòng này cho hỗ trợ iOS3? Thuộc tính 'scale' được hỗ trợ bắt đầu từ iOS 4.0. – tonytony
@Mazyod Tôi có hiểu được rằng '0.0f' sẽ làm cho khung công tác xử lý đúng quy mô, bất kể đó là võng mạc hay không võng mạc trên thiết bị dòng điện? – Timo