Chrome扩展程序:以编程方式设置浏览器操作图标会使图标像素化

时间:2014-10-14 21:57:11

标签: javascript html css google-chrome google-chrome-extension

我尝试使用以下代码更改background.js中的浏览器操作图标

chrome.browserAction.setIcon({path: "img/logo-off.png", tabId:tab.id});

然而,这导致图标像素化非常糟糕(飞扬的鸟类风格)。

有没有人有同样的问题?我该怎么解决呢。

1 个答案:

答案 0 :(得分:7)

我终于在高DPI Windows屏幕上抓住了Chrome 38,它显示了相同的行为。

对于高DPI屏幕,您需要提供更高分辨率的图标,并更新图标providing alternatives

chrome.browserAction.setIcon({
  path: {
    19: "img/logo-off.png",
    38: "img/logo-off-hidpi.png"
  },
  tabId: tab.id
});

Chrome会根据屏幕DPI选择合适的图像。它目前仅支持19x19和38x38等级。

修改(2016年6月):

Chrome似乎正在向其工具栏的Material Design和changes browser icon requirements to 16x16(HiDPI为32x32)转移。建议为这些开关做好准备(有意或无意地already happened in Linux。)