我目前正在处理我的网站背景图像的图像质量问题。
我想使用一个很大的模糊背景图像,但希望它在网站上尽可能小。
要将其设为最高质量 (png),大约为 200kb。
我可以将它作为 JPG 压缩到大约 100kb,但质量会降低,这是可以预期的,但是线性周围有可怕的线条,使它看起来很糟糕。
有没有一种特殊的方法可以将此 png 转换为 jpg 但防止图像出现这些缺陷?
以下是图片:
PNG:

JPG (100%) 质量:

我目前正在处理我的网站背景图像的图像质量问题。
我想使用一个很大的模糊背景图像,但希望它在网站上尽可能小。
要将其设为最高质量 (png),大约为 200kb。
我可以将它作为 JPG 压缩到大约 100kb,但质量会降低,这是可以预期的,但是线性周围有可怕的线条,使它看起来很糟糕。
有没有一种特殊的方法可以将此 png 转换为 jpg 但防止图像出现这些缺陷?
以下是图片:
PNG:

JPG (100%) 质量:

这可能无法回答您的问题。一些可能的替代方案...
您是否考虑过 CSS:
background: linear-gradient(45deg, #3d667c, #1d283e);
或者您可以使用 SVG base64 技术(此处的生成器工具):
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none"><linearGradient id="g932" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#3D667C" offset="0"/><stop stop-color="#1D283E" offset="1"/></linearGradient><rect x="0" y="0" width="1" height="1" fill="url(#g932)" /></svg>
background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc5MzIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzNENjY3QyIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEMjgzRSIgb2Zmc2V0PSIxIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzkzMikiIC8+Cjwvc3ZnPg==);
您是否尝试过使用更小的 PNG 并允许浏览器的原生放大算法来放大它?这可能会减小文件大小并消除 JPG 伪影。
JPEG 压缩被认为是有损压缩,即使设置为 100% 质量也会损失一些质量。这就是为什么对于 UI 界面和背景等简单图形,通常最好使用 PNG 等无损格式。
虽然尽可能减小背景大小是个好主意,但重要的是要注意 200kb 对于大多数宽带连接来说并不是那么大。您可以使用css 媒体查询为手机和平板电脑提供不同的版本。
Photoshop 和其他绘图包使用标准 PNG 压缩,您必须使用PngOptimizer或 Yahoo 的在线服务Smush It将 200kb 减少到更少。减小文件大小甚至不会降低质量,因为它是一种无损格式......它基本上优化了代码,进一步减少它,将其与 ZIP 或 RAR 文件进行比较,这些压缩文件但不会降低内容的质量。
另一种可能的解决方案可能是您使用一个 1px 的细 PNG 渐变,然后是页面的高度,然后使用 复制它background-repeat,您甚至可以考虑使用 CSS为您生成渐变,但当然您的限制不是能够使用阴影和其他调整。
我建议你看看Kraken.io,他们有一个图像优化器。您主题中的图像尺寸减小了 45%,肉眼看不到!
你也可以只使用 css,colorzilla有一个很好的工具可以为所有浏览器创建正确的 css。
如果您对渐变图像感到满意,请放弃颜色,使其变为黑白,然后为 div/body/element 提供如下背景:
background: blue url('images/gradient.png')
某些图像编辑器(例如 GIMP)允许您在保存 jpeg 时应用平滑以及控制压缩。
平滑:将平滑选项设置为非零值将使图像略微平滑。这减少了压缩造成的模糊伪影,并有助于压缩。设置为 0.10-0.15 可以去除大部分伪影,而不会出现边缘模糊。
http://en.wikibooks.org/wiki/GIMP/Saving_as_JPEG
您还可以通过控制二次采样来减少伪影
虽然标准二次采样通常适用于大多数图像,在图像质量和文件大小之间提供良好的比例,但在某些情况下,不使用二次采样 (4:4:4) 可以显着提高图像质量,即使您使用更高的压缩比以保持文件大小。最值得注意的情况是图像包含一些具有精细细节的部分,例如统一背景上的文本,以及包含几乎平坦颜色的图像。