http://pastebin.com/wSVW1tRc

CGRect scanCrop

The region of the video image that will be scanned, in normalized image coordinates. Note that the video image is in landscape mode (default {{0, 0}, {1, 1}})

The coordinates for all of the arguments is in a normalized float, which is from 0 - 1. So, in normalized value, theView.width is 1.0, and theView.height is 1.0. Therefore, the default rect is {{0,0},{1,1}}.

So for example, if I have a transparent UIView named scanView as a scanning region for myreaderView. Rather than do :

readerView.scanCrop = scanView.frame;

We should do this, normalizing every arguments first :

CGFloat x,y,width,height;  
x = scanView.frame.origin.x / readerView.bounds.size.width;
y = scanView.frame.origin.y / readerView.bounds.size.height;
width = scanView.frame.size.width / readerView.bounds.size.width;
height = scanView.frame.size.height / readerView.bounds.size.height;

readerView.scanCrop =CGRectMake(x, y, width, height);

It works for me. Hope that helps.

相关文章:

  • 2022-02-27
  • 2021-08-22
  • 2022-03-06
  • 2021-10-01
  • 2022-02-02
  • 2021-06-27
  • 2022-01-03
  • 2021-10-19
猜你喜欢
  • 2021-11-17
  • 2021-08-08
  • 2021-07-10
  • 2021-08-06
  • 2022-12-23
  • 2021-12-26
  • 2021-12-14
相关资源
相似解决方案