4

I created a custom Camera Control with overlay ...

Now i am zooming image by using Slider by ..

imagePickerController.cameraViewTransform = CGAffineTransformScale(initialTransform, 

MainSlider.value, MainSlider.value);

where initialTransform is the initial image transformation ... MainSlider is slider , which i use to get zoom level from 1 to 4 So each time when i increase image using Slider ... I refer initialTransform and zoom accordingly Slider value ...

I am able to zoom by doing this .. But when i capture photo using

[imagePickerController takePicture];

It gives me Original Picture only .. does not give me any EditedImage ...

This original image is same as without zoom ... I want to get Image which was zoomed ... Means whatever showing in screen ...

I try to find a lot for this,,,, I know we can use GetScreenCapture() but it can be cause of rejection of app and also it lower down the image quality ...

Darshan Shah
  • 61
  • 2
  • 8

1 Answers1

2

You need to apply the same transform to the image after it has been captured. Setting cameraViewTransform will only affect the display, as you've noticed. When you apply a uniform scaling transform (e.g. to zoom) this is a digital zoom. You are not increasing the pixel resolution. You'll get the pic back from the camera and then you can crop/scale it to the size you want when processing the image. You should do your processing on a background thread to minimize disrupting the main thread.

XJones
  • 21,959
  • 10
  • 67
  • 82
  • Thanks for your reply .... You are completey right ... i am just using transformation to View ... I believe Uniform Scaling transform is only done by AffineTransformation , Which is only available for iOS 4...Please let me know if you find any source of information for me .... – Darshan Shah May 13 '11 at 15:27