精华内容
下载资源
问答
  • 2022-04-04 18:14:41

    在想要导入的文件夹右键选择“在资源管理器中显示”,在弹出的文件夹中就可以导入图片了

    更多相关内容
  • 主要介绍了微信小程序一键复制到剪切板,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 微信小程序实现图片上传

    千次阅读 2022-04-07 16:27:07
    微信小程序实现图片上传 最近做了个小程序,涉及到了图片上传的功能,今天给大家详细介绍下如何实现小程序图片上传,话不多说先上代码 首先是静态布局和样式部分 .wxml代码部分 <view class='load-img'> <...

    微信小程序实现图片上传

    最近做了个小程序,涉及到了图片上传的功能,今天给大家详细介绍下如何实现小程序图片上传,话不多说先上代码

    首先是静态布局和样式部分

    .wxml代码部分

    <view class='load-img'>
        <view class='load-box'>
          <view class='img-item' wx:for="{{fileList}}" wx:key="index" >
            <image src="{{item.path}}" data-src="{{item}}" mode="aspectFill" data-list="{{fileList}}" bindtap=""></image>
            <icon class='icon' type="clear" size="20" color='#EF4444' catchtap='_onDelTab' data-idx="{{index}}" wx:if="{{!prevent}}"/>
          </view>
          <image class='img-add' bindtap='_addImg' wx:if="{{!prevent}}"></image>
        </view>
      </view>
    

    .wxss代码部分

    /* 上传图片 */
    .load-name {
        height: 80rpx;
        line-height: 80rpx;
        font-size: 30rpx;
      }
      .load-box {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
      }
      .img-item, .img-add {
        position: relative;
        width: 140rpx;
        height: 140rpx;
        margin: 20rpx;
      }
      .img-add {
        border: 1px solid #ccc;
      }
      .img-add:after{
        width: 1rpx;
        height: 50rpx;
        content: " ";
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        background-color: #ccc;
      }
      .img-add:before{
        position: absolute;
        top: 50%;
        right: 31%;
        width: 50rpx;
        height: 1rpx;
        content: " ";
        display: inline-block;
        background-color: #ccc;  
      }
      
      .img-item {
        margin-right: 20rpx;
      }
      .img-item image {
        width: 100%;
        height: 100%;
        border-radius: 10rpx;
      }
      .icon {
        position: absolute;
        top: 0;
        right: 0;
      }
    

    以上这些基本代码就可以完成图片上传,显示,删除等样式布局

    下面是js的部分,我已详细备注~~~

    先来看下完整的代码

    /**
     * 小程序图片上传
     * 组件接受参数
     * fileList  图片数组
     * prevent 控制是否可新增
     * 方法
     * bindimageChange 选择图片后触发
     * bindimageDel  删除图片后触发
     * 
     */
    const app = getApp();
    Component({
      properties: {
        fileList: {
          type: Array
        },
        prevent: {
          type: Boolean,
          value: false
        }
      },
      data: {
        fileList: []
      },
      ready() {},
      methods: {
        // 点击加号进入手机相册,并进行图片选择
        _addImg() {
          let _this = this;
          // 此方法为微信小程序自带api 详情访问https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html
          wx.chooseImage({
            count: 5,
            success(res) {
              //此处会返回图片暂存路径和文件大小
              const data = res.tempFiles;
              _this.setFile(data)
            }
          })
        },
        setFile (data) {
          // 将wx.chooseImage返回的数据进行扩展
          data.map((item, index) => {
            // 通过路径截取文件后缀名
            const fileFormat = item.path.substring(item.path.lastIndexOf(".") + 1, item.path.length);
            // wx.getFileSystemManager()小程序文件管理器api,可以将通过文件路径将其转换成64编码
            const fileManager = wx.getFileSystemManager();
            const base64 = fileManager.readFileSync(item.path, 'base64');
            item.fileContent = base64;
            item.fileSize = item.size;
            // 通过时间获取随机13位随机数并且拼接文件后缀进行文件命名
            item.fileName = this.getFileName(13) + '.' + fileFormat;
            // 此处操作是用来进行选中图片显示的,只有这样拼接才能显示base64编码的路径
            item.path = `data:image/${fileFormat};base64,${base64}`;;
          })
          this.setData({ 
            fileList: this.data.fileList.concat(data)
          });
          // 此处操作是用来将获取到的文件数据传递给父组件进行文件上传
          this.triggerEvent('imageChange', this.data.fileList)
        },
        // 随机生成文件名
        getFileName (m) {
          m = m > 13 ? 13 : m;
          var num = new Date().getTime();
          return num.toString().substring(13 - m);
        },
        点击进行图片删除
        _onDelTab(e) {
          // 获取图片索引
          let idx = e.currentTarget.dataset.idx;
          let delFile = this.data.fileList[idx];
          console.log(delFile);
          this.data.fileList.splice(idx, 1);
          this.setData({
            fileList: this.data.fileList
          })
          this.triggerEvent('imageDel', delFile);
        }
    })
    

    代码里对代码的备注已经很明确了,大家仔细扒一下,根据的自己的项目进行相应的调整,基本上都是没问题的,~~不要直接直接粘贴不复置,我是直接在我的项目中直接拿过来的代码,直接粘贴复制肯定是不行的!!!~~

    大家需要注意的是这里

    在这里插入图片描述
    通常在真机上点击选中图片后wx.chooseImage方法中返回的文件路径是wxfile:开头的路径,这样的路径想直接转成base64,上面的方式是可以实现的,我也是查了很多资料才找到的解决办法。

    再一个需要注意的是image src属性想显示base64格式的图片要进行字符串拼接才可以正常显示如下图

    在这里插入图片描述
    好啦这些就是我小程序上传图片的操作,这些只是我对日常工作的积累,不喜勿喷 不喜勿喷 不喜勿喷 重要的事情说三遍大家仔细看下代码理解用法,还是很简单的,看都不看想白漂肯定是不行的呦~~~~~~~~~

    展开全文
  • 微信小程序中裁剪图片和将图片压缩到指定尺寸后上传

    本文分为两个内容,分别是裁剪图片和压缩

    引出问题

    1.为何要裁剪图片
    因为需要上传头像,但是每个型号的手机拍出来的照片尺寸都不太一样,不能统一,所以,希望在上传之前进行自主裁剪,保证上传到服务器上的尺寸一致,规范管理。

    2.为何要压缩图片
    因为我们用于读取头像照片的另一端硬件对文件大小非常敏感,太大保存失败,所以进行压缩。
    而微信小程序中自带的压缩图片的方法为 wx.compressImage 要求比较严格,还不能够压缩成自己想要的尺寸和大小。所以被弃用了,我们另外找了一个方法来压缩成我们需要的文件大小。

    裁剪图片

    我们裁剪图片用的是 image-cropper 这个组件

    小程序试用:
    在这里插入图片描述

    因为文档比较麻烦,我直接下载了代码来看使用方法。

    根据文档以及代码,我们看到,这个 demo 页面是独立了一个上传页面,然后引入了这个组件。

    文件目录格式:
    在这里插入图片描述
    cropper 就是当前页面,引入的就是 component 里的 image-cropper

    展示页面
    在这里插入图片描述
    我们进行了一部分改造,把原来是页面的功能,根据要求改成了组件

    在这里插入图片描述
    因为上下左右那些功能,均可用手势完成,就去除了这一部分功能。

    将页面修改成 组件需要注意一些问题:

    • 设置优先级,不然有内容穿透问题
    • 用 if 控制显示与否的时候,初始化组件,之前是在页面加载的时候初始化,现在显示的时候初始化;也可以直接使用 hidden ,这样组件始终都渲染只是不显示而已
      在这里插入图片描述

    压缩图片到指定大小

    这个的思路就是将图片重绘成 canvas 然后把 canvas 导出成我们需要尺寸的图片并上传。

    现在 wxml 中添加一个 canvas 画布,但是不能出现在页面视野中。
    由于 canvas 不能够显示隐藏,所以使用 样式控制

    <canvas canvas-id="attendCanvasId" style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;position: absolute;left:-8000px;top:-8000px;"></canvas>
    
    /**
      * 组件的初始数据
      */
     data: {
       src: '',
       canvasWidth: 0,
       canvasHeight: 0,
       imageShow: false
     },
    
    //如果图片大于1M就要进行压缩处理
    if (res.size > 200000) {
      wx.showLoading({
        title: '正在压缩中...',
        mask: true
      })
      //获取图片信息
      wx.getImageInfo({
        src: file.url,
        success: function (rr) {
          var ctx = wx.createCanvasContext('attendCanvasId', that);
          var ratio = 1;
          var canvasWidth = rr.width
          var canvasHeight = rr.height;
          var quality = 0.3; //图片质量
          while (canvasWidth > 1000 || canvasHeight > 1000) {
            //比例取整
            canvasWidth = Math.trunc(rr.width / ratio)
            canvasHeight = Math.trunc(rr.height / ratio)
            ratio += 0.1;
          }
          quality = (quality + (ratio / 10)).toFixed(1);
          if (quality > 1) {
            quality = 1;
          }
          //设置canvas尺寸
          that.setData({
            canvasWidth: canvasWidth,
            canvasHeight: canvasWidth
          });
          ctx.drawImage(file.url, 0, 0, canvasHeight, canvasWidth); //将图片填充在canvas上
          ctx.draw();
          //下载canvas图片
          setTimeout(function () {
            wx.canvasToTempFilePath({
              canvasId: 'attendCanvasId',
              width: canvasWidth,
              height: canvasWidth,
              destWidth: canvasWidth,
              destHeight: canvasHeight,
              fileType: 'jpg',
              quality: quality,
              success: function success(path) {
                wx.hideLoading()
                //这里是将图片上传到服务器中
                that.upload(path.tempFilePath);
              },
              fail: function fail(e) {
                wx.hideLoading();
                wx.showToast({
                  title: '头像上传失败',
                  icon: 'none',
                  duration: 2000
                });
              }
            }, that);
          }, 1000);
        }
      });
    } else { //小于1M的就不用压缩了
      that.upload(file.url)
    }
    

    以上代码均为部分代码,非完整代码,请选择复制

    为了压缩也曾百度过很多方法,只有这个比较实用和简单。可留言,互相交流

    展开全文
  • 步骤1:在手机打开已安装的微信步骤2:点击微信最下面的菜单栏的“发现”按钮,见下图:步骤3:打开的新界面见下图,找到列表的“小程序”:步骤4:在打开的小程序界面,有一个搜索框,在框内输入小程序的名称...

    步骤1:在手机中打开已安装的微信

    步骤2:点击微信最下面的菜单栏中的“发现”按钮,见下图:

    步骤3:打开的新界面见下图,找到列表中的“小程序”:

    步骤4:在打开的小程序界面,有一个搜索框,在框内输入小程序的名称:“传图识字”:

    步骤5:一般精确搜索后的第一个结果就是你要找的小程序了,点击这个小程序即可:

    步骤6:打开传图识字小程序后,选择“拍照/选图”按钮点击

    步骤7:在手机相册中选择你要转文字的照片,或者直接使用手机相机拍照也可以,选择好或拍照好之后, 小程序会自动分辨和解析你刚刚上传的图片:

    步骤8:当小程序将图片识别完成后,会有有一个提示弹出来,提示你可以对已识别的文字进行复制和粘贴的操作,按确定即可。

    步骤9:接下来就可以对已经识别的文字进行复制了,在最下方有三个按钮,最左边那个是复制整页文字的按钮 ,中间那个是可以选择复制部分文字:

    步骤10:选择之后,点击最右边的对勾按钮完成复制,点击后会提示复制成功:

    11. 复制之后就可以将文字粘贴到指定位置了。

    以上就是使用微信中的小程序将图片上的文字识别出来的方法,识别出来之后, 可以通过微信等工具将文字复制到电脑中,存到word文本中,或者如果手机安装了手机版的word,也可以直接粘贴到手机word中存储起来。

    展开全文
  • 「新组件√」微信小程序图片拖拽排序探索

    千次阅读 多人点赞 2022-03-02 18:50:23
    图片上传组件是一个组件库目前来看必不可少的功能了。笔者近日给自己开源的toy工具库也添加...小程序专栏地址(所有的组件设计也都在里面):小程序的浪潮·初探 本文我将继续介绍组件的设计思路: 首先来看效果 对于
  • js: baocun: function (e) { wx.showModal({ title: '提示', content: '确定要保存这张图片吗?', success: function (res) { if (res.confirm) { console.log('用户点击确定') wx....
  • 由于经常反编译小程序,都是通过命令操作完成,步骤比较繁琐,故本人只好利用空闲时间对其进行小幅度修改,水平有限,经过慢慢研究、修改、拼凑而成。 二、运行环境 软件采用 VS 2017 编译,需安装.net 4.0 或以上...
  • 小程序中如何拼接图片地址

    千次阅读 2020-05-08 22:56:50
    需求描述:当我们渲染一些图片信息时,通常后端接口返回给我们的地址信息只有后面半截,需要前端拼接前缀后,才能正确的显示处理。 wxml 无法像 HTML 直接使用较高级的 JS 语法,如‘.toFixed’,‘toString()’...
  • 微信小程序 背景图片设置

    千次阅读 2022-03-22 17:53:38
    微信小程序设置背景图片时,有两种方法: 第一:直接在.wxss中中使用 “background-image:url()” 设置背景图片,但是这种加载背景图片的方法存在一个问题,就是所加载的图片只能是网络图片或base64图片,是不可以...
  • 如何下载小程序图片

    千次阅读 2021-08-26 18:23:27
    如何下载小程序图片? 我们平时下载网页图片一般操作都是F12调试,或者用一些脚本插件一键下载,作为开发人员,平常用的比较多的就是Fiddler了,当然也用过其他的抓包工具。 但是如果要抓取小程序图片,...
  • 微信小程序实现图片预览功能

    千次阅读 2021-10-21 17:23:10
    小程序有提供预览图片的wx.previewImage方法 先在页面上放上图片标签 <image catch:tap="preview" data-src = 'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=508387608,2848974022&fm=26&...
  • 微信小程序上传图片和文件

    千次阅读 2021-03-09 14:31:00
    今天讲解一下微信小程序上传图片或者上传文件的步骤: 首先第一步我们要先在wxml页面文件写入一个图标或者按钮,用来触发微信调起手机相册和拍照功能,供你选择图片 <image src="/static/images/addimg.png...
  • 静态资源处理 在分包根目录建一个static包,把资源放进这个static包 pageA --页面1 --页面2 ...... --static
  • 第一个tapimg1是图片的类,第二个tapbtn1是按钮的类。 上面的是我写的参考代码(随便写的,随便命名的,别喷),下面是核心。   二、核心点 实现图片按钮的核心点如下: 1、隐藏按钮的显示 实现...
  • 图片显示是小程序设计必须要经过的步骤,本人看到网上教学有限,现整理出自己设计过程出现的问题,应该可以解决你遇到的问题。用最后给的完整代码,按照我的步骤一定能调试出来,不行再联系我。先给用到的代码以及...
  • 微信小程序开发图片太多怎么办

    千次阅读 2022-03-16 19:50:12
    小程序开发过程,图片数量多,将图片存储在本地可能会超过代码包的限制。常用的存储方式是将图片传到服务器上,但并不是每个开发者都有自己的服务器,可以使用开发工具里的云开发。 1、点击 云开发 2、将需要用的...
  • 微信小程序中图片下面出现空白区

    千次阅读 2019-06-05 14:15:27
    小程序wxml如果出现了这种结构:<view><image></view>, 只需设置图片垂直居中的方式(vertical-align)为middle即可。
  • 微信小程序——图片识别

    万次阅读 多人点赞 2020-01-03 13:55:11
    我的微信小程序 期末大作业——基于百度大脑API的图片识别小程序 具体实现了动物识别、植物识别、车辆识别 三个功能 实验源码已经放到了我的GitHub,欢迎测试修改 下面给大家分享该项目的实验报告???? 目录1 概述...
  • 小程序图片上传无反应

    千次阅读 2020-12-28 14:27:49
    传送门: 微信公众号如何关联小程序?如何查看小程序原始ID? https://blog.csdn.net/pang787559613/article/details/106455837 公众号认证?小程序认证?小程序复用公众号资质进行认证? ...小程序被冻结,忘记原始iD...
  • 小程序中解决图片旋转问题

    千次阅读 2019-10-16 21:19:14
    小程序中不需要借助任何工具获取图片信息,通过wx.getImageInfo()获取orientation orientation值有四个 up 不需要旋转 down 旋转180度 left 旋转270度 right 旋转90度 小程序中处理图片旋转条件 需要在wxml...
  • 小程序图片导出

    千次阅读 2020-08-19 10:03:32
    这是一种常见的引流方式,一般同时会在图片中附加一个小程序二维码。 基本原理 借助 canvas 元素,将需要导出的样式首先在 canvas 画布上绘制出来 (api基本和h5保持一致,但有轻微差异,使用时注意即可 借助微信...
  • 小程序复制和保存页面为图片

    千次阅读 2019-08-24 12:19:26
    复制 复制 //点击复制 copyText(e) { wx.setClipboardData({ data: e.currentTarget.dataset.text, success: function (res) { wx.getClipboardData({ success: function (res) { ...
  • 微信小程序 拍照/从相册选择图片

    千次阅读 2022-04-24 17:08:46
    微信小程序提供的众多API,wx.chooseImage函数就是用来访问手机相册或摄像头的。调用该函数后,界面下方会呼出一个菜单,可以分别选择进入相册挑选已有照片或是打开摄像头进行拍照: 我们往WXML里新添一个按钮,...
  • 只需要image标签给上‘ show-menu-by-longpress=‘1’’属性,就可以实现长按保存功能及长按识别图片中小程序二维码,特别方便 <image src="1.png" show-menu-by-longpress='1'></image> 二、点击按钮...
  • 【微信小程序图片自适应屏幕

    千次阅读 2020-07-07 15:41:43
    微信小程序媒体组件image:支持JPG、PNG、GIF、SVG、WEBP等格式。由于手机种类繁多,同一张图片在不同的手机上展示的宽高有时会出现压缩或拉伸的情况。虽然image组件,提供了mode属性适应图片展示的处理,但效果并不...
  • 小程序中渲染图片时,对于大图会出现图片比例失调的问题,小程序的文档有如下介绍 image 1、正常渲染图片 在开发者工具调试 <!-- imagetest.wxml --> <view class="con"> <view>未使用...
  • 开发小程序图片是非常重要的部分 小程序开发想要提升用户的体验感图片是必不可少的部分,因此对图片的各种操作也是咱不可或缺的技能。 我遇到的坑 本来想放入一张好看的图片 <view class="one"> <image ...
  • wx.chooseImage上传图片 wx.getImageInfo获取图片宽高等信息 bindtouchstart,bindtouchmove记录双指事件 通过双指移动的距离与初始距离的关系判断缩放 规定阈值,最大与最小缩放 开始操作 上传图片 由于上传的图片...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 711,992
精华内容 284,796
关键字:

怎么复制小程序里面的图片