让IIS支持webp格式的图片

WebP(发音:weppy)是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,被认为是WebM多媒体格式的姊妹项目,是由Google在购买On2 Technologies后发展出来,以BSD授权条款发布。

WebP支持的像素最大数量是16383x16383。有损压缩的WebP仅支持8-bit的YUV 4:2:0格式。而无损压缩(可逆压缩)的WebP支持VP8L编码与8-bit之ARGB色彩空间。又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释数据。

WebP有静态与动态两种模式。动态WebP(Animated WebP)支持有损与无损压缩、ICC色彩配置、XMP诠释数据、Alpha透明通道。

浏览器支持性

当前网页浏览器当中,Google Chrome和Opera原生支持静态与动态的WebP格式,而Google Chrome自12版开始支持WebP的渐进式解码功能。此外所有可以原生播放WebM影像的浏览器,也可以透过javascript来显示WebP影像。又Pale Moon 26+浏览器仅支持静态的WebP图像。Firefox浏览器亦在65.0版本支持WebP图像。

网页浏览器GNOME Web和KDE图片浏览器Gwenview也支持WebP。

图像软件当中,Picasa(从3.9版本起)、PhotoLine、Pixelmator、ImageMagick、XnView、IrfanView、GDAL、Aseprite和GIMP(2.10起)皆原生支持WebP格式。

苹果在macOS Sierra及iOS 10的早期beta版本中加入了WebP支持。而在2016年9月7日发布的iOS 10和macOS Sierra GM种子版本中却移除了WebP的支持。

IIS 对webp的支持

webp压缩的在线网站(其实挺多的):智图http://zhitu.isux.us/

最近网站需要用到webp的图片格式,具体什么是webp可以参考这里。

默认IIS不支持webp格式,在网页上会显示404错误。

如果在IIS中需要添加MIME类型,具体截图如下:

MIME 类型说明

设置为 text/html,直接使用域名地址访问是文字,但是放在img标签里是正常的
设置为 image/webp ,全部显示正常(所以建议用这个)

PHP添加图像处理(ImageMagick)

下载地址:

http://pecl.php.net/package/imagick

安装说明:

https://www.php.net/manual/zh/imagick.setup.php

具体步骤

1、下载了.zip程序包后,将压缩包中的 php_imagick.dll 文件解压到 你的 php安装目录的Ext目录里(只需这1个文件,其它不需要)

2、修改你的php.ini文件,我的版本是7.3,所以添加的是内容如下(放在哪个位置都可以)

[Imagick]
extension=imagick

有些版本的php需要把文件名写全

[Imagick]
extension=php_imagick.dll

参考一下你的php.ini中,其他extension的写法。

重启IIS,或 IIS程序池,使得修改后的php.ini生效,运行phpinfo(),应该看到imagick的配置段

PHP代码调用

因我用ThinkPhp,所以new 后面加一个斜杠 \ ,避免因命名空间不同而出错

/* Create the Imagick object */
$im = new \Imagick();

/* Read the image file */
$im->readImage( '/tmp/test.webp' );

/* Write the thumbail to disk */
$im->writeImage( '/tmp/th_test.webp' );

IIS部份

在IIS管理器中,添加一个MIME即可

注意如果有些格式设置了mime还不能访问,你估计要去文件右键设置一下那个文件的权限了,添加一个iis_users的权限,特别是需要下载的文件更需要这样设置一下.

(0)

