1

以下のコードでフレームに合わせて画像のサイズを変更しようとしましたが、画像が少し歪んでいます。

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {
     UIGraphicsBeginImageContext( newSize );
     [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
     UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
     UIGraphicsEndImageContext();

     return newImage;
}


    UIImage* image =[UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
    deal.Image=[tfbImageHelper imageWithImage:image scaledToSize:newSize];
4

1 に答える 1

1

はい、使用する必要がUIGraphicsBeginImageContextWithOptionsあり、最後の引数は 0.0f にする必要があるためです (つまり、現在のスケールを維持するため)。Retina ディスプレイでテストしていて、スケール係数が 2 であるため、歪んでいます。また、新しいサイズを割り当てるときに、縦横比を維持していることを確認してください。

于 2012-08-17T20:03:16.963 に答える