小程序
小游戏
企业微信
微信支付
扫描小程序码分享
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
转canvas处理wx.createCanvasContext,再转会图片wx.canvasToTempFilePat。
帮你搜了一个,看看有没用。不过应该是我上面说的那个逻辑
processImage(imgSrc) {
const ctx = wx.createCanvasContext('myCanvas') // 假设你有一个名为'myCanvas'的canvas元素
ctx.drawImage(imgSrc, 0, 0, 300, 300) // 绘制图片到canvas上,这里假设canvas大小为300x300
ctx.draw(false, () => {
// 使用getImageData获取图片数据,并应用黑白滤镜效果
wx.createSelectorQuery().select('#myCanvas').boundingClientRect(rect => {
wx.createCanvasContext('myCanvas', this).getImageData({
x: 0,
y: 0,
width: rect.width,
height: rect.height,
success: res => {
const imgData = res.data
const len = imgData.length
for (let i = 0; i < len; i += 4) {
const avg = (imgData[i] + imgData[i + 1] + imgData[i + 2]) / 3
// 你可以根据需求调整这里的值,以实现不同的黑白增强效果
imgData[i] = avg // red
imgData[i + 1] = avg // green
imgData[i + 2] = avg // blue
}
ctx.putImageData({
data: imgData,
height: rect.height
}, 0, 0)
ctx.draw(true, () => {
// 导出处理后的图片
wx.canvasToTempFilePath({
canvasId: 'myCanvas',
console.log(res.tempFilePath) // 这是处理后的图片路径
// 你可以将这个路径保存到data中,或者用于其他操作
})
}).exec()
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
转canvas处理wx.createCanvasContext,再转会图片wx.canvasToTempFilePat。
帮你搜了一个,看看有没用。不过应该是我上面说的那个逻辑
processImage(imgSrc) {
const ctx = wx.createCanvasContext('myCanvas') // 假设你有一个名为'myCanvas'的canvas元素
ctx.drawImage(imgSrc, 0, 0, 300, 300) // 绘制图片到canvas上,这里假设canvas大小为300x300
ctx.draw(false, () => {
// 使用getImageData获取图片数据,并应用黑白滤镜效果
wx.createSelectorQuery().select('#myCanvas').boundingClientRect(rect => {
wx.createCanvasContext('myCanvas', this).getImageData({
x: 0,
y: 0,
width: rect.width,
height: rect.height,
success: res => {
const imgData = res.data
const len = imgData.length
for (let i = 0; i < len; i += 4) {
const avg = (imgData[i] + imgData[i + 1] + imgData[i + 2]) / 3
// 你可以根据需求调整这里的值,以实现不同的黑白增强效果
imgData[i] = avg // red
imgData[i + 1] = avg // green
imgData[i + 2] = avg // blue
}
ctx.putImageData({
data: imgData,
width: rect.width,
height: rect.height
}, 0, 0)
ctx.draw(true, () => {
// 导出处理后的图片
wx.canvasToTempFilePath({
canvasId: 'myCanvas',
success: res => {
console.log(res.tempFilePath) // 这是处理后的图片路径
// 你可以将这个路径保存到data中,或者用于其他操作
}
})
})
}
}).exec()
})
})
}