重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

flutter高仿,百度贴吧flutter

iphone11相机为什么只能放大5倍

iphone11相机为什么只能放大5倍?

创新互联是专业的网站建设公司,提供网站建设,网站制作,网站设计等网站开发一体化解决方案;包括H5技术,重庆小程序开发,网站定制,企业网站建设,购物商城网站建设,响应式网站,建网站,PHP网站建设,软件开发,软文发布平台,网站营销。欢迎做网站的企业前来合作洽谈,创新互联将竭诚为您服务!

程序鹅 

码龄5年

关注

在做扫码需求,往往会有放大镜头需求。

苹果提供了AVCaptureConnection中,videoScaleAndCropFactor:缩放裁剪系数,使用该属性,可以实现拉近拉远镜头。再结合手势UIPinchGestureRecognizer,就很简单实现手势拉近拉远镜头。

手势代码

///记录开始的缩放比例

@property(nonatomic,assign)CGFloat beginGestureScale;

///最后的缩放比例

@property(nonatomic,assign)CGFloat effectiveScale;

- (void)cameraInitOver

{

if (self.isVideoZoom) {

UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchDetected:)];

pinch.delegate = self;

[self.view addGestureRecognizer:pinch];

}

}

- (void)pinchDetected:(UIPinchGestureRecognizer*)recogniser

{

self.effectiveScale = self.beginGestureScale * recogniser.scale;

if (self.effectiveScale 1.0){

self.effectiveScale = 1.0;

}

[self.scanObj setVideoScale:self.effectiveScale];

}

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{

if ( [gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]] ) {

_beginGestureScale = _effectiveScale;

}

return YES;

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

拉近拉远镜头代码

- (void)setVideoScale:(CGFloat)scale

{

[_input.device lockForConfiguration:nil];

AVCaptureConnection *videoConnection = [self connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self stillImageOutput] connections]];

CGFloat maxScaleAndCropFactor = ([[self.stillImageOutput connectionWithMediaType:AVMediaTypeVideo] videoMaxScaleAndCropFactor])/16;

if (scale maxScaleAndCropFactor)

scale = maxScaleAndCropFactor;

CGFloat zoom = scale / videoConnection.videoScaleAndCropFactor;

videoConnection.videoScaleAndCropFactor = scale;

[_input.device unlockForConfiguration];

CGAffineTransform transform = _videoPreView.transform;

[CATransaction begin];

[CATransaction setAnimationDuration:.025];

_videoPreView.transform = CGAffineTransformScale(transform, zoom, zoom);

[CATransaction commit];

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

有一点需要注意:the videoScaleAndCropFactor property may be set to a value in the range of 1.0 to videoMaxScaleAndCropFactor,videoScaleAndCropFactor这个属性取值范围是1.0-videoMaxScaleAndCropFactor,如果你设置超出范围会崩溃哦!

iOS 模仿微信扫描二维码放大功能

我们知道,微信扫描二维码过程中,如果二维码图片焦距比较远,会拉近焦距,实现放大功能。这种效果如何该实现,用原生的API又是如何实现。本文简单尝试如何使用AVFoundation实现放大二维码图片。重点是如何定位二维码和放大二维码,前面介绍了 iOS 扫描二维码实现手势拉近拉远镜头 iOS 识别过程中描绘二维码边框 和iOS 识别过程中描绘二维码边框 ,我们可以很简单的实现二维码定位和放大。 ...

APP打开

Android代码-Flutter实现的二维码扫描。

flutter_mobile_vision Flutter implementation for Google Mobile Vision. Based on Google Mobile Vision

APP打开

扫描二维码研究总结(高仿微信扫一扫,轻松实现定制扫描界面)

在正文之前说点题外话,加上这篇我已经写了3篇博客了,其实我写博客的初衷不是想证明自己有多牛,并且我也只是从事安卓开发只有半年时间的小渣,但是不想成为大牛的渣不是好渣,所以我想通过博客把工作学习中遇到的问题进行研究总结,从而提高自己,与此同时如果能给广大从事安卓开发的朋友们提供帮助或者是提供一点点思路我也是很心满意足了!~~好了,废话不多少进入正题吧! 先上界面图。由于目前不会录屏,所以直接上截图...

APP打开

ios 扫描二维码实现自动放大和手势双击放

Flutter版仿火币k线与深度线

flutter_k_chart基本实现了火币里面各项指标线以及深度线,Flutter目前没有比较好的开源组件,就自己写了一个,声明式ui自定义起来有点怪怪的,但大致与android差不多,先上效果图

使用方式

GitHub地址:

后期会持续完善,欢迎指出问题以及star

求flutter的教学视频!!!!

Flutter教程全套 (全网独家)百度网盘免费资源在线学习  

链接:

提取码: m9z8  

Flutter教程全套 (全网独家)

第一套:Flutter 携程17章全-整理好

第五套:Flutter高仿谷歌翻译项目课程

第四套:两小时掌握Flutter移动App开发视频

第三套:flutter入门到精通全套

第七套:Flutter小实战20个

第六套:仿直聘boss的flutter完整教程

第九套:Flutter跨平台开发

第二套:flutter移动电商实战-技术胖

第八套:Flutter基础教程(基础不好的优先看)

24Flutter的打包.mp4

23静态资源和项目图片的处理.mp4

22页面跳转并返回数据_.mp4

21导航的参数传递和接受-2_.mp4

20导航的参数传递和接受-1.mp4


网站名称:flutter高仿,百度贴吧flutter
网页URL:http://cqcxhl.cn/article/dsdodei.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP