16
UIImage
のdrawInRect:
メソッドを使用して画像を描画しようとしています。コードは次のとおりです。UIImageのdrawInrect:スムーズ画像
UIImage *image = [UIImage imageNamed:@"OrangeBadge.png"];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
問題は画像がぼやけていることです。ここで(右側)得られる画像は(左側)元画像と比較さ:
私は両方CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), NO)
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), NO)
を試してみたが、これで問題が解決しませんでした。
アイデア?
ありがとうございます。
私は、 '=='使用してフロート平等をチェックすることをお勧めしません。スケールを '0.f'に設定するだけで、フレームワークが残りの部分を処理します。 (http://stackoverflow.com/questions/2765537/how-do-i-use-the-nsstring-draw-functionality-to-create-a-uimage-from-textを参照してください) – Mazyod
ありがとうございました!これは問題を解決します。 'if([UIScreen instancesRespondToSelector:@selector(scale)])' - iOS3のサポートのためのこの行ですか? 'scale'プロパティは、iOS 4.0からサポートされています。 – tonytony
@Mazyod私は、 '0.0f'が、currectデバイスの網膜であるのか網膜でないのかにかかわらず、フレームワークが正しいスケールを扱うことを理解して正しいのですか? – Timo