cameraOverlayView, чтобы обрезать результат в UIImagePickerController - PullRequest
3 голосов
/ 23 августа 2010

Когда я использую UIImagePickerController с cameraOverlayView, могу ли я получить только выделенную область из моего оверлейного вида?

1 Ответ

7 голосов
/ 23 августа 2010
  1. Добавьте UIImageView в качестве дочернего к вашей камере. OverlayView.
  2. Создайте черное изображение PNG размером 320x480.Вырежьте прямоугольник посередине, чтобы создать отверстие (прозрачные пиксели).
  3. Назначьте изображение PNG для UIImageView.

В качестве альтернативы вы можете перезаписать свой файл CameraOverlayView - (void)drawRect:(CGRect)rect следующим образом (не проверено в моей голове):

// Request draw context
CGContextRef context = UIGraphicsGetCurrentContext();

// Draw background        
CGContextSetRGBFillColor(context, 0.0f, 0.0f, 0.0f, 1.0f);
CGContextFillRect(context, rect);

// Cut hole
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextFillRect(context, CGRectMake(40, 40, 100, 100);

Я сделал нечто подобное в своем приложении Faces (http://faces.pixelshed.net/). Не стесняйтесь писать комментарии, если один из шагов кажется неясным.

...