Merge branch 'feat/liujie'

This commit is contained in:
2025-08-24 23:56:43 +08:00
31 changed files with 1232 additions and 84 deletions

33
src/utils/processImage.ts Normal file
View File

@@ -0,0 +1,33 @@
export async function getTextColorOnImage(url) {
let canvas
const width = 100
const height = 50
try {
// 1. 创建离屏Canvas
canvas = wx.createOffscreenCanvas({ type: '2d', width, height })
const ctx = canvas.getContext('2d')
// 2. 加载图片
const img = canvas.createImage()
await new Promise((resolve) => {
img.onload = resolve
img.src = url
})
// 3. 绘制并分析图像
ctx.drawImage(img, 0, 0, width, height)
// TODO: 增加取样,提高精确性
const pixelData = ctx.getImageData(10, 10, 1, 1).data
// 4. 计算文字颜色
const brightness = (pixelData[0] * 2126 + pixelData[1] * 7152 + pixelData[2] * 722) / 10000
return { textColor: brightness > 128 ? 'black' : 'white' }
} finally {
// 释放资源
if (canvas) {
canvas.width = 0;
canvas.height = 0;
}
}
}