Page({
data: {
title: '',
idx: '',
imgsrc:'', // 个人写的图片
imgurl: '', //对照的标准图片
// 以下是裁剪组件的属性
src: null,
visible: false,
size: {
width: 300,
height: 300
},
cropSizePercent: 0.9,
borderColor: 'red',
result: '',
},
onLoad: function (opt) {
console.log("opt::", opt);
this.setData({
title: opt.title,
imgurl:opt.src
})
},
myCheck: function () {
let that = this;
//从相册获取照片
wx.chooseMedia({
count: 1,
mediaType: ['image'],
sourceType: ['album', 'camera'],
success(res) {
var tempFilePath = res.tempFiles[0].tempFilePath;
console.log("path::", tempFilePath);
// 进行图片裁剪
that.setData({
visible: true,
src: tempFilePath
})
},
});
},
//选取裁剪图片成功回调
uploadCallback: function (event) {
console.log("选取裁剪图片成功回调::",event);
},
//裁剪图片回调
cropCallback: function (event) {
console.log("裁剪图片确认后回调::",event);
this.setData({
visible: false,
result: event.detail.resultSrc,
});
this.clrBgd(event.detail.resultSrc)
},
//关闭回调
closeCallback: function (event) {
console.log("裁剪图片取消后回调::",event);
this.setData({
visible: false,
});
},
clrBgd(imgPath) {
wx.createSelectorQuery()
.select('#myCanvas') // 在 WXML 中填入的 id
.fields({ node: true, size: true })
.exec((res) => {
// Canvas 对象
const canvas = res[0].node
// 渲染上下文
const ctx = canvas.getContext("2d")
const image = canvas.createImage()
// const dpr = wx.getSystemInfoSync().pixelRatio
let that = this
// 图片加载完成回调
image.onload = () => {
// 将图片绘制到 canvas 上
let width = 300
let height = 150
console.log("width2:", width, ",height2:", height);
ctx.drawImage(image, 0, 0, width, height)
const imgDt = ctx.getImageData(0, 0, width, height)
const data = imgDt.data
for (let i = 0; i < data.length; i += 4) {
let r = data[i + 0]
let g = data[i + 1]
let b = data[i + 2]
data[i + 0] = 255
data[i + 1] = 0
data[i + 2] = 0
if ([r, g, b].every(v => v > 80 && v < 256)) {
data[i + 3] = 0
}
}
ctx.clearRect(0, 0, 360, 360)
let nimgdt = canvas.createImageData(data, width, height)
ctx.putImageData(nimgdt, 0, 0)
let dtUrl = canvas.toDataURL("image/png")
console.log("dataurl:", dtUrl);
that.setData({
imgsrc: dtUrl,
})
}
// // 设置图片src
image.src = imgPath;
})
},
tstbtn() {
console.log("data-img::", this.data.imgurl);
}
})
ai安歌
- 粉丝: 8435
- 资源: 10
最新资源
- 注塑技术员试题及答案.doc
- 自学考试房地产开发和经营重点.doc
- 江苏镇江市2018年中考语文试题答案和解析.doc
- 精神病学试题与答案.doc
- 教育行动研究报告的写作.doc
- 老年人常见疾病的护理知识.doc
- 考试后激励学生的话.doc
- 廉洁文化主题教育课教学案.doc
- 贫困家庭申请书范文(精选多篇).doc
- 培训机构教学计划.doc
- 全新版大学英语综合教程3contentquestions答案.doc
- 全科医师转岗培训理论考试题和正确答案.doc
- 全国居民健康素养知识问卷80题及答案.doc
- 服装公司薪酬福利管理手册.docx
- 服装薪酬体系-KPI绩效考核指标.xls
- 各岗位KPI绩效考核指标——服装生产企业.xls
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