3

画像をトリミングするコードを記述しましたが、指定された長方形ではなく、画像の他の部分を取得しています。

CGImageRef cr = CGImageCreateWithImageInRect([imageCrop.image CGImage], rectangle.frame);
    imageCrop.frame=rectangle.frame;
    imageCrop.image = [[[UIImage alloc] initWithCGImage:cr] autorelease];
    CGImageRelease(cr);
4

2 に答える 2

0

画像の別の部分を受け取っている場合は、提供したimageOrientationプロパティの値が原因である可能性がありUIImageます。トリミングする前に、画像の向きを考慮してください。

画像の向きは、描画時の画像データの表示方法に影響します。デフォルトでは、画像は「上」向きで表示されます。ただし、画像にメタデータ(EXIF情報など)が関連付けられている場合、このプロパティには、そのメタデータによって示される方向が含まれます。このプロパティに使用できる値のリストについては、UIImageOrientationを参照してください。

于 2012-05-30T10:47:15.157 に答える
0
 //  Try using following line of code-

    CGImageRef cr = CGImageCreateWithImageInRect([imageCrop.image CGImage], rectangle.frame);
    imageCrop.image =[UIImage imageWithCGImage:croppedCGImage scale:1.0f orientation:self.imageOrientation];
     CGImageRelease(cr);
于 2012-05-30T14:28:42.127 に答える