重複の可能性:
iPhone SDK での回転中に元の画質を維持する必要がある
私のアプリでは、画像を 90 度回転できます。何度も回転させると...ぼやけてしまいます(ピクセルの鮮明さが失われます)。imgの品質を失いました。誰でもこれを実装する方法を提案できますか?
ここでは、ボタンを使用して画像を回転させました。ローテーションに使用されるコードは次のとおりです。
- (UIImage *)rotateImage:(UIImage *) img
{
CGRect rect = CGRectMake(0, 0, img.size.width, img.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
if (img.imageOrientation == UIImageOrientationRight)
{
CGContextRotateCTM (context, M_PI_2);
}
else if (img.imageOrientation == UIImageOrientationLeft)
{
CGContextRotateCTM (context, -(M_PI_2));
}
else if (img.imageOrientation == UIImageOrientationDown)
{
// NOTHING
}
else if (img.imageOrientation == UIImageOrientationUp)
{
CGContextRotateCTM (context, M_PI_2);
}
//CGContextRotateCTM(context, M_PI_2);
CGContextTranslateCTM(context,0, -(img.size.width));
[img drawInRect:CGRectMake(0, 0, img.size.height,img.size.width)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
appDelegate.savedImage=newImage;
UIGraphicsEndImageContext();
CGContextRelease(context);
return newImage;
}
前もって感謝します。