1

トリミングする前に拡大縮小および回転された画像ビューから画像をトリミングできません。既存のトリミング方法を使用しましたが、修正された画像ビューにのみ適用できます。希望コードが役立ちます。

4

3 に答える 3

2

最終的に、回転した拡大縮小画像のトリミングに成功しました。

1)拡大縮小または回転した画像全体をトリミングする必要があります。

2)トリミングされた画像からrectをトリミングします。最終的に拡大縮小または回転したトリミング画像を取得します。

サンプルコードを投稿していますが、他の人にも役立つかもしれません。

UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();


CGRect rect = CGRectMake(100,100 ,200, 200);//Rect we need from scaled or rotated image.
CGImageRef cropped = CGImageCreateWithImageInRect(viewImage.CGImage, rect);
UIImage *img =  [UIImage imageWithCGImage:cropped]; 
CGImageRelease(cropped);

ありがとう。

于 2011-05-20T04:39:55.217 に答える
0

これを試してください(コーナーをトリミングする必要がある場合):

UIImageView *imageSubview = [[UIImageView alloc] initWithFrame:CGRectMake(50.0f, 5.0f,80.0f, 60.0f)];

[imageSubview setImage:actualImage]; 
[imageSubview setContentMode:UIViewContentModeScaleToFill];
[imageSubview.layer setCornerRadius:10.0];
[imageSubview.layer setMasksToBounds:YES];
[cell addSubview:imageSubview];

半径を大きくすると、円になります。または、このパスを歩くと、実際の解決策が得られます。:)

于 2011-05-17T10:33:24.600 に答える
0
UIImage *myImage = [UIImage imageNamed:@"photo.png"];

CGRect cropRect = CGRectMake(0.0, 0.0, 320.0, 44.0));
CGImageRef croppedImage = CGImageCreateWithImageInRect([myImage CGImage], cropRect);

UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect];
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]]; 

CGImageRelease(croppedImage);

特定の高さと幅をトリミングするための

于 2011-05-17T10:55:02.830 に答える