zlgopen / awtk-web

在浏览器中运行AWTK应用程序
GNU Lesser General Public License v2.1
24 stars 8 forks source link

应用如果没有提供x2的图片资源,在高DPI情况下浏览器无法显示图片 #2

Open sohide opened 5 years ago

sohide commented 5 years ago

调试后发现是下面这个函数的问题,dpi=2造成后面assets.find找不到资源

建议做一个兼容修改,优先找x2的图片,如果找不到就找 x1的图片

另外我试验了一下,如果强制 let dpi = '/x1/',图片可以显示,但还是保持图片的原始大小

AssetsManager.getImage = function (name) {
  let anydpi = '/xx/';
  let dpi = '/x‘ + TBrowser.getDevicePixelRatio() + ’/';

  const assets = g_awtk_assets['image'];
  if (assets) {
    const asset = assets.find(iter => {
      return name == iter.name && (iter.uri.indexOf(anydpi) >= 0 || iter.uri.indexOf(dpi) >= 0);;
    });

    return asset;
  }

  return null;
}
xianjimli commented 5 years ago

已修改。谢谢