0
A
回答
2
UIImagePickerController
有一个cameraViewTransform
,用户可以在用户放大时缩放摄像机视图。图像被拍摄后,您可以根据变焦设置进行剪裁和调整大小。
为此,您将创建一个具有所需大小的新图形上下文,并将从图像选择器获取的图像绘制到该上下文中。
1
一旦你捕获了图像,我认为你可以使用缩放和裁剪图像到你想要的大小。
但图像的清晰度可能与原始图像不一样。
- (UIImage *)image
{
if (cachedImage == nil) {
// HERE YOU CAN GIVE THE FRAME YOU WANT THE SIZE OF THE IMAGE TO BE.
CGRect imageFrame = CGRectMake(0, 0, 400, 300);
UIView *imageView = [[UIView alloc] initWithFrame:imageFrame];
[imageView setOpaque:YES];
[imageView setUserInteractionEnabled:NO];
[self renderInView:imageView withTheme:nil];
UIGraphicsBeginImageContext(imageView.bounds.size);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextGetCTM(c);
CGContextScaleCTM(c, 1, -1);
CGContextTranslateCTM(c, 0, -imageView.bounds.size.height);
[imageView.layer renderInContext:c];
cachedImage = [UIGraphicsGetImageFromCurrentImageContext() retain];
// rescale image
UIImage* bigImage = UIGraphicsGetImageFromCurrentImageContext();
CGImageRef scaledImage = [self newCGImageFromImage:[bigImage CGImage] scaledToSize:CGSizeMake(100.0f, 75.0f)];
cachedImage = [[UIImage imageWithCGImage:scaledImage] retain];
CGImageRelease(scaledImage);
UIGraphicsEndImageContext();
[imageView release];
}
return cachedImage;
}
希望这可以帮助你。
相关问题
- 1. 如何使用iphone设备相机实现视频数字缩放?
- 2. 如何使用AVCaptureVideoPreviewLayer实现相机应用程序的两倍变焦
- 3. 如何使iPhone相机按钮(变焦,闪光灯,开关)
- 4. 数码变焦实用?
- 5. AVCaptureDevice相机变焦
- 6. UIImagePicker禁用相机变焦
- 7. Watchkit连接iphone设备相机?
- 8. 数码变焦iphone示例代码
- 9. 如何通过USB连接Android设备到数码相机?
- 10. 如何在iPhone中实现实时相机流媒体?
- 11. 轨迹球相机变焦
- 12. WebRTC - 实时更换设备/相机
- 13. Android/iPhone设备如何实现文字缩放?
- 14. 使用iPhone相机
- 15. 使用iPhone相机
- 16. 相机数码变焦ios 4.0及更高版本
- 17. 如何使用iPhone相机实现自动缩放到一个点
- 18. iPhone:如何使用MACRO检查设备?
- 19. 用于生成随机数的字符设备实现
- 20. iPhone:相机自动对焦观察者?
- 21. iphone相机显示焦点矩形
- 22. 如何在unity3d的移动设备上使用相机?
- 23. Scandit与设备摩托罗拉XT907 - 相机不聚焦
- 24. 的Android - 相机在一些设备提供备用相机倒挂数据
- 25. 定制相机的变焦功能IPhone拍摄照片
- 26. 如何使用AVCaptureSession实现苹果像相机应用程序?
- 27. 如何在真实设备上调试Android本机代码
- 28. Linux:如何强制USB设备使用相同的ttyUSB号码
- 29. 如何在iPhone中实现URL编码?
- 30. iPhone:如何使用增强现实