缩放图像时禁用抗锯齿

时间:2012-12-28 10:26:26

标签: css background-image antialiasing

  

可能重复:
  How to stretch images with no antialiasing

在放大图像时是否可以以任何方式禁用抗锯齿?

现在,我得到的内容如下:

What i get

使用以下css代码:

#bib { width:104px;height:104px;background-image:url(/media/buttonart_back.png);background-size:1132px 1360px;
background-repeat:no-repeat;}

我想要的是这样的事情:

What i seek

简而言之,任何CSS都会在缩放图片时保留禁用抗锯齿功能,从而保留硬边。

欢迎任何javascript hacks或类似的东西。

(是的,我知道php和imagemagick也可以这样做,但更喜欢基于CSS的解决方案。)

更新 建议如下:

image-rendering: -moz-crisp-edges;
image-rendering: -moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering: -webkit-optimize-contrast;
-ms-interpolation-mode: nearest-neighbor;

但这似乎不适用于背景图片。

2 个答案:

答案 0 :(得分:104)

试试这个, 它是在所有浏览器中删除它的修复方法。

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

}

来源:

http://nullsleep.tumblr.com/post/16417178705/how-to-disable-image-smoothing-in-modern-web-browsers

http://updates.html5rocks.com/2015/01/pixelated

GitaarLAB

答案 1 :(得分:8)

适用于仅限Firefox 的CSS:

img { image-rendering: -moz-crisp-edges; } 

它对我有用( firefox 16.0 enter image description here