升级时防止浏览器消除锯齿?

时间:2012-06-28 17:18:32

标签: html css antialiasing

借助Google的Chart Image API(不幸的是2012年4月已弃用),您可以生成QR码。

QR code

我确信我可以使用API​​更改生成图像的大小,但我宁愿只使用CSS以及宽度和高度属性来使其更大一些。
至少在Chrome中,这会导致令人讨厌的抗锯齿(不是优选的,因为它需要由机器解析)。有没有办法告诉浏览器不要使用抗锯齿放大图像?

3 个答案:

答案 0 :(得分:3)

这家伙有解决方案:http://nullsleep.tumblr.com/post/16417178705/how-to-disable-image-smoothing-in-modern-web-browsers

img { 
    image-rendering: optimizeSpeed;             /* PREFER SPEED OVER SMOOTHING  */
    image-rendering: -moz-crisp-edges;          /* Firefox                        */
    image-rendering: -o-crisp-edges;            /* Opera                          */
    image-rendering: -webkit-optimize-contrast; /* Chrome (and eventually Safari) */
    image-rendering: optimize-contrast;         /* CSS3 Proposed                  */
    -ms-interpolation-mode: nearest-neighbor;   /* IE8+                           */
  }

Sooo for you:

imgQR { 
    width:100px;
    height:100px;
    image-rendering: optimizeSpeed;             /* PREFER SPEED OVER SMOOTHING  */
    image-rendering: -moz-crisp-edges;          /* Firefox                        */
    image-rendering: -o-crisp-edges;            /* Opera                          */
    image-rendering: -webkit-optimize-contrast; /* Chrome (and eventually Safari) */
    image-rendering: optimize-contrast;         /* CSS3 Proposed                  */
    -ms-interpolation-mode: nearest-neighbor;   /* IE8+                           */
  }

答案 1 :(得分:0)

您可能正在寻找的是:

https://developer.mozilla.org/en/css/image-rendering

例如,在Firefox中,调整宽度和高度时,还要添加

img{
width:100px;
height:100px;
 image-rendering: optimizeQuality;
}

然而,Chrome目前似乎尚未支持此功能。

答案 2 :(得分:0)

试试image-rendering: -webkit-optimize-contrast;。这适用于Chrome(v23.0.1271.95)。