精华内容
下载资源
问答
  • java webp文件转png,jpg
    2021-10-27 15:33:18

    本文概括

    前端访问后端接口上传webp格式文件,后端将webp文件转换成png格式

    项目maven依赖

            <!-- https://mvnrepository.com/artifact/org.sejda.imageio/webp-imageio -->
            <dependency>
                <groupId>org.sejda.imageio</groupId>
                <artifactId>webp-imageio</artifactId>
                <version>0.1.6</version>
            </dependency>
    

    后端代码如下

    package com.geer2.just.photo.system.controller;
    import com.luciad.imageio.webp.WebPReadParam;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    import javax.imageio.ImageIO;
    import javax.imageio.ImageReader;
    import javax.imageio.stream.FileImageInputStream;
    import java.awt.image.BufferedImage;
    import java.io.*;
    
    @RestController
    @RequestMapping("/file22")
    
    public class Test {
    
        /**
         * 上传webp文件转成png格式
         * @param mulFile
         * @throws Exception
         */
        @PostMapping("/upload")
        public void photoList(@RequestParam("file") MultipartFile mulFile) throws Exception {
            File file = multipartFileToFile2(mulFile);
    
        }
    
        /**
         * 将MultipartFile转为File
         * @param mulFile
         * @return
         */
        public static File multipartFileToFile2(MultipartFile mulFile) throws IOException {
            InputStream ins = mulFile.getInputStream();
            String fileName = mulFile.getOriginalFilename();
            String prefix = getFileNameNoEx(fileName);
            String suffix = "."+getExtensionName(fileName);
            File toFile = File.createTempFile(prefix,suffix);
            OutputStream os = new FileOutputStream(toFile);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
            //webp文件转png后文件地址包含文件名字
            String news = toFile.getParent()+"/"+ toFile.getName().substring(0,toFile.getName().indexOf(".webp"))+".png";
            return webpToPng(toFile,new File(news));
        }
    
        /**
         * 获取文件扩展名
         *
         */
        public static String getExtensionName(String filename) {
            if ((filename != null) && (filename.length() > 0)) {
                int dot = filename.lastIndexOf('.');
                if ((dot >-1) && (dot < (filename.length() - 1))) {
                    return filename.substring(dot + 1);
                }
            }
            return filename;
        }
    
        /**
         * 获取不带扩展名的文件名
         *
         */
        public static String getFileNameNoEx(String filename) {
            if ((filename != null) && (filename.length() > 0)) {
                int dot = filename.lastIndexOf('.');
                if ((dot >-1) && (dot < (filename.length()))) {
                    return filename.substring(0, dot);
                }
            }
            return filename;
        }
    
        /**
         * 图片webp文件转png文件
         * @param webpFile 源webp文件
         * @param pngFile 转换后png文件
         * @return
         * @throws IOException
         */
        public static File webpToPng(File webpFile, File pngFile) throws IOException {
            // Obtain a WebP ImageReader instance
            ImageReader reader = ImageIO.getImageReadersByMIMEType("image/webp").next();
    
            // Configure decoding parameters
            WebPReadParam readParam = new WebPReadParam();
            readParam.setBypassFiltering(true);
    
            // Configure the input on the ImageReader
            reader.setInput(new FileImageInputStream(webpFile));
    
            // Decode the image
            BufferedImage image = reader.read(0, readParam);
    
            //the `png` can use `jpg`
            ImageIO.write(image, "png", pngFile);
            return pngFile;
        }
    }
    
    
    更多相关内容
  • webp格式图片转jpg工具

    2018-03-23 11:32:18
    现在越来越多的网页用的是webp格式图片,但是有时候下载不能为自己所用,这个 XnConvert软件可以轻松把webp格式图片jpg等多种格式
  • 如何把webp转换为jpg

    千次阅读 2022-03-24 18:18:01
    如何把webp转换为jpg@[TOC](如何把webp转换为jpg)1.流转换2.单独一张图片转换3.文件夹图片转换4.嵌套文件夹图片转换5. 数据 首先做一个简单的科普,webp后缀的图片是在网页上浏览的时候默认保存的格式,但是真的用...

    ===================================================================
    首先做一个简单的科普,webp后缀的图片是在网页上浏览的时候默认保存的格式,但是真的用起来还是会有些不方便,转换成jpg比较好用,所以今天才要发此文

    1.流转换

    
    from PIL import Image
    from io import BytesIO  # 字节数
    import logging
    # import requests
    
    
    def change_webp_to_jpg(webp_content):
        """
        将webp图片格式转换为jpg格式
        :param webp_content: webp图片字节流
        :return: jpg图片字节流
        """
        jpg_content = ""  # jpg内容字符空串
        try:
            if webp_content.upper().startswith(b"RIF"):   # if条件判断==>webp内容字符串全部大写并且是以"RIF"开头的==>进入下一步
                im = Image.open(BytesIO(webp_content))  # 把webp内容字符串变成字节数然后在Image中打开赋值给im对象
    
                if im.mode == "RGBA":  # if条件判断==>im对象的mode的值为"RGBA"==>进入下一步
                    im.load()  # 加载图像对象
                    background = Image.new("RGB", im.size, (255, 255, 255))  # 三个参数分别代表图像模式mode/格式、图像尺寸size(width, height)、图像颜色color(255, 255, 255)是白色
                    background.paste(im, mask=im.split()[3])  # 把加载好的im图像数据粘贴到background变量中,mask即为可选的掩码图像
                    im = background  # 把复制好掩码的background变量赋值给im图像对象
    
                img_byte = BytesIO()  # 创建字节数对象img_byte
                jpg_content = img_byte.getvalue()  # 从字节数对象中获取值赋值给jpg内容字符串
                im.save(img_byte, format="JPEG")  # 保存字节数对象为jpeg后缀的图片
    
        except Exception as err:
            logging.error(err)  # 日志记录抛出的异常
    
        return jpg_content if jpg_content else webp_content   # 如果jpg_content存在则返回,如果不存在则返回webp_content
    
    
    # 第一种本地图片直接转换
    with open("photos/u=1493708783,2730997375&fm=253&fmt=auto&app=138&f=JPEG.webp", "rb") as f:  # 以二进制文件读取的方式rb来读取webp文件
        readlines = f.read()  # 二进制文件rb读取正确并赋值给变量readlines才会保留值到后边的jpg_binary,否则下边的jpg_binary是空串b''
        print("readlines------------------", readlines)
        jpg_binary = change_webp_to_jpg(readlines)  # 调用change_webp_to_jpg函数,传入二进制文件读取的结果字符串,然后赋值给jpg_binary变量
        print("readlines------------------", readlines)
        print("jpg_binary------------------", jpg_binary)
        with open("photos/u=1493708783,2730997375&fm=253&fmt=auto&app=138&f=JPEG.jpg", "wb") as fp:  # 以二进制文件写入的方式来写入jpg文件
            fp.write(jpg_binary)  # 文件写入,传参是上一步保存的jpg_binary变量,代表的是webp转换为jpg后的字节数对象赋值给的jpg内容字符串
    
    
    """
    readlines------------------ b'RIFF\xb4\xf3\x00\x00WEBPVP8 \xa8\xf3\x00\x00\xf0\xd5\x02\x9d\x01* \x03\xf4\x01>\x91>\x99H%\xa3\xa2\xa1.X*0\xb0\x12\tM\xdc.\
    readlines------------------ b'RIFF\xb4\xf3\x00\x00WEBPVP8 \xa8\xf3\x00\x00\xf0\xd5\x02\x9d\x01* \x03\xf4\x01>\x91>\x99H%\xa3\xa2\xa1.X*0\xb0\x12\tM\xdc.\
    jpg_binary------------------ b'RIFF\xb4\xf3\x00\x00WEBPVP8 \xa8\xf3\x00\x00\xf0\xd5\x02\x9d\x01* \x03\xf4\x01>\x91>\x99H%\xa3\xa2\xa1.X*0\xb0\x12\tM\xdc.
    """
    
    # # 第二种url响应的图片
    # url = "webp的url图片"
    # headers = {}
    # resp = requests.get(url, headers=headers)
    # jpg_binary = change_webp_to_jpg(resp.content)
    # with open("code.jpg", "wb") as fp:
    #     fp.write(jpg_binary)
    
    

    2.单独一张图片转换

    
    import os
    from PIL import Image
    
    # 图像路径
    # path = "u=1493708783,2730997375&fm=253&fmt=auto&app=138&f=JPEG.webp"
    path = "photos/u=1769281506,2418317477&fm=253&fmt=auto&app=138&f=JPEG.webp"
    
    # 用Image打开并识别webp图像并赋值给img
    img = Image.open(path)
    # 加载img
    img.load()
    
    # 把图像后缀保存成.jpg格式
    # img.save("草莓1.jpg")
    img.save("草莓2.jpg")
    
    
    

    3.文件夹图片转换

    
    import os
    from PIL import Image
    
    
    class processImage():
        """
        一个批量将webp文件转换成jpg的程序
        """
        def __init__(self):
            self.path = r"photos/"  # 一个参数,文件夹的位置
    
        # 读取文件夹下的所有文件(包含文件夹)
        def loadFile(self):
            fileList = os.listdir(self.path)
            # print(fileList)
            return fileList  # 返回列表
    
        # 查找文件夹下所有webp的图像
        def webp2jpg(self, fileList:list):
            for item in fileList:  # 循环读取文件列表,得到的item是列表中有的每一个文件名
                if item.endswith('.webp'):  # 如果文件名以.webp结尾
                    src = os.path.join(os.path.abspath(self.path), item)  # 获取文件的绝对路径
                    print("src=", src)  # 打印绝对路径看是否符合预期
                    im = Image.open(src)  # 用Image打开绝对路径存放的图片并赋值给im对象
                    im.load()  # 加载im对象的图片
                    save_name = src.replace('webp', 'jpg')  # 在绝对路径中图片的后缀替换并把替换后的新路径赋值给save_name变量
                    im.save('{}'.format(save_name), 'JPEG')  # 用新路径保存到im对象中并指定图片格式
    
    
    if __name__ == '__main__':
        nc = processImage()  # 创建对象
        fileList = nc.loadFile()  # 用对象调用加载文件的方法,读取文件夹下的所有文件,保存成列表并返回
        nc.webp2jpg(fileList)  # 用对象调用webp转换到jpg的方法
    
    

    4.嵌套文件夹图片转换

    
    import os
    from PIL import Image
    
    
    path = "新数据"  # 嵌套文件夹外层的相对路径
    namelist = os.listdir(path)  # 列出嵌套文件夹中各个不同类别的文件夹名称并用列表返回
    for n in namelist:  # 遍历嵌套文件夹中的各个分类
        print("类别名称:", n)  # 打印各个类别文件夹名称
        path2 = os.path.join(path, n)  # 把嵌套文件夹的外层和内层的文件夹路径拼接到一起,赋值给新的路径path2
        photos = os.listdir(path2)  # 遍历嵌套文件夹中的子文件夹中的所有webp格式的图片并用列表返回赋值给photos
        print("类别名称下的照片:", photos)  # 打印每个子文件夹中的图片名称列表photos并查看
        for p in photos:  # 遍历每个子文件夹中的图片
            print(p)  # 每次遍历的时候打印出来图片的名称
            # path3 = os.path.join(path2, p)
            path3 = os.path.join(path2, p)  # 拼接子文件夹和图片名称组成新的路径并赋值给path3
            print("每张照片的绝对路径:", path3)  # 打印并查看子文件夹中每一张图片的路径
            im = Image.open(path3)  # 用Image打开path3路径中存放的图片并赋值给im对象
            im.load()  # 用im对象加载每次遍历所传入的图片
            save_name = path3.replace("webp", "jpg")  # 对path3路径中图片的后缀做替换,从webp替换成jpg,并把新的路径返回给变量save_name
            im.save('{}'.format(save_name), "JPEG")  # 用im对象保存jpg后缀的图片路径,并指定图片格式为JPEG==>最后生成同样数量的新的格式jpg的图片
    

    5.数据

    在这里插入图片描述
    感谢大佬,参考网址如下:
    [1]https://blog.csdn.net/weixin_43411585/article/details/107787613
    [2]https://www.cnblogs.com/mafu/p/15428480.html

    感谢大家的关注和支持
    希望我写的文章能够让你们得到价值有所收获
    一直在路上,还请各位多多指正!

    展开全文
  • 今天为大家介绍如何一键将webp批量转换jpg,小编这里就有一个很好的办法,都快来学习吧,一分钟学会,有详细的操作方法。

        如何将webp批量转换jpg?说到图片格式,大家首先想到的是jpg和png这两种常见的,随着计算机计算的发展涌现出了越来越多的图片格式,很多都是我们没有遇见过的,例如webp图片,第一次看到还以为是其他什么文件格式。webp是一种不常用的图片格式,所以并不能在所有平台上随便使用,所以需要将它格式转换成jpg或者png。

        我们工作时往往要给很多图片进行格式转换,一张一张的转换挺浪费时间的,所以今天为大家介绍如何一键将webp批量转换jpg,小编这里就有一个很好的办法,都快来学习吧,一分钟学会。

    使用的软件工具:优速图片格式转换器

    软件工具下载:https://download.yososoft.com/jimp/2.0.1/jimp_2.0.1.exe

    详细的转换步骤:

    步骤1,打开电脑,然后下载“优速图片格式转换器”并安装打开使用,工具有五个图片处理功能,我们选择【格式转换】功能,然后进入下一步操作。

    步骤2,点击左上角【添加文件】按钮,将需要转换格式的webp图片全部导入到软件中。然后在右下方将输出格式设置成jpg,当然如果有需求,也可以设置成其他格式。

    步骤3,先设置输出目录,保存转换后的图片,如果不设置输出目录默认为电脑桌面。再点击【开始转换】红色按钮,这样就启动软件程序了。

    步骤4,所有图片完成格式转换后软件会自动打开输出文件夹,从结果可以看到,所有的webp图片全部转成了jpg格式。

    webp是一种不常见也不常用的图片格式,兼容性较差,很多时候不支持webp图片的上传和使用,所以需要将其转成常用的jpg格式,很多人不知道如何转换,并且webp图片不能在ps中转换格式。上面小编就为大家详细介绍了如何将webp批量转换jpg,简单使用,快去试一试吧。

    展开全文
  • PNG/JPG/GIF 与 Webp 格式互换工具,可自定义压缩质量,支持多级文件夹自动遍历,多个文件,一键搞定。Windows版,需要dotNet3.5环境支持哦!
  • 今天为大家详细介绍webp批量转换成jpg的方法,免去大家一个一个进行图片转换的烦恼,赶快来学习这个实用的办公技巧吧!

        webp图片可能很多小伙伴接触的不是很多,它是一种使用不是多的图片格式,与jpg图片一样也是一种有损压缩的图片,但是它的体积却要比jpg要小40%,这种格式的主要优势在于高效率和体积小。但毕竟它是一种比较少见的图片格式,所以很多时候都不支持这种图片的使用。

    这时候就需要对它进行格式转化,将它转换成常用的图片格式,所以今天为大家详细介绍webp批量转换成jpg的方法,免去大家一个一个进行图片转换的烦恼,赶快来学习这个实用的办公技巧吧!

    需要用到的工具软件:优速图片格式转换器

    工具软件下载地址:https://download.yososoft.com/jimp/2.0.1/jimp_2.0.1.exe

    如何将webp批量转换成jpg?

    详细的批量转换步骤:

    步骤1,在电脑上下载“优速图片格式转换器”后安装并打开使用,点击左边列表中第一个【格式转换】功能。再点击【添加文件】按钮,将所有需要webp格式图片全部导入到软件中。

    如何将webp批量转换成jpg?

    步骤2,然后设置输出格式,如下图所示格式转化右边的下拉框选择“jpg”。再设置输出目录,也就是转换成jpg图片后保存到哪个文件夹。

    如何将webp批量转换成jpg?

    步骤3,然后点击右上角【开始转换】按钮启动格式批量转换,当所有图片转成jpg后软件会自动打开输出目录文件夹,就可查看图片啦。

    如何将webp批量转换成jpg?

    步骤4,通过案例可以看到所有webp格式的图片全部转换成了jpg格式。

    如何将webp批量转换成jpg?

    转换图片不是一件很难的事情,但如果数量较多的时候就讲究方法了,方法不好会事倍功半,浪费很多的时间。上面就是今天为大家介绍的关于“如何将webp批量转换成jpg”方法详细介绍,一定要试试看哦,肯定会让你满意的!

    展开全文
  • 将位于/img目录下的1000张.png图片,转换成.webp格式,并存放于img_webp文件夹内。 源图片目录 目标图片目录 关于批量生成1000张图片,可以参考这篇文章:利用Python批量生成任意尺寸的图片 实现示例 import ...
  • WEBP图象文件转换为JPG格式图象,保存jpg文件移除webp文件 日期: 2020/04/30 作者: superFAN 注意: pillow 5.1版本提示:cannot identify image file ‘example.webp’ 更新pillow至7.x版本,正常工作 from PIL...
  • 将所有jpg&jpeg&png图像转换为WebP格式 安装 下载存储库并将所有文件放在一个文件夹中 在文件夹中运行此命令npm i以安装所有必需的软件包。 将图像放入src文件夹(子文件夹支持) 运行此命令npm run webp将所有...
  • 图片格式有很多种,webp就是其中的一种,webpjpg格式一样,是一种有损压缩的图片格式,但是它的图片质量远远高于jpg格式,同样的图片webp格式要比jpg小很多。但是webp格式使用不是很多,所以大家不是很熟悉,并且...
  • 为了使用更方便,是否能将webp转成常用的JPG或PNG的方法,答案是肯定的,一起来学学吧。 这个工具就是Speedpdf,使用时直接在百度搜索speedpdf,结果中第一个就是直接点击进入即可。直接选择需要的WEBP转JPG...
  • webp格式的图像如下:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
  • 如何将webp格式转换成jpg

    千次阅读 2022-04-02 09:54:20
    webp格式转换成jpgwebp转换jpg方法。下面我就来教大家一个方法,能快速批量的将webp格式转换成jpg,感想去的就请继续往下阅读吧。
  • 文件目录结构 代码 import os from PIL import Image CURRENT_PATH = "webp" ## 对应要扫描的文件夹 def convert_image(img_list): for webp in img_list: ext = os.path.splitext(webp)[1] if ext != ".webp...
  • 首次直接在百度搜索speedpdf点击进入即可,在首页我们可以直接看到有我们需要的WEBP转JPGJPEG,也可以在首页所有工具下拉菜单中找到。 选择需要转换的WEBP图片添加上传后,点击进度条后面的转换字样,完成后...
  • 写了个Python脚本,使用PIL,实现了Webpjpg的批量转换。(当然也可以转换为PIL支持的其他图像格式) 运行环境:Python3 + PIL 使用方法:复制下面的脚本,保存到后缀名为 .py 的文件中, 直接拖动需要转换的...
  • 这个时候就需要将webp格式转换成常见的图片格式,比如jpg、png等。 该如何转换呢?这个很简单,用一个网站就解决了,网站名字叫做:webp2jpg。 使用该网站,不用上传图片文件,直接添加图片,或者将图片拖进去,就...
  • WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。可转换为png图片格式
  • 但是在神经网络中,常用的输入图像格式为jpg,所以需要转化,利用PIL库一、单张图像处理import osfrom PIL import Imagepath = "E:\\newdatas\\data\\try\\991.webp"im=Image.open(path)im.load()im.save("E:\\ne...
  • 比如 gif转png,jpg转png 如最近使用某平台的图片文件识别,居然不支持gif格式,那么就需要将gif处理成png等。 依赖 php扩展 gd 和 exif 实现 /** * 图片格式转换 * @param string $image_path 文件路径或url *...
  • 另存为图片的时候就是直接webp格式,直接就是无法打开的模式,看了一下网上,也需要很多的软件去完成转换,直接换后缀名也是打不开的样子。 于是自己就尝试换一种方式。查看源代码,于是就是下面这样的样子。 ...
  • webp2jpg图片格式转换

    2021-03-18 19:01:09
    webp、svg、ico、bmp文件转化为jpeg、png、webpwebp动画、gif文件。 无需上传文件,本地即可完成转换! 无需上传,使用浏览器自身进行转换批量转换输出webp、jpeg、png、 base64、8位png(实验)、gif动图(实验)、...
  • def change_webp_to_jpg(img_content): response_content = "" try: if img_content.upper().startswith(b"RIF"): im = Image.open(BytesIO(img_content)) if im.mode == "RGBA": im.lo...
  • 如何将webp转jpg或png格式呢?今天我来为大家介绍一种快速转换的方法,还能一次性批量转换,即使有一百张图片也能在一两分钟内转换完成快来和我学习吧!
  • 最新图片格式转换网站源码 支持webp2jpg在线转换源码介绍 很方便实用的一套源码。 webp2jpg-免费在线图片格式转化器, 可将jpeg、jpg、png、gif、 webp、svg、ico、bmp文件转化为jpeg、png、webpwebp动画、gif文件...
  • webp格式是谷歌研发的一种新的图片格式具有空间小效果好的优点,然而像IOS14系统以下并不支持这样的格式,所以需要我们后端来jpg或png格式。 方法 起初我尝试引入 webp-imageio.jar 来完成(很多文章中提到的方法...
  • webp2jpg-免费在线图片格式转化器, 可将jpeg、jpg、png、gif、webp、svg、ico、bmp文件转化为jpeg、png、webpwebp动画、gif文件。 无需上传文件,本地即可完成转换! 无需上传,使用浏览器自身进行转换 批量转换...
  • Webp是Google推出的一种新型图片格式,相比于 传统的PNG/JPG图片有着更小体积的优势,在Web中有着广泛的应用。由于Webp格式推出比较晚,大部分人还是更习惯于JPG、PNG以及JPEG这些图片格式。 当然不同的格式有不同的...
  • 怎么把照片webp格式改成jpg

    千次阅读 2021-04-09 13:43:08
    为了使用更方便,于是有特意去搜索了是否能将webp转成常用的JPG或PNG的方法,没想到还真被我找到一个在线免费转换的方法,亲测可以使用,分享给到小伙伴们吧。 这个工具叫做Speedpdf,我是通过搜索看到点击进去后又...
  • 在Mac电脑上想要将WebP图像转换为JPG格式,我们该如何操作呢?我们可以使用macOS上的“预览”应用来本地转换图像文件,接下来小编给大家带来详细的图文教程,需要的朋友欢迎参考操作! 具体方法如下 1.首先,在Mac上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 181,986
精华内容 72,794
关键字:

webp文件转jpg

友情链接: RS232_PS2_Control.rar