我有一个自定义相机控件,它有滑块来应用缩放。我可以使用以下代码缩放图像:
self.pickerReference.cameraViewTransform = CGAffineTransformScale(CGAffineTransformIdentity, zoom, zoom);
但是当我得到图像时,didFinishPickingMediaWithInfo
我得到的是原始图像UIImagePickerControllerOriginalImage
,而不是放大的图像。因为UIImagePickerControllerEditedImage
没有图像。
我也试过:
currentImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
UIImageView *v = [[UIImageView alloc]initWithImage:currentImage];
UIGraphicsBeginImageContext(v.bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextScaleCTM(context, zoom, zoom);
[v drawRect:pickerReference.view.bounds];
CGContextRestoreGState(context);
zoomedCurImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Write image to PNG file
[UIImageJPEGRepresentation(zoomedCurImg, 0.4) writeToFile:imgPath atomically:YES];
这确实将缩放应用于原始图像,但缩放始终应用在左上角而不是应用到要应用的位置。
请提出解决方案。提前致谢。