Iphone 不使用pinch/UIScrollView缩小照片
我正在对图像的某个部分进行处理,我使用以下代码,但是在imageToDoProce上检索到的图像总是放大的,如果我可以缩小这张照片,我的应用程序将完成。 用户无法查看此照片,因此我不想使用Pinch/UIScrollView。 我只需要一个方法来缩小照片或有人指导我的代码中的错误,让照片放大。 谢谢Iphone 不使用pinch/UIScrollView缩小照片,iphone,ios,objective-c,image-processing,crop,Iphone,Ios,Objective C,Image Processing,Crop,我正在对图像的某个部分进行处理,我使用以下代码,但是在imageToDoProce上检索到的图像总是放大的,如果我可以缩小这张照片,我的应用程序将完成。 用户无法查看此照片,因此我不想使用Pinch/UIScrollView。 我只需要一个方法来缩小照片或有人指导我的代码中的错误,让照片放大。 谢谢 在“CameraImageHelper”类中将内容模式设置为image123 希望这能对你有所帮助:)嗨,我开发了一些相机应用,它们都在应用商店里。我可以帮你。但是我想知道所需图像的大小。感谢您的发
在“CameraImageHelper”类中将内容模式设置为image123
希望这能对你有所帮助:)嗨,我开发了一些相机应用,它们都在应用商店里。我可以帮你。但是我想知道所需图像的大小。感谢您的发布,这是您要求的大小(0200320,48)。有一件事,使用此方法返回的图像的比例是3:4。因此,如果我们缩放图像,我们应该保持比例不变。只要想想你有一个大小(320430)的图像。那么你想要裁剪的矩形是什么?你想要什么区域?@Augustine P感谢你的发帖,但不幸的是,这篇帖子并没有解决我的问题,只是对我的图片做了一些修改,并使用你的代码,它已经解决了。非常感谢。
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
[connection setVideoOrientation:AVCaptureVideoOrientationPortrait];
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(imageBuffer,0);
uint8_t *baseAddress = (uint8_t *)CVPixelBufferGetBaseAddress(imageBuffer);
size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
size_t width= CVPixelBufferGetWidth(imageBuffer);
size_t height=CVPixelBufferGetHeight(imageBuffer);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(baseAddress, 640, height, 8, bytesPerRow, colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGRect rect = CGRectMake(0,200,320,48);
CGImageRef newImage = CGBitmapContextCreateImage(context);
UIImage *imageRef= [UIImage imageWithCGImage:CGImageCreateWithImageInRect(newImage, rect) scale:1 orientation:UIImageOrientationUp];
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
CVPixelBufferUnlockBaseAddress(imageBuffer,0);
UIImage *imageToDoProce = imageRef;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 200, 320, 48)]; // frame is a CGRect.
imageView.image = imageToDoProce;
// UIImage* croppedImage = [CameraImageHelper croppedImageWithImage:imageView.image zoom:2];
NSString*ret= [self DoProcess:imageView.image];
//NSLog(@"obj=%@",[CameraImageHelper getSendResult]);
NSLog(@"rec=%@",ret);
dispatch_async(dispatch_get_main_queue(), ^{
[[CameraImageHelper getSendResult].res1 setText:ret];
[[CameraImageHelper getSendResult].image123 setImage:imageToDoProce] ;
});
}
[image123 setContentMode:UIViewContentModeScaleAspectFit];