相关推荐

  • 让网站Windows服务器之iis支持Webp图片格式的方法(宝塔)

    目录 一.Webp报错 二.造成Webp报错的原因 三.解决网站Webp文件打开404 我们可能因为一些特殊需求网站服务器使用 Windows Server 系统来跑,没有采用Linux环境.而Webp格式的图像越来越多的网站采用,因为压缩效率更为出色,在同等质量下体积要比JPEG格式的小很多.这时你可能会发现上传到网站的Webp图像文件浏览器无法打开,报404错误,今天我们简单几个步骤轻松解决这个问题. 一.Webp报错 当你的 Windows Server 服务器使用的是 IIS 信息服务管

  • iOS WebView中使用webp格式图片的方法

    webp格式图片 webp格式图片是google推出的,相比jpg png有着巨大的优势,同样质量的图片webp格式的图片占用空间更小,在像电商这样图片比较多的App中,使用webp格式图片会很有优势. 引言 很早之前,我们的项目中就已经采用了webp格式,但是由于webView本身并不能解析webp格式,所以我们基于webView的文章详情页就无法使用到这项优化. 那么有没有什么办法能实现呢?当然是有的. 在开始技术讲解之前需要先说明,本文的技术方案,是基于本项目的情况:文章的正文大部分通过接

  • Java处理Webp图片格式转换的示例代码

    前言 Webp是Google推出的一种新型图片格式,相比于 传统的PNG/JPG图片有着更小体积的优势,在Web中有着广泛的应用.由于Webp格式推出比较晚, Jdk 内置的图片编解码库对此并不支持. 网上给出的Java环境解决方案往往需要手动在java.library.path中安装对应的动态链接库,windows是dll文件,linux是so文件.这对于开发部署非常不方便. 本文提供一种无需手动安装动态链接库,同时可以方便处理Webp的解决方案 WebP是谷歌的图片格式,java 类库ima

  • js+canvas实现图片格式webp/png/jpeg在线转换

    功能需求: 我们在网页中上传一张图片,选择不同的格式,将该图片转换为对应的格式. 实现思路: 实现这样的功能,使用后端语言[php,java等]可以很容易的完成.但是如果只在前端如何完成呢? 1.通过input上传图片,使用FileReader将文件读取到内存中. 2.将图片转换为canvas,canvas.toDataURL()方法设置为我们需要的格式,如:"image/webp","image/jpeg","image/png". 3.最后将

  • python webp图片格式转化的方法

    本文实例为大家分享了python webp图片格式转化的具体代码,供大家参考,具体内容如下 1.将本地的webp图片转换为jpg 2.将下载的webp格式图片直接保存为jpg 代码如下: 1.将本地的webp图片转换为jpg from PIL import Image filename = 'xxxxxxxxxx.webp' im = Image.open(filename) if im.mode == "RGBA": im.load() # required for png.spli

  • Python将图片批量从png格式转换至WebP格式

    实现效果 将位于/img目录下的1000张.png图片,转换成.webp格式,并存放于img_webp文件夹内. 源图片目录 目标图片目录 关于批量生成1000张图片,可以参考这篇文章:利用Python批量生成任意尺寸的图片 实现示例 import glob import os import threading from PIL import Image def create_image(infile, index): os.path.splitext(infile) im = Image.op

  • webp 格式图片显示异常分析及解决方案

    目录 webp 格式的图片显示异常 webp介绍 webp转换 webp兼容性 兼容解决方案 附录:解决 .webp 格式图片在 ios 设备上无法正常显示的问题 webp 格式的图片显示异常 webp介绍 WebP,谷歌(google)开发的一种旨在加快图片加载速度的图片格式.提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,能节省大量的服务器带宽资源和数据空间. webp转换 右键点击图片,点击[在新标签页中打开图片]. 若是看到地址栏的后缀是webp,把webp改为jpg/png,回车.

  • PHP支持多种格式图片上传(支持jpg、png、gif)

    此处一次支持上传2个图片,上传后生成原图和质量较差的图,原图用于保存质量高的图片,质量差的图用于网页显示. PHP Code 复制代码 代码如下: <?php include_once("db.php"); include_once("dbinfo.php"); $connector = new nmdb($host, $username, $password); $connector -> select_db($database); $work_gro

  • 让IIS支持Flv的详细设置方法

    国内大多都是Win2003的主机,FLV格式文件上传服务器后不能播放,默认是没有指定输出FLV这种格式的虽然FTP里面可以看见,但无法通过http访问,也就无法播放了.原因是,WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误.手动在IIS得站点属性中的HTTP头->MIME添加MIME影射关系,MIME类型: video/x-flv 扩展名:.flv,即可通过Flash7+客户端Load进来播放. "虚拟主机都不支持Flv格式文件"的问题:比如

  • 让IIS支持任意扩展名和未知扩展名的下载(下载站设置)

    如果下载空间里面有asp,php文件不建议这样设置,如果这样设置了又不想让asp,php文件被别人下载可以使用. 第一步: 取消网站执行权限 2.为防止asp,php文件被下载,没有就不需要设置 让IIS支持任意扩展名和未知扩展名的下载 1. 打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击"属性". 2. 单击"MIME 类型". 3. 单击"新建". 4. 在"扩展名"框中,键入星

  • IIS支持exe文件下载配置方法附图

    IIS支持exe文件下载的配置方法,配有图示,一起来看看. 如何在IIS中设置网站可以下载exe后缀的文件,默认情况下.exe文件是不能被下载的. IIS中,默认情况下.exe文件是不能被下载的,下载的时候提示无法找到文件.这是为了从一定程度上提高网站及其访问者的安全.但是,如果我们确实需要在IIS搭建的网站上来提供exe文件的下载,应该怎么来实现呢? 在HTTP协议中,每一个资源(URI指向的内容)都有一个MIME类型(即所谓的MimeType).在IIS中,能够下载的文件格式都会在MimeT

  • Python爬虫实现获取动态gif格式搞笑图片的方法示例

    本文实例讲述了Python爬虫实现获取动态gif格式搞笑图片的方法.分享给大家供大家参考,具体如下: 有时候看到一些喜欢的动图,如果一个个取保存挺麻烦,有的网站还不支持右键保存,因此使用python来获取动态图,就看看就很有意思了 本次爬取的网站是  居然搞笑网 http://www.zbjuran.com/dongtai/list_4_1.html 思路: 获取当前页面内容 查找页面中动图所代表的url地址 保存这个地址内容到本地 如果想爬取多页,就可以加上一个循环条件 代码: #!/usr/

  • 在python下读取并展示raw格式的图片实例

    raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('cat.jpg') # 这里需要我们在当前目录下放一张名为cat.jpg的文件 img.tofile('cat.raw') #利用numpy中array的函数tofile将数据写入文件 #这时我们发现当前目录下新增了一个文件,名为cat.raw 有了raw文件,我们就可以读取这个文件,并显示出来. #

随机推荐