小程序批量选择、压缩、预览、上传图片功能 功能需求 可以拍照、单张/批量选择图片:因为应用场景是在微信小程序里边,所以单次选择图片最多9张,可以多次选择图片,图片总数量不收限制; 对选择的图片(批量)压缩:使用 Canvas 对图片进行重绘制再压缩; 显示压缩后的预览图:在页面上显示压缩后的图片; 删除图片; 最后批量上传:全部图片选择...
【微信小程序】图片压缩-纯质量压缩,非长宽裁剪压缩 原理:利用canvas来实现,将图片绘制到canvas上,然后canvas转图片时,微信提供的一个方法wx.canvasToTempFilePath(Object object, Object this),此方式可以指定生成图片的质量,下图是从官方API截的图: 其中quality可以...
顶点索引BufferGeometry.index复用顶点数据 本文是Three.js电子书的2.4节 通过几何体BufferGeometry的顶点索引属性BufferGeometry.index可以设置几何体顶点索引数据,如果你有WebGL基础很容易理解顶点索引的概念,如果没有也没有关系,下面会通过一个简单的例子形象说明。 比如绘制一个...
Three.js顶点颜色数据插值计算 顶点颜色数据插值计算 本文是Three.js电子书的2.2节 上节课自定义几何体给大家介绍了一个顶点位置坐标概念,本节课给大家介绍一个新的几何体顶点概念,就是几何体顶点颜色。 通常几何体顶点位置坐标数据和几何体顶点颜色数据都是一一对应的,比如顶点1有一个顶点位置坐标数据,也有一个顶点颜色数据,顶点2...
Three.js旋转动画、requestAnimationFrame周期性渲染 本文是Three.js电子书的1.2节 基于WebGL技术开发在线游戏、商品展示、室内漫游往往都会涉及到动画,初步了解three.js可以做什么,深入讲解three.js动画之前,本节课先制作一个简单的立方体旋转动画。 本节课是在1.1节 第一个3D场景已绘...
Three.js顶点位置数据解析渲染 顶点位置数据解析渲染 本文是Three.js电子书的2.1节 如果你没有WebGL基础,可以先不用记忆每个的threejs 具体内容,有一个大致印象即可,学习本节课的重点是建立顶点的概念。如果你建立了顶点的概念,那么对于你深入理解学习Three.js很有帮助。 如果你已经有WebGL基础或者说图形学...
Scala集合,Scala序列,Scala Seq,Array,ArrayBuffer,元组Tuple,列表,List,ListBuffer,队列QueueScala数组与JavaList的互转 1、Scala集合基本介绍 1.1 有关Scala集合的几个重点 Scala同时支持不可变集合和可变集合,可变集合可以安全的并发访...
JavaScript类型化数组——ArrayBuffer JavaScript类型化数组是一种类似数组的对象,提供了一种用于访问原始二进制数据的机制。 类型化数组(Typed Array)很像C语言的数组,允许开发者以数组下标的形式,直接操作内存。有了类型化数组以后,JavaScript的二进制数据处理功能增强了很多,接口之间完全可以用...
小程序使用threejs第三篇—介绍几种几何模型 在上一篇小程序使用threejs第二篇—立方体展示并自动旋转与手势旋转中,我们还遗留了一个小问题,就是展示的立方体如何随手势旋转缩放,当我们处理了这个问题,接下来介绍几种几何模型,大家可以试着把他们添加到场景下再渲染出来… 好,先处理手势控制旋转缩放 上篇说过,基于微信官方的threej...
微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音 前言 在调试微信小程序音频播放时,刚开始我也是直接复制官方文档的实例: const innerAudioContext = wx.createInnerAudioContext() innerAudioContext.autopl...