精华内容
下载资源
问答
  • 知识点:oc和js的交互 、系统原生类二维码识别 核心思想:通过oc向web网页注入js代码以获取网页中的图片。获取图片后再进行二维码识别、保存图片等操作。 具体实现: 1、给webview添加长按手势  ...

    知识点:oc和js的交互 、系统原生类二维码识别

    核心思想:通过oc向web网页注入js代码以获取网页中的图片。获取图片后再进行二维码识别、保存图片等操作。


    具体实现:

    1、给webview添加长按手势

     UILongPressGestureRecognizer* longPressed = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressed:)];

        longPressed.delegate = self;

     [self.webView addGestureRecognizer:longPressed];

    2、实现长按方法, 在长按方法中注入js 获取图片(获取的时图片的URL, 就是image标签里的 src)

    - (void)longPressed:(UILongPressGestureRecognizer*)recognizer

    {

        if (recognizer.state != UIGestureRecognizerStateBegan) {

            return;

        }

        

        CGPoint touchPoint = [recognizer locationInView:self.webView];

        // 获取手势所在图片的URLjs中图片的地址是用src引用的

        NSString *imgURL = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).src", touchPoint.x, touchPoint.y];

        NSString *urlToSave = [self.webView stringByEvaluatingJavaScriptFromString:imgURL];

        

        if (urlToSave.length == 0) {

            return;

        }

        

        [self showImageOptionsWithUrl:urlToSave];

    }


    3、实现showImageOptionsWithUrl方法, 通过url加载图片,进行二维码码识别,保存图片


    - (void)showImageOptionsWithUrl:(NSString *)imgURL

    {

        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];

        

        NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:imgURL]];

        UIImage* image = [UIImage imageWithData:data];

        

        NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:

                                 @"CIDetectorAccuracy", @"CIDetectorAccuracyHigh",nil];

        CIDetector *detector = nil;

        //if (IOS8_Later)

        detector = [CIDetector detectorOfType:CIDetectorTypeQRCode

                                      context:nil

                                      options:options];

        NSArray *features = [detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]];

        

         //识别图中二维码

        UIAlertAction *judgeCode = [UIAlertAction actionWithTitle:@"识别图中二维码" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

            

            CIQRCodeFeature *feature = [features objectAtIndex:0];

            NSString *scannedResult = feature.messageString;

            

            if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:scannedResult]]){

                NSLog(@"scannedResult = %@", scannedResult);


            }else{

                NSLog(@"无法识别的网址");

                [SVProgressHUD showErrorWithStatus:@"无法识别的网址"];

            }

        }];

        

        // 保存图片到手机

        UIAlertAction *saveImage = [UIAlertAction actionWithTitle:@"保存图片到手机" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

            

            UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

        }];

        

        // 取消

        UIAlertAction *cancell = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

            

        }];

        

        

        if (features.count >= 1) {

            [alertController addAction:judgeCode];

        }

        

        [alertController addAction:saveImage];

        [alertController addAction:cancell];

        [self presentViewController:alertController animated:YES completion:nil];

        

    }


    4 、补充

    // 功能:显示图片保存结果

    - (void)image:(UIImage *)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo

    {

        if (error){

            NSLog(@"保存图片失败");

        }else {

            NSLog(@"保存图成功");


        }

    }



    以上,代码是偷来的,思想是自己总结的。。



    展开全文
  • 手机端网页调用摄像头 拍照识别二维码,在普通浏览器中正常使用。在webview打开网页需更改Android权限。
  • web识别二维码

    2017-03-02 15:40:53
    web识别二维码
  • 网页二维码识别,仿微信二维码识别效果。如果你需要请参考
  • 普通HTML页面web识别条形码,二维码,亲自测试可以使用。
  • JS识别二维码、JS生成二维码

    万次阅读 2018-06-30 16:28:37
    最近的项目中使用到了识别二维码和生成二维码,都是用JS生成的,应用在了移动端,在网上搜罗了许多进行验证,下面是我在项目中应用的: 识别二维码 1.JS文件和测试页面压缩包:...

    最近的项目中使用到了识别二维码和生成二维码,都是用JS生成的,应用在了移动端,在网上搜罗了许多进行验证,下面是我在项目中应用的:

    识别二维码

    1.第一种,压缩包:https://pan.baidu.com/s/1WN49BKFM6WiNHOV4T-wDAQ
    github:https://github.com/LazarSoft/jsqrcode
    2.第二种:github:https://github.com/dwa012/html5-qrcode

    生成二维码

    1.第一种:https://pan.baidu.com/s/1ZfvvbtoXKrOjQRMLS5QoUg
    github:https://github.com/LIGuoxiang/QRCode
    2.VUE 中使用 (参考:https://blog.csdn.net/qq449736038/article/details/80771947)

    npm install qrcode
    
    <template>
    	<div>
    		<div id='code'></div>
    		<canvas id="canvas"></canvas>
    	</div>
    </template>
    <script>
    	import QRCode from 'qrcode'
    	export default{
    		data(){
    			return {
    				codes:''
    			}
    		},
    		mounted(){
    			this.useqrcode();
    		},
    		methods:{
    			useqrcode(){
    				var canvas = document.getElementById('canvas')
    				QRCode.toCanvas(canvas, 'http://www.baidu.com', function (error) {
    					if (error) {
    						console.error(error) 
    					}
    					console.log('success!');
    				})
    			}
    		},
    		components: {
    			QRCode: QRCode
    		}
    	}
    </script>
    
    展开全文
  • 网页二维码识别

    热门讨论 2016-02-25 23:38:05
    这是一个仿微信二维码识别效果,直接拿来看一看一定会有所收获的
  • 关于微信H5网页开发中二维码无法识别的解决方法

    关于微信H5网页开发中二维码无法识别的解决方法

    参考文章:

    (1)关于微信H5网页开发中二维码无法识别的解决方法

    (2)https://www.cnblogs.com/viphchok/articles/5314874.html


    备忘一下。


    展开全文
  • 主要介绍了iOS模仿微信长按识别二维码的两种方式,文章第二种方式是识别网页中的二维码,具体思路详解大家参考下本
  • 在做项目时出现了安卓微信长按可以识别二维码而IOS微信长按无法识别,在网上搜了很多办法,例如:图片太大或太小,与标题直接间距,二维码底部留一个200px左右透明空白区等等,都试过了没用,后来搜到一篇IOS不能直接...

    在做项目时出现了安卓微信长按可以识别二维码而IOS微信长按无法识别,在网上搜了很多办法,例如:图片太大或太小,与标题直接间距,二维码底部留一个200px左右透明空白区等等,都试过了没用,后来搜到一篇IOS不能直接识别第二层的二维码,并提及到了iframe框中的子页面没有识别。

    注意:

    方法一)网上的方法是将子页的二维码,置顶到父级页面(重叠在父级页面上),就可以识别了;写了很多,我自己也不太会,我就用了第二种简单粗暴的方法

    (方法二) 在可以的情况下,不使用嵌入的iframe框,直接作为一个单独的页面存在,IOS可以识别二维码,测试成功。

    当ios二维码不能识别,可以试试看,当我一筹莫展时,找了很多方法,看了技术博客,获取就是iframekua框子页二维码不能识别让我找到了痛点(这里真心感谢。

    展开全文
  • 实现微信H5实现网页长按保存图片及识别二维码 使用工具 html2canvas 官方文档 html2canvas.hertzen.com/ canvas2image github.com/hongru/canv… 实施方案 将DOM 使用html2canvas转化成cavas对象 再将cavas对象使用...
  • 小程序长按识别二维码网页在小程序中长按识别二维码,web-view长按识别二维码 效果图: html 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>&...
  • 浏览器通过摄像头识别二维码demo,用手机浏览器打开扫码,有浏览器限制,火狐可用
  • using System.Collections; using System.Collections.Generic; using System.Threading; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI;...public class QRCodeReader : MonoBehaviour...
  • 微信长按识别二维码bug整理

    万次阅读 2016-06-05 11:33:44
    微信长按识别二维码问题搜集与整理最近在折腾一个手机端页面长按识别二维码的问题。发现长按二维码时在ios和android手机上识别不是那么灵敏。下面整理下我对该问题的总结。
  • 识别规则 这里采用的逻辑是截屏识别,当客户端发现用户在网页的img标签内进行长按操作时,会立刻截屏并且启动二维码识别算法。所以这里用于二维码识别的图片是截屏,而不是之前有人提到的img标签中的图片。 ...
  • /// 不可识别二维码吗? 默认NO @property(nonatomic,assign)BOOL canNotQRcode; @end NS_ASSUME_NONNULL_END .m #import "WebView.h" #import @interface WebView () , WKUIDelegate, UIGestureRecognizerDelegate...
  • 使用公众号发布一篇带有二维码的文章,然后通过web-view内嵌在小程序中,就可以实现长按识别二维码了 2. 微信网页 原文:https://blog.csdn.net/weixin_42865522/article/details/86530461 (1) 设置meta <...
  • 本文要使用Android WebView实现长按保存图片及长按识别二维码功能,当用户在浏览网页的时候,长按某一区域,识别如果是图片,则弹出弹框,出现保存图片的功能
  • 项目中的广告详情页面是个webView加载的富文本,包含图片,需要点击查看大图,长按识别二维码功能。 实现 webView基础设置 val webView = fragment.binding.webView webView.settings.javaScriptEnabled = true ...
  • jquery实现微信长按识别二维码 - 在线生成二维码1.引入JS库 &lt;script src="jquery-1.8.3.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt; &...
  • vue开发H5的时候如何实现 识别二维码的功能功能 个人了解 1、 uni-app不支持h5 2、 taro是基于react开发的、支持H5但是 对于react掌握不好 3、 html5Plus 安装vue上却不生效 有哪些推荐的第三方或者其他的api
  • 参考:http://www.jianshu.com/p/997cec333822 ... 方式一:长按识别二维码 #import "LYBLongPressRecognizeEwmVC.h" #import "UIImageView+CreatCode.h" /** 补充的iOS9新特性*/ #import...
  • 常使用微信分享网页链接的朋友可能都会经常碰到打开后提示 “已停止访问该网页” 的情况,遇到这种情况的时候,很多人不知道怎么办,其实做到微信内打开网页自动唤醒手机默认浏览器打开就能解决问题了。下面给大家...
  • web识别二维码信息

    2021-08-23 18:20:03
    <!... <... <head> ...meta charset="utf-8" />...图片二维码识别</title> <script src="./jsQR.js"></script> <!-- <script src="https://cozmo.github.io/jsQR/jsQR.js">&l...
  • 2.网页内有一张图片进行二维码识别时长按没有反应(长按图片无法弹出识别二维码)这个就是我所遇到的问题。需要调到特别大才能识别,但是特别大就会影响到背景图片,就会有问题,在网上搜了一下结合自己的思路给大家一...
  • h5页面在微博客户端中呼起摄像头扫描二维码并且解析;原生浏览器或者微信客户端呼起系统拍照或者上传图片按钮,拍照二维码或者上传二维码并且解析
  • 使用ZXing2.2的完整工程,能扫描识别二维码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,450
精华内容 4,180
关键字:

网页无法识别二维码