随笔 - 175  文章 - 6  评论 - 0  阅读 - 36429

⑤ h5调用摄像头

<div :style="{ zIndex : !pre ? 1 : 2 }">
    <div @click="getN" v-show="!npre"></div>
    <img @click="getN" v-show="npre" :src="npre" alt />
</div>
<input type="file" style="display:none" accept="image/*" @change="getPhoto" id="fromCam3" />

getN() {
    document.getElementById("fromCam3").click();
},
getPhoto(e) {
    let input = e.target;
    let file = input.files[0];
    let reader = new FileReader();
    let Orientation = 0;

    reader.onload = e => {
        let img = new Image(),
        iheight = 720,
        iwidth, //图片resize宽度
        quality = 0.3, //1,  //图像质量 
        canvas = document.createElement("canvas"),
        drawer = canvas.getContext("2d");
        img.src = e.target.result;
        img.onload = () => {
            img.onload = null;
            iwidth = iheight * (img.width / img.height);
            canvas.width = iwidth;
            canvas.height = iheight;
            drawer.drawImage(img, 0, 0, iwidth, iheight);

            let degree = (90 * Math.PI) / 180;
            if (iwidth < iheight) {
                //将竖放的照片旋转为横放
                canvas.width = iheight;
                canvas.height = iwidth;
                drawer.rotate(degree);
                drawer.drawImage(img, 0, -iheight, iwidth, iheight);
            }
            let finalSrc = canvas.toDataURL("image/jpeg", 1);
            this.npre = finalSrc;
        };
    };
    reader.readAsDataURL(file);
} 
posted on   pleaseAnswer  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示