Egret社区
20银子
本帖最后由 271117545 于 2019-7-1 16:42 编辑

微信小游戏使用fixedWidth进行自适应
但是很多手机高宽比例不是750 X 1334
导致图片缩放 圆变成椭圆
有没有api 或者一套算法 可以适应所有不同手机的分辨率并且不缩放呢
我手动算出来关于wx.getSystemInfoSync().windowWidth的值 一直都不对不能适应所有手机的分比率比例
有没有大神有好的思路呢

分享到 :
0 人收藏

19 个回复

倒序浏览
exml  登堂入室 | 2019-7-1 17:01:55
canvas的适配比例,而且你用的fixedwidth,这个不会影响到图片变形
271117545  登堂入室 | 2019-7-1 17:11:52
exml 发表于 2019-7-1 17:01
canvas的适配比例,而且你用的fixedwidth,这个不会影响到图片变形

对canvas不是很了解 可以具体一点吗大神
我用的是图片width和height乘以一定屏幕放大或者缩小的百分比
271117545  登堂入室 | 2019-7-1 17:23:09
exml 发表于 2019-7-1 17:01
canvas的适配比例,而且你用的fixedwidth,这个不会影响到图片变形

fixedwidth会导致图片拉伸 比如我是750*1334的游戏 用720*1480的手机屏幕打开 图片全部都被拉长了
bl_h  渐入佳境 | 2019-7-1 17:34:56
本帖最后由 bl_h 于 2019-7-1 17:43 编辑
271117545 发表于 2019-7-1 17:23
fixedwidth会导致图片拉伸 比如我是750*1334的游戏 用720*1480的手机屏幕打开 图片全部都被拉长了 ...

应该是你用图片w和h乘了屏幕放大缩小百分比的原因,fixedwidth不会对图片拉伸,fixedwidth只可能会让你舞台显示不全或者底部有黑边,exactFit模式才可能对图片拉伸
271117545  登堂入室 | 2019-7-1 17:44:16
bl_h 发表于 2019-7-1 17:34
肯定是你用图片w和h乘了屏幕放大缩小百分比的原因,fixedwidth不会对图片拉伸,fixedwidth只可能会让你舞 ...

this.stage.scaleMode = egret.StageScaleMode.EXACT_FIT
对我刚看了一下Main里是EXACT_FIT,
现在注释掉了
有没有办法不留黑边 并且等比例显示全图片呢
exml  登堂入室 | 2019-7-1 17:51:08
271117545 发表于 2019-7-1 17:44
this.stage.scaleMode = egret.StageScaleMode.EXACT_FIT
对我刚看了一下Main里是EXACT_FIT,
现在注释掉 ...

你不去做图片的特殊缩放,图片就不会变形了
271117545  登堂入室 | 2019-7-1 17:53:17
exml 发表于 2019-7-1 17:51
你不去做图片的特殊缩放,图片就不会变形了

但是不进行特殊处理,会有黑边 怎么做可以不留黑边 并且等比例显示全图片呢
exml  登堂入室 | 2019-7-1 17:59:07
271117545 发表于 2019-7-1 17:53
但是不进行特殊处理,会有黑边 怎么做可以不留黑边 并且等比例显示全图片呢 ...

你是说的背景图是吧。图片原始尺寸你知道w1,h1,然后当前屏幕分辨率你也知道w2,h2。 然后背景图缩放比例 let scale = Math.max(w2/w1,h2/h1)
271117545  登堂入室 | 2019-7-1 18:14:18
exml 发表于 2019-7-1 17:59
你是说的背景图是吧。图片原始尺寸你知道w1,h1,然后当前屏幕分辨率你也知道w2,h2。 然后背景图缩放比 ...

这样图片会被拉伸吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部