だから私はUIImageを作成するためのこのコードを持っています:
UIGraphicsBeginImageContextWithOptions(border.frame.size, YES, 0);
[border.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *thumbnailImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
この時点で、画像のサイズは正しい 80x100 です。
次に、次のコードを実行します。
NSData *fullImageData = UIImageJPEGRepresentation(image, 1.0f);
そして、画像の NSData は 160x200 のサイズの画像を返します。
この理由が次の行であることが明らかになりました。
UIGraphicsBeginImageContextWithOptions(border.frame.size, YES, 0);
末尾の 0 はスケールです。これは 0 であるため、デバイスのスケール ファクターに従います。鮮明なイメージを維持するために、このようにしています。ただし、画像を1に設定すると、画像は本来のサイズのままですが、網膜の品質にはなりません。私がやりたいのは、網膜の品質を維持するだけでなく、適切なサイズに維持することです。これを行う方法はありますか?