uniapp 获取图片的高度_uniapp自定义切图
预览效果
下图是发送到朋友圈的效果
刚刚
删除
选择图片
导出切片
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自定义切图相关推荐
- uniapp 获取图片的高度_uni-app获取元素高度等信息,并设置元素top信息
本文主要简介uni-app获取元素信息及设置信息等 获取元素高度 可查看官方文档 mounted() { const query = uni.createSelectorQuery().in(this ...
- uniapp canvas 图片加上文字合成一张新图并保存到手机相册
uniapp canvas 图片加上文字合成一张新图并保存到手机相册 背景图上是奖章徽章,中间加上自定义文本,我这个图是因为背景图上原来就有字,随便找的,所以跟我写的文字层叠了 具体实现代码 < ...
- 从相机相册获取图片裁剪后用于评论晒图或更换背景图
这是我人生中写的第一篇博客,是否要纪念一下这一刻(2016.09.01 16:52).其实关于写博客,老早就有这种写法,首先觉得他能够帮我总结我学到的和用过的技术,其次还能帮助那些和我有一样需求的人, ...
- uni-app 获取手机状态栏高度
<template> <view> <view :style="'height:'+statusBarHeight+'px'"></vie ...
- ArcGIS Server 自定义比例尺切图
1.用ArcMap随意打开一份需要进行发布的.mxd地图文件,此处我以北京市为例,在Catalog面板中展开GIS Servers节点,此时可以看见ArcGIS Server的服务处于未连接状态,我们 ...
- 图格 Pro for mac(图片拼图切图大师)
图格 pro是一款能够实现拼图.美化.添加水印等等多种操作的小工具,软件内有大量相框,拼图模板,水印贴纸等等功能供您使用,可快速制作出精美的照片. 图格 pro安装教程 图格 Pro特色功能 支持照片 ...
- 微信小程序-动态设置图片的高度
1.在index.wxml文件中:给图片绑定一个图片加载完成的方法: <image bindload="onImageLoad" class="img" ...
- 完成css的切图 图片任意,css切图是什么意思
css切图是指DIV CSS开发的意思,表示从一张网页美工图切片到HTML代码开发与CSS样式开发,完成HTML静态网页:css切图包含两部分,分别是:1.网页美工图素材切出:2.DIV+CSS代码开 ...
- 淘晶驰串口屏入门(三)按钮、双态按钮、状态开关、图片、切图、触摸热区
一.按钮控件 1.新建一个按钮控件,注意:b+数字开头的为按钮控件,这是控件的名称,你可以自己修改 2.按钮的点击事件 按下事件和弹起事件 把按钮想像成你的鼠标,当你点击左键时,触发按下事件,当你放开 ...
最新文章
- python中的str与expr的一个区别例子
- C++ 3 基本数据类型
- 课程设计+计算机程序设计,高职计算机程序设计课翻转课堂初探
- pytorch 实现线性回归
- java多线程 cpu分配_java多线程总结(转载)
- 【游戏】基于matlab GUI时钟设计【含Matlab源码 1102期】
- WPF 设置TextBox的输入法
- matlab 求导的一个简单程序
- php抽奖的数字滚动器,JS数字抽奖游戏实现方法
- vtp协议服务器配置,配置交换机VTP协议
- ERP软件实施要提供那些环境条件
- 上班可明目张胆摸鱼玩的游戏(这谁能看出是在玩游戏)
- 苹果支付 php,【苹果支付二】apple pay苹果支付以及自动续订订阅开发 - Laravel学习网...
- 成都博兰科技有限公司助宝兰网进入云贵川渝市场 www.beylai.com
- 基于matlab的傅里叶变换
- Unity 实战项目 | Unity实现 双屏或多屏幕 显示效果
- python opencv 校准鱼眼相机
- Mysql数据库练习题之商品库
- 【软件工程】一、初识软件工程
- 五年大专计算机是学什么,五年大专较吃香的专业介绍(2020)
热门文章
- 字符串分割函数strtok_r的用法
- mysql数据库中excel数据的导入与导出
- ps html css 工具,认识Photoshop(PS)CSS切图必用工具
- matlab 1到无穷_从零开始的matlab学习笔记——(6)符号计算与极限
- xp系统mysql安装教程视频教程_Windows XP操作系统下的MYSQL安装过程_PHP教程
- 移动网页广告引入mraid.js使用指南
- 如何高效快速地在Linux系统上部署Node.js+Express+MySQL的开发环境(桌面可视化)...
- spring cloud微服务分布式云架构 - Spring Cloud简介
- plsql developer如何创建新用户(users)
- 云管理不是巴别塔 从数据跨入云之路