HTML5: 实现调用系统拍照或者选择照片并预览

ylbtech-HTML5: 实现调用系统拍照或者选择照片并预览

 

1.返回顶部
1、
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
    <title></title>
</head>
<body>
    <input id="fileBtn" type="file" onchange="upload('#fileBtn', '#img');" accept="image/*" capture="camera" /><br />
   <div>
       <img src="" id="img"  height="200"/>
   </div>
    <!--
    # 解析
    # accept 属性(允许上传两种文件类型:gif 和 jpeg)
    # capture 捕获到系统默认的设备,有三个参数值可设置  camera--照相机; camcorder--摄像机; microphone--录音
    # js代码我做了封装, 参数一表示 "选择文件" 的 id,参数二表示 "显示图片" 的 id,
    # 若是 ios 只能调用摄像头,不能选择打开相册的话,就把这个【capture="camera"】去掉,直接加一个属性 multiple
    -->

    <script>
        var upload = function (c, d) {
            "use strict";
            var $c = document.querySelector(c),
                $d = document.querySelector(d),
                file = $c.files[0],
                reader = new FileReader();
            reader.readAsDataURL(file);
            reader.onload = function (e) {
                $d.setAttribute("src", e.target.result);
            };
        };
        //# 解析
        //# 参数在上面 HTML 就已经讲解了,
        //# file 表示你选中的那个图片,然后它里面有几个属性 name、size、type、slice等,也都非常实用,

        //# FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。
        //# 调用 FileReader 的 readAsDataURL 接口,将启动异步加载文件内容,通过给 reader 监听一个 onload 事件,
        //# 将数据加载完毕后,在onload事件处理中,通过 event 的 result 属性即可获得文件内容,然后扔进 img 的 src 即可 打开图片并预览。
    </script>
</body>
</html>
2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、参考
2、
 
6.
warn作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/storebook/p/9047303.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择
您可以使用企业微信提供的拍照接口,结合Vue进行调用和水印功能的实现。以下是一个简单的实现示例: 1. 首先,确保您已经引入了企业微信的JavaScript SDK,可以在HTML文件中添加以下代码: ```html <script src="https://qydev.weixin.qq.com/sdk/js/qywx.js"></script> ``` 2. 在Vue组件中,可以创建一个拍照按钮,并绑定点击事件: ```html <template> <div> <button @click="takePhoto">拍照</button> <img v-if="photoUrl" :src="photoUrl" alt="照片预览"> </div> </template> <script> export default { data() { return { photoUrl: '' }; }, methods: { takePhoto() { // 调用企业微信拍照接口 wx.invoke('camera', {}, (res) => { if (res.err_msg === 'camera:ok') { // 拍照成功,获取照片的临时文件路径 const tempPhotoUrl = res.localIds[0]; this.addWatermark(tempPhotoUrl); } }); }, addWatermark(tempPhotoUrl) { // 创建一个Canvas元素 const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); // 创建一个新的Image对象,用于加载照片 const image = new Image(); image.onload = () => { // 在Canvas上绘制照片 canvas.width = image.width; canvas.height = image.height; context.drawImage(image, 0, 0); // 绘制水印文字 context.font = '20px Arial'; context.fillStyle = 'red'; context.fillText('水印文字', 10, 30); // 将Canvas转换为Base64格式的图片数据 const base64PhotoUrl = canvas.toDataURL('image/jpeg'); // 更新预览照片的URL this.photoUrl = base64PhotoUrl; }; image.src = tempPhotoUrl; } } }; </script> ``` 在上述示例中,首先调用企业微信的`camera`接口进行拍照,成功后获取照片的临时文件路径。然后,创建一个Canvas元素,将照片绘制到Canvas上,并添加水印文字。最后,将Canvas转换为Base64格式的图片数据,并更新预览照片的URL。 请注意,以上示例仅为演示目的,实际应用中可能需要根据您的需求进行适当修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值