settextalign

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数为指定设备环境设置文字对齐标志。

    函数原型:UINT SetTextAlign(HDC hdc, UINT fMode);

    参数:

    hdc:设备环境句柄。

    fMode:使用下列值的掩码指定文件对齐方式。从水平和垂直对齐标志里只能选择一个。另外,对改变前状态的两个标志只能选择一个。各值含义参见GetTextAlign。缺省值是TA_LEFT, TA_TOP和TA_NOUPDATECP。

    返回值:如果函数调用成功,返回值是文字对齐方式的前一个设置;如果函数调用失败,返回值是GDI_ERROR。

    Windows NT:若想获得更多错误信息,请调用GetLastError函数。

    备注:TextOut和ExtTextOut用文字对齐标志来将一个正文字符串在显示时定位或定位于其他设备。该示志指定基准点与限定正文的矩形的位置关系,基准点可以是当前位置,也可是传给正文输出函数的一个点。限定正文的矩形是正文字符串里的字符单元形成的。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:wingdi.h;库文件:gdi32.lib。

convertToImage() { this.$nextTick(() => { const query = uni.createSelectorQuery().in(this); query.select('.share-card').fields({ dataset: true, rect: true, size: true }, (res) => { if (res) { console.log(res.width, 'width'); console.log(res.height, 'height'); // 获取设备像素比,确保高清屏下图片清晰 const dpr = uni.getSystemInfoSync().pixelRatio; const canvasId = 'tempCanvas'; const ctx = uni.createCanvasContext(canvasId, this); console.log(dpr, 'dpr'); // 设置 canvas 的尺寸为固定值(600rpx × 1000rpx),并根据设备像素比调整 const canvasWidth = 600 * dpr; const canvasHeight = 1000 * dpr; // 在 Canvas 上绘制一个矩形,左上角坐标为 (0, 0),宽度为 canvasWidth,高度为 canvasHeight ctx.rect(0, 0, canvasWidth, canvasHeight); ctx.setFillStyle('#ffffff'); ctx.fill(); // 绘制背景 ctx.setFillStyle('#ffffff'); ctx.fillRect(0, 0, canvasWidth, canvasHeight); // 绘制文字,根据像素比调整文字大小和位置 ctx.setFontSize(40 * dpr); // 调整字体大小 ctx.setTextAlign('center'); ctx.setTextBaseline('middle'); ctx.setFillStyle('#000000'); ctx.fillText(this.shareWord, canvasWidth / 2, 200 * dpr); // 调整文字位置 // 绘制底部文字 ctx.setFontSize(23 * dpr); // 调整字体大小 ctx.setTextAlign('center'); ctx.setTextBaseline('middle'); ctx.setFillStyle('#000000'); ctx.fillText('M Stand,More Than Coffee', canvasWidth / 2, 900 * dpr); // 调整文字位置 // 绘制二维码 const qrCanvasId = 'qrcode'; const qrCtx = uni.createCanvasContext(qrCanvasId, this); qrCtx.drawImage(qrCanvasId, canvasWidth / 2 - 60 * dpr, 400 * dpr, 120 * dpr, 120 * dpr); 生成的图片比例过大导致图片内容显示不全
最新发布
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值