2
我有一個應用程序,其中我將(360,480)的圖像縮放爲(320,480),然後裁剪圖像。它工作正常。但是當我們獲得圖像時,它獲得了一個縮放類型image.projected front.Here就是我怎麼做的it.`裁剪後的圖像正在iPhone中放大?
[self imageWithImage:(UIImage *)image scaledToSize:CGSizeMake(160.0f,240.0f)];
和我defenition是 -
-(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self cropimage:newImage];
return newImage;
}
和cropimage我這樣做這樣的 -
-(void)cropimage:(UIImage *)image
{
CGRect cropRect = CGRectMake(20,100,280,200);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], cropRect);
UIImage* croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
NSData *pictureData = [NSData dataWithData:UIImagePNGRepresentation(croppedImage)];
}
有人可以找出我的方法有什麼問題嗎?
我的第一個猜測:原始uiimage的比例等於1.0,如果不是,您可能需要相應地修改cropRect。 – guenis 2013-04-10 14:06:21