预览效果

下图是发送到朋友圈的效果

刚刚

删除

选择图片

导出切片

1.选择图片后,可浏览效果图

2.导出图片,可保存文件到本地

3.将所有九宫格图片分享到朋友圈

var arr=[];

import kpsImageCutter from "@/components/ksp-image-cutter/ksp-image-cutter.vue";

export default {

components: {kpsImageCutter},

data() {

return {

randeAarr:['二图','三图','四图','六图','九图'],

x:'',//分割系数x轴---控制分割数量

y:'',//分割系数y轴

cont:9,//分割数量

w:'100',//分割子容器宽度

h:'100',//分割子容器高度

w1:300,//被分割主容器宽度

h1:300,//被分割容器高度

imgurl:''//图片资源

}

},

onLoad(i) {

},

methods: {

bindPickerChange(e){//change事件

let that=this;

this.cont=e.detail.value;//根据数组下标判断分割数量

if(this.cont==0){//2张

this.cont=2;

this.x=2;

this.y=1;

this.w="100";

this.h="100";

this.w1="200";

this.h1="100";

}else if(this.cont==1){//三张

this.cont=3;

this.x=3;

this.y=1;

this.w="100";

this.h="100";

this.w1="300";

this.h1="100";

}else if(this.cont==2){//四张

this.cont=4;

this.x=2;

this.y=2;

this.w="150";

this.h="150";

this.w1="300";

this.h1="300";

}else if(this.cont==3){//六张

this.cont=6;

this.x=3;

this.y=2;

this.w="100";

this.h="150";

this.w1="300";

this.h1="300";

}else if(this.cont==4){//九张

this.cont=9;

this.x=3;

this.y=3;

this.w="100";

this.h="100";

this.w1="300";

this.h1="300";

}

uni.chooseImage({//选择相册目标图片

count: 1, //默认9

sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有

sourceType: ['album'], //从相册选择

success: function (res) {

// return

uni.getImageInfo({

src:res.tempFilePaths[0],

success(res1) {

that.imgurl=res1.path;//赋值给裁剪插件进行裁剪

}

})

}

});

},

onok(e){//确认裁剪 回调裁剪地址

let that=this;

const ctx = uni.createCanvasContext('mycnavas')//画布对象

this.imgurl='';//置空图片资源

uni.getImageInfo({

src:e.path,

success(res1) {

console.log(res1.path)

ctx.drawImage(res1.path, 0, 0,Number(that.w1),Number(that.h1))

ctx.draw() ;

}

})

setTimeout(function(){

that.newpohotoA()//调用裁剪

},500)

},

oncancle() {//取消裁剪

// url设置为空,隐藏控件

this.imgurl = "";

},

newpohotoA(){//开始切割图片

let that=this;

const cxt = uni.createCanvasContext('mycnavas')

that.api.msg("生成中")

let q = 1;

for (var i = 0; i < that.y; i++) {//纵

for (var j = 0; j

let k=q;//重点--相对全局变量赋值给局部

var data = uni.canvasGetImageData({canvasId: 'mycnavas',x:j * Number(that.w),y:i * Number(that.h), width:Number(that.w),height:Number(that.h),success(res) {//复制目标画布

uni.canvasPutImageData({//讲复制的目标画布粘贴进对应分割画布

data: res.data,//对应目标画布图像像素点数据

canvasId: 'img'+k,//存放的画布id

x: 0,

y: 0,

width:Number(that.w),

height:Number(that.h),

success(res1) {

uni.canvasToTempFilePath({//将改画布导出图像

x: 0,

y: 0,

width: Number(that.w),

height: Number(that.h),

destWidth: Number(that.w),//导出图片的宽高

destHeight:Number(that.h),

canvasId: 'img'+k,

success: function(res2) {

arr.push(res2.tempFilePath)//push进全局变量存放所有图片

}

})

},

fail(err) {

console.log(err)

}

},this)

}});

q++

}

}

},

download(){//保存分割的图片

console.log(arr)

let that=this;

for(let i=0;i

uni.saveImageToPhotosAlbum({

filePath: arr[i],

success: function () {

that.api.msg("导出成功",1)

}

});

}

}

}

}

.header{

display: flex;

align-items: center;

width: 100vw;

height: 20vw;

padding: 0 30upx;

}

.header image{

width: 12vw;

height: 12vw;

border-radius: 10upx;

margin-right: 8px;

}

.content{

width: 70vw;

display: flex;

flex-wrap: wrap;

margin: 0 auto;

}

.content>view{

width: 33.3%;

height: 23.3vw;

display: flex;

align-items: center;

justify-content: center;

}

.content image{

width: 22.2vw;

height:22.2vw;

background-color: #d3d3d3;

}

.blobk{

width: 70vw;

margin: 20px auto;

}

.blobk text{

font-size: xx-small

}

.buttom_block{

width: 100vw;

height: 50vw;

display: flex;

align-items: center;

justify-content: space-around;

padding: 0 30px;

}

.buttom_block>view{

width: 37vw;

height: 9vw;

text-align: center;

line-height: 9vw;

border-radius: 10upx;

color: #FFFFFF;

font-weight: lighter;

}

.msg>view{

width: 50vw;

margin: 0 auto;

color: #949494;

font-weight: lighter;

font-size: xx-small;

white-space: nowrap;

}

