小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如图(滴滴小程序)这样,有个白色的描边。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
最终方案用customCallout,然后用canvas画出描边,通过canvasToTempFilePath生成临时路径赋值给cover-image
wx.createSelectorQuery()
.select('#myCanvas') // 在 WXML 中填入的 id
.fields({ node: true, size: true })
.exec((res) => {
// Canvas 对象
const canvas = res[0].node
// 渲染上下文
const context = canvas.getContext('2d');
const text = 'canvas实现';
const fontsize = 12;
const fontcolor = 'black';
const textWidth = context.measureText(text).width;
const { pixelRatio: dpr } = wx.getSystemInfoSync();
canvas.height = (fontsize + 20) * dpr;
canvas.width = (textWidth + 12) * dpr;
//再缩放,解决canvas模糊问题
context.scale(dpr, dpr);
context.font=fontsize+"px Arial";
context.lineWidth = 1;
context.fillStyle = fontcolor;
context.strokeStyle = 'red';
context.strokeText(text, 0, fontsize);
context.fillText(text, 0, fontsize);
newMarker.customCallout.anchorY = 50 + fontsize + 10;
const markers = [newMarker];
// 生成图片
wx.canvasToTempFilePath({
canvas,
success: res => {
// 生成的图片临时文件路径
this.setData({
markers,
canvas: {
src: res.tempFilePath,
width: canvas.width / dpr,
height: canvas.height / dpr,
}
})
},
text-shadow
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
最终方案用customCallout,然后用canvas画出描边,通过canvasToTempFilePath生成临时路径赋值给cover-image
wx.createSelectorQuery()
.select('#myCanvas') // 在 WXML 中填入的 id
.fields({ node: true, size: true })
.exec((res) => {
// Canvas 对象
const canvas = res[0].node
// 渲染上下文
const context = canvas.getContext('2d');
const text = 'canvas实现';
const fontsize = 12;
const fontcolor = 'black';
const textWidth = context.measureText(text).width;
const { pixelRatio: dpr } = wx.getSystemInfoSync();
canvas.height = (fontsize + 20) * dpr;
canvas.width = (textWidth + 12) * dpr;
//再缩放,解决canvas模糊问题
context.scale(dpr, dpr);
context.font=fontsize+"px Arial";
context.lineWidth = 1;
context.fillStyle = fontcolor;
context.strokeStyle = 'red';
context.strokeText(text, 0, fontsize);
context.fillText(text, 0, fontsize);
newMarker.customCallout.anchorY = 50 + fontsize + 10;
const markers = [newMarker];
// 生成图片
wx.canvasToTempFilePath({
canvas,
success: res => {
// 生成的图片临时文件路径
this.setData({
markers,
canvas: {
src: res.tempFilePath,
width: canvas.width / dpr,
height: canvas.height / dpr,
}
})
},
})
})
text-shadow