在Chrome中,然后在Firefox或InternetExplorer中。图像原本为120像素,我正在缩小为28像素,但是无论您将其缩小为多少,它看起来都非常糟糕。
图像是PNG,并且具有Alpha通道(透明度)。
以下是相关代码:
HTML:
<a href="http://tinypic.com?ref=2z5jbtg" target="_blank">
<img src="http://i44.tinypic.com/2z5jbtg.png" border="0" alt="Image and video hosting by TinyPic">
</a>
CSS:
a {
width: 28px;
height: 28px;
display: block;
}
img {
max-width: 100%;
max-height: 100%;
image-rendering: -moz-crisp-edges;
-ms-interpolation-mode: bicubic;
}
CSS 的image-rendering
和-ms-interpolation-mode
行似乎没有任何作用,但是我在对该问题进行一些研究时在网上找到了它们。
看来你是对的。没有选项可以更好地缩放图像:
我已经测试了FF14,IE9,OP12和GC21。只有GC具有可通过停用的更好的缩放比例image-rendering: -webkit- optimize-contrast
。所有其他浏览器的缩放比例均没有/差。
不同输出的屏幕快照:
更新
同时,更多浏览器支持平滑缩放:
ME38(Microsoft Edge)具有良好的缩放比例。不能禁用它,它适用于JPEG和PNG,但不适用于GIF。
FF51(关于自FF21起的@karthik的注释)具有良好的缩放比例,可以通过以下设置禁用它:
image-rendering: optimizeQuality
image-rendering: optimizeSpeed
image-rendering: -moz-crisp-edges
注意:关于MDN,该optimizeQuality
设置是以下各项的同义词auto
(但auto
不会禁用平滑缩放):
早期草案中存在的值optimizeQuality和optimizeSpeed(来自其SVG对应项)被定义为自动值的同义词。
image-rendering: -webkit-optimize-contrast
IE9-IE11不支持。该-ms-interpolation-mode
设置仅在IE6-IE8中有效,但在IE9中已删除。
PS平滑缩放默认情况下完成。这意味着不需要任何image-rendering
选择!
我有以下图像标记使用和属性来插入响应图像: 据我所知,我只是告诉浏览器我所有可用的图像大小,它应该只下载基于视口大小的最合理的大小,等等。如果我将浏览器窗口(Chrome)调整为较小并刷新页面,则网络选项卡告诉我,它将下载我期望的图像(在本例中为800px),加上最大的图像(我从属性中假设)。 我在使用picturefill.js和不使用picturefill.js的情况下都试过,我在OS X 1
我不熟悉android camera API,代码中调用了PictureCallback,其中包含: 对这一行指出的例外情况是: 因为我是Android世界的新手,我不知道这个环境到底在哪里。getExternalStorageDirectory()指出。 例外说明: JAVA木卫一。FileNotFoundException:/storage/emulated/0 est。jpg:打开失败:EA
我们有修改PDF的代码,然后对修改后的PDF进行数字签名。我们使用iTextSharp库(4.1.6)的LGPL版本对PDF进行数字签名。 这是一个显示问题的示例PDF。PDF最初会打开,但随后会冻结,无法导航。无论您是否安装了我们的证书来验证此签名,问题似乎都会发生。 这个问题似乎没有始终如一地发生,问题只存在于Adobe Reader中。浏览器PDF查看器和Foxit Reader(进行签名验
在我开始这看似很长的一段之前,我想对我可能收到的任何建议/建议表示感谢。朱约翰 我开发了一个简单的测试来帮助我理解spring的声明性(@Transactional)事务管理框架如何与spring的RESTful web服务结合使用。 为此,我开发了以下RESTful控制器: 其中,“tester”是以下服务类的bean,并自动连接到此控制器。类中唯一的方法是事务性的: 在上面,GenericDB
问题内容: 好吧,我试图理解并阅读可能导致它的原因,但我却无法理解: 我的代码中有这个地方: 事实是,当它尝试调用某些方法时,它将引发而不是其他预期的异常(特别是)抛出 。我实际上知道调用了什么方法,所以我直接转到该方法代码,并为应该抛出的行添加了一个块 ,它实际上按预期抛出。然而,当它上升时,以某种方式更改了上面的代码并没有 按预期进行。 是什么原因导致这种行为的?我该如何检查? 问题答案: 通