.mycanvas{

position: absolute;

top: 0;

z-index: 100;

opacity: 0;

}

canvas {

border: 1px solid #848484;

}

#mycnavas{

width: 300px;

margin: 0 auto;

}

.newcanvas {

width: 316px;

height: 316px;

margin: auto;

}

.newcanvas>canvas{

width: 100px;

height: 100px;

display: inline-block;

margin-left: 4upx;

margin-top: -6upx;

}

uniapp 获取图片的高度_uniapp自定义切图相关推荐

  1. uniapp 获取图片的高度_uni-app获取元素高度等信息,并设置元素top信息

    本文主要简介uni-app获取元素信息及设置信息等 获取元素高度 可查看官方文档 mounted() { const query = uni.createSelectorQuery().in(this ...

  2. uniapp canvas 图片加上文字合成一张新图并保存到手机相册

    uniapp canvas 图片加上文字合成一张新图并保存到手机相册 背景图上是奖章徽章,中间加上自定义文本,我这个图是因为背景图上原来就有字,随便找的,所以跟我写的文字层叠了 具体实现代码 < ...

  3. 从相机相册获取图片裁剪后用于评论晒图或更换背景图

    这是我人生中写的第一篇博客,是否要纪念一下这一刻(2016.09.01 16:52).其实关于写博客,老早就有这种写法,首先觉得他能够帮我总结我学到的和用过的技术,其次还能帮助那些和我有一样需求的人, ...

  4. uni-app 获取手机状态栏高度

    <template> <view> <view :style="'height:'+statusBarHeight+'px'"></vie ...

  5. ArcGIS Server 自定义比例尺切图

    1.用ArcMap随意打开一份需要进行发布的.mxd地图文件,此处我以北京市为例,在Catalog面板中展开GIS Servers节点,此时可以看见ArcGIS Server的服务处于未连接状态,我们 ...

  6. 图格 Pro for mac(图片拼图切图大师)

    图格 pro是一款能够实现拼图.美化.添加水印等等多种操作的小工具,软件内有大量相框,拼图模板,水印贴纸等等功能供您使用,可快速制作出精美的照片. 图格 pro安装教程 图格 Pro特色功能 支持照片 ...

  7. 微信小程序-动态设置图片的高度

    1.在index.wxml文件中:给图片绑定一个图片加载完成的方法: <image bindload="onImageLoad" class="img" ...

  8. 完成css的切图 图片任意,css切图是什么意思

    css切图是指DIV CSS开发的意思,表示从一张网页美工图切片到HTML代码开发与CSS样式开发,完成HTML静态网页:css切图包含两部分,分别是:1.网页美工图素材切出:2.DIV+CSS代码开 ...

  9. 淘晶驰串口屏入门(三)按钮、双态按钮、状态开关、图片、切图、触摸热区

    一.按钮控件 1.新建一个按钮控件,注意:b+数字开头的为按钮控件,这是控件的名称,你可以自己修改 2.按钮的点击事件 按下事件和弹起事件 把按钮想像成你的鼠标,当你点击左键时,触发按下事件,当你放开 ...

最新文章

  1. python中的str与expr的一个区别例子
  2. C++ 3 基本数据类型
  3. 课程设计+计算机程序设计,高职计算机程序设计课翻转课堂初探
  4. pytorch 实现线性回归
  5. java多线程 cpu分配_java多线程总结(转载)
  6. 【游戏】基于matlab GUI时钟设计【含Matlab源码 1102期】
  7. WPF 设置TextBox的输入法
  8. matlab 求导的一个简单程序
  9. php抽奖的数字滚动器,JS数字抽奖游戏实现方法
  10. vtp协议服务器配置,配置交换机VTP协议
  11. ERP软件实施要提供那些环境条件
  12. 上班可明目张胆摸鱼玩的游戏(这谁能看出是在玩游戏)
  13. 苹果支付 php,【苹果支付二】apple pay苹果支付以及自动续订订阅开发 - Laravel学习网...
  14. 成都博兰科技有限公司助宝兰网进入云贵川渝市场 www.beylai.com
  15. 基于matlab的傅里叶变换
  16. Unity 实战项目 | Unity实现 双屏或多屏幕 显示效果
  17. python opencv 校准鱼眼相机
  18. Mysql数据库练习题之商品库
  19. 【软件工程】一、初识软件工程
  20. 五年大专计算机是学什么,五年大专较吃香的专业介绍(2020)

热门文章

  1. 字符串分割函数strtok_r的用法
  2. mysql数据库中excel数据的导入与导出
  3. ps html css 工具,认识Photoshop(PS)CSS切图必用工具
  4. matlab 1到无穷_从零开始的matlab学习笔记——(6)符号计算与极限
  5. xp系统mysql安装教程视频教程_Windows XP操作系统下的MYSQL安装过程_PHP教程
  6. 移动网页广告引入mraid.js使用指南
  7. 如何高效快速地在Linux系统上部署Node.js+Express+MySQL的开发环境(桌面可视化)...
  8. spring cloud微服务分布式云架构 - Spring Cloud简介
  9. plsql developer如何创建新用户(users)
  10. 云管理不是巴别塔 从数据跨入云之路