-
2022-04-08 20:20:10
常见的图片格式
1.JPG图像格式:JPEG(JPG)对色彩的信息保留的比较好,高清,颜色多,产品类的图片经常使用jpg格式
2.gif图像格式:GIF格式只能存储256色,所以通常来显示简单图形及文字,但是可以保存透明背景和动画效果,实际使用中常用于图片小动画效果
3.PNG图像格式:png是新兴的网络图形格式,结合了gif和JPEG的优点,具有存储形象丰富的特点,能够保持透明背景,如果想要切换透明背景图片,可以用PNG格式
4.PSD图像格式:PSD是Photoshop中专用的格式,里面可以存放图层,通道,遮罩等多种设计稿。对与我们前端开发来说,最大优点可以从上面直接复制文字,图片,还可以测量大小和距离
5.BMP图像格式:BMP它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱来的缺点–占用磁盘空间过大。所以,目前BMP在单机上比较流行。
6.DXF图像格式:DXF图纸交换格式,扩展名是.dxf,是AutoCAD中的图形文件格式,它以ASCII方式储存图形,在表现图形的大小方面十分精确,可被CorelDraw和3DS等大型软件调用编辑。
更多相关内容 -
利用python转换图片格式
2022-02-09 10:01:41常见的图像任务通常需要把照片统一成相同的格式,所以此文章正是为了统一格式而生,常见的主要有cv2和PIL.Image的相关操作,照片格式是一串数字加上后缀名 工具一:cv2 pip install opencv-python 之后就可以 ...前言
常见的图像任务通常需要把照片统一成相同的格式,所以此文章正是为了统一格式而生,常见的主要有cv2和PIL.Image的相关操作,照片格式是一串数字加上后缀名
工具一:cv2
pip install opencv-python
之后就可以
import cv2
1.1 导包
import os import cv2 import sys import numpy as np
1.2 路径设置
path = r"C:\\Users\\86775\\test_change\\" path2 = r"C:\\Users\\86775\\test_change2\\"
1.3 改格式重新传
1.3.1 用os.path.splitext()来判断
images = os.listdir(path) for i in os.listdir(path): print(os.path.splitext(i)) # ('34474006827920603', '.png') if os.path.splitext(i)[1] == ".jpeg": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".jpeg", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif os.path.splitext(i)[1] == ".png": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".png", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif os.path.splitext(i)[1] == ".JPG": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".JPG", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif os.path.splitext(i)[1] == ".PNG": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".PNG", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif os.path.splitext(i)[1] == ".jpg": img = cv2.imread(path + i) # print(img) cv2.imwrite(path2 + i, img)
1.3.2 用split()来判断
images = os.listdir(path) for i in os.listdir(path): print(i.split(".")) if i.split(".")[1] == "jpeg": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".jpeg", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif i.split(".")[1] == "png": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".png", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif i.split(".")[1] == "JPG": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".JPG", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif i.split(".")[1] == "PNG": img = cv2.imread(path + i) # print(img) new_imagename = i.replace(".PNG", ".jpg") cv2.imwrite(path2 + new_imagename, img) elif i.split(".")[1] == "jpg": img = cv2.imread(path + i) # print(img) cv2.imwrite(path2 + i, img)
1.4 查看结果
工具二:pillow
pip install pillow
之后就可以
from PIL import Image
2.1 导包
import os from PIL import Image
2.2 路径设置
path = r"C:\\Users\\86775\\test_change\\" path2 = r"C:\\Users\\86775\\test_change2\\"
2.3 写格式修改函数
RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明度,而JPG不支持透明度。
所以其他格式不转jpg可以直接保存为.png格式,转jpg就需要丢弃Alpha
img = img.convert(“RGB”),转换成RGB,保证和jpg格式的通道数相同,也算一种图片类型变换的防报错机制def jpeg2jpg(path_in, path_out): img = Image.open(path_in) img = img.convert("RGB") img.save(path_out, "JPEG", quality=80, optimize=True, progressive=True) def png2jpg(path_in, path_out): img = Image.open(path_in) img = img.convert("RGB") img.save(path_out, "JPEG", quality=80, optimize=True, progressive=True) def JPG2jpg(path_in, path_out): img = Image.open(path_in) img = img.convert("RGB") img.save(path_out, "JPEG", quality=80, optimize=True, progressive=True) def PNG2jpg(path_in, path_out): img = Image.open(path_in) img = img.convert("RGB") img.save(path_out, "JPEG", quality=80, optimize=True, progressive=True) def jpg2jpg(path_in, path_out): img = Image.open(path_in) img = img.convert("RGB") img.save(path_out, "JPEG", quality=80, optimize=True, progressive=True)
2.4 开始转换
images = os.listdir(path1) for i in images: print(i) if os.path.splitext(i)[1] == ".jpeg": source = path1 + "\\" + str(i.split(".")[0]) + ".jpeg" target = path2 + "\\" + str(i.split(".")[0]) + ".jpg" jpeg2jpg(source, target) elif os.path.splitext(i)[1] == ".png": source = path1 + "\\" + str(i.split(".")[0]) + ".png" target = path2 + "\\" + str(i.split(".")[0]) + ".jpg" png2jpg(source, target) elif os.path.splitext(i)[1] == ".JPG": source = path1 + "\\" + str(i.split(".")[0]) + ".JPG" target = path2 + "\\" + str(i.split(".")[0]) + ".jpg" JPG2jpg(source, target) elif os.path.splitext(i)[1] == ".PNG": source = path1 + "\\" + str(i.split(".")[0]) + ".PNG" target = path2 + "\\" + str(i.split(".")[0]) + ".jpg" PNG2jpg(source, target) elif os.path.splitext(i)[1] == ".jpg": source = path1 + "\\" + str(i.split(".")[0]) + ".jpg" target = path2 + "\\" + str(i.split(".")[0]) + ".jpg" jpg2jpg(source, target)
2.5 查看结果
-
判断文件是否为图片格式
2019-03-07 19:09:10判断文件是否为图片格式 原理:1、使用JDK类库解析文件数据,如果能解析成功,获得图片长宽,即为正确的图片格式 2、解析文件头信息,判断图片类型 工具代码 /** * 判断文件后缀是否为图片文件格式,bmp|...判断文件是否为图片格式
原理:1、使用JDK类库解析文件数据,如果能解析成功,获得图片长宽,即为正确的图片格式
2、解析文件头信息,判断图片类型
工具代码
/** * 判断文件后缀是否为图片文件格式,bmp|gif|jpg|jpeg|png 返回true * @param imageFileSuffix 图片文件后缀名 * @return */ public static boolean isImageBySuffix(String imageFileSuffix) { if (StringUtils.isNotEmpty(imageFileSuffix)) { //[JPG, jpg, bmp, BMP, gif, GIF, WBMP, png, PNG, wbmp, jpeg, JPEG] String[] formatNames = ImageIO.getReaderFormatNames(); if (ArrayUtils.isNotEmpty(formatNames)) { for (String formatName : formatNames) { if (imageFileSuffix.toLowerCase().equals(formatName)) { return true; } } } } return false; } /** * 判断文件是否为图片文件格式, bmp|gif|jpg|jpeg|png 后缀的图片文件返回true * @param imageName 图片文件名 * @return */ public static boolean isImageByFileName(String imageName) { if (StringUtils.isNotEmpty(imageName)) { String[] imageNames = imageName.split(FILE_CONNECTOR_POINT); return isImageBySuffix(imageNames[imageNames.length - 1]); } return false; } /** * 判断文件是否为合法图片 * @param srcPath 图片文件绝对路径 * @param checkImageName 是否校验图片文件名 * @return */ public static boolean isImage(String srcPath, boolean checkImageName) { if (checkImageName) { return isImageByFileName(srcPath); } else { if (StringUtils.isNotEmpty(srcPath)) { File imageFile = new File(srcPath); if (imageFile.isFile() && imageFile.length() > 0) { return isImage(imageFile); } } } return false; } /** * 判断文件流是否为合法图片 * @param file 图片文件 * @return */ public static boolean isImage(File file) { return isImage((Object)file); } /** * 判断文件流是否为合法图片 * @param srcInputStream 图片文件的流 * @return */ public static boolean isImage(InputStream srcInputStream) { return isImage((Object)srcInputStream); } /** * 判断文件流是否为合法图片 * @param srcInputStream 图片文件的流 * @return */ public static boolean isImage(URL url) { return isImage((Object)url); } /** * 图片文件读取 * @param obj (URL|InputStream|File) * @return */ private static boolean isImage(Object obj) { Image image = null; if (obj != null) { try { if (obj instanceof URL) { image = ImageIO.read((URL)obj); } else if (obj instanceof InputStream) { image = ImageIO.read((InputStream)obj); } else if (obj instanceof File) { image = ImageIO.read((File)obj); } else { throw new IllegalArgumentException("不支持这种类型["+obj.getClass().getCanonicalName()+"]"); } } catch (IOException e) { e.printStackTrace(); } if (image != null && image.getWidth(null) > 0 && image.getHeight(null) > 0) { return true; } } return false; } /** * 获取图片类型 * JPG图片头信息:FFD8FF * PNG图片头信息:89504E47 * GIF图片头信息:47494638 * BMP图片头信息:424D * * @param is 图片文件流 * @return 图片类型:jpg|png|gif|bmp */ public static String getImageType(InputStream is) { String type = null; if (is != null) { byte[] b = new byte[4]; try { is.read(b, 0, b.length); } catch (IOException e) { e.printStackTrace(); } String hexStr = HexConverter.byteArrayToHexString(b, true);//图片文件流前4个字节的头信息(子文字母) if (hexStr != null) { if (hexStr.startsWith(JPG_HEX)) { type = JPG; } else if (hexStr.startsWith(PNG_HEX)) { type = PNG; } else if (hexStr.startsWith(GIF_HEX)) { type = GIF; } else if (hexStr.startsWith(BMP_HEX)) { type = BMP; } } } return type; } /** * 获取图片类型 * JPG图片头信息:FFD8FF * PNG图片头信息:89504E47 * GIF图片头信息:47494638 * BMP图片头信息:424D * * @param file 图片文件 * @return 图片类型:jpg|png|gif|bmp * @throws FileNotFoundException 未找到文件 */ public static String getImageType(File file) throws FileNotFoundException { return getImageType(new FileInputStream(file)); } /** * 根据文件头,判断文件流是否为合法图片 * @param is 文件流 * @return */ public static boolean isImageByHeader(InputStream is) { return isImageBySuffix(getImageType(is)); } /** * 根据文件头,判断文件流是否为合法图片 * @param file 图片文件 * @return * @throws FileNotFoundException */ public static boolean isImageByHeader(File file) throws FileNotFoundException { return isImageBySuffix(getImageType(file)); }
测试代码
/** * 测试文件是否为图片 * @throws FileNotFoundException * @throws MalformedURLException */ @SuppressWarnings("resource") @Test public void testIsImage() throws FileNotFoundException, MalformedURLException { String imageName = "simple.jpg"; String srcPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.isImage(srcPath, true)); Assert.assertTrue(ImageUtil.isImage(new File(srcPath))); Assert.assertTrue(ImageUtil.isImage(new FileInputStream(srcPath))); String baiduLogoUrl = "https://www.baidu.com/img/bd_logo1.png";//百度logo图片 Assert.assertTrue(ImageUtil.isImage(new URL(baiduLogoUrl))); String textName = "text.txt"; String txtPath = FILE_PATH + textName; Assert.assertFalse(ImageUtil.isImage(txtPath, true)); } @SuppressWarnings("resource") @Test public void testIsImageByHeader() throws FileNotFoundException { String imageName = "simple.jpg"; String srcPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.isImageByHeader(new FileInputStream(srcPath))); imageName = "bd_logo1.png"; srcPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.isImageByHeader(new File(srcPath))); imageName = "simple.bmp"; srcPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.isImageByHeader(new File(srcPath))); imageName = "simple.gif"; srcPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.isImageByHeader(new File(srcPath))); }
完整源码:https://github.com/ConstXiong/xtools
【Java面试题与答案】整理推荐
-
Java修改图片格式
2019-03-13 10:21:27Java修改图片格式 Java修改图片格式,支持bmp|gif|jpg|jpeg|png之间的转换 工具代码 /** * 修改原图的文件格式 * @param srcPath 原图路径 * @param destPath 新图路径 * @param formatName 图片格式,...Java修改图片格式
Java修改图片格式,支持bmp|gif|jpg|jpeg|png之间的转换
工具代码
/** * 修改原图的文件格式 * @param srcPath 原图路径 * @param destPath 新图路径 * @param formatName 图片格式,支持bmp|gif|jpg|jpeg|png * @return */ public static boolean modifyImageFormat(String srcPath, String destPath, String formatName) { boolean isSuccess = false; InputStream fis = null; try { fis = new FileInputStream(srcPath); BufferedImage bufferedImg = ImageIO.read(fis); isSuccess = ImageIO.write(bufferedImg, formatName, new File(destPath)); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } return isSuccess; }
测试代码
/** * 测试修改图片格式 * @throws FileNotFoundException */ @Test public void testModifyImageFormat() throws FileNotFoundException { String imageName = "java_coffee.jpg"; String srcPath = IMAGE_PATH + imageName; imageName = "java_coffee_midify.gif"; String destPath = IMAGE_PATH + imageName; Assert.assertTrue(ImageUtil.modifyImageFormat(srcPath, destPath, "gif")); Assert.assertEquals(ImageUtil.getImageType(new File(destPath)), "gif"); }
完整源码:https://github.com/ConstXiong/xtools
【Java面试题与答案】整理推荐
-
利用Python实现自动批量图片格式转换
2022-03-12 16:46:53文章目录利用Python实现自动批量图片格式转换0.背景1.简单思路2.进一步改进3.最终版本4.总结 利用Python实现自动批量图片格式转换 0.背景 在一个漫画网站下载了一些图片,但下载下来之后发现是webp格式,不能直接... -
Android 各种图片格式
2020-10-16 14:03:07目前android支持的5种图片格式,就是svg、png、webp、jpeg、gif、bmp。使用最多的还是png格式,因为支持RGB三色和透明度设置,可以设置很好的logo效果。google开发的SVG格式,则是因为体积小,这个对于压缩包大小很... -
网络中使用最多的图片格式有哪些
2022-04-05 09:54:38网络中使用最多的图片格式有哪些 -
图片格式-AVIF
2020-11-23 10:42:51一、前言 打开caniuse首页(https://caniuse.com/),在最新的特性这里看到一个陌生的东西,一个名为AVIF的图片格式,...于是我就参考相关文档,终于大致搞清楚了AVIF图片格式…………的表面一些支持,对,就表面这点 -
图片格式怎么转换成png?怎么改变图片格式?
2021-12-29 19:59:15接下来,小伙伴可以了解一下小编带来的图片格式在线转换器,无需下载,一键完成在线格式转换(https://www.yasuotu.com/geshi),非常适合高速的办公效率,大家一起来看看吧! 1、点击工具栏中的转格式功能,进入... -
pdf怎么转换成图片格式
2022-03-18 09:17:03pdf怎么转换成图片格式?今天小编教大家一个一键将pdf转成图片的方法,不管你有多少pdf文件,每个pdf文件有多少页,也能在短时间内完成转换,快来一起学习吧。 -
图像分析-图片格式
2022-03-19 08:48:28python 图片格式转化 -
各种图片格式的图片清晰程度排序
2019-11-07 11:53:30各种图片格式清晰程度排序图片存储格式的区别jpg和jpegpng和bmp和tiffeps和ai和cdr合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格... -
如何使用 AVIF 图片格式
2021-05-19 18:02:11众所周知,一图胜千言,图片对于视觉的冲击效果远大于文字。但对于我们的互联网而言,传输与解析一张图片的代价要远比"千言"大的多的多(目前上亿像素已经成为主流)。 面对动辄 10 多 M 的大型图片,使用优化的图像... -
通过谷歌浏览器将当前页面保存为图片格式
2020-10-08 21:48:47打开你需要保存为图片格式的页面,按F12打开控制台 在控制台按ctrl+shift+p然后出现输入框,输入full,然后回车 然后它会将当前网页转换为png图片格式,然后下载到谷歌的默认存储位置 转换成功: ... -
常用web图片格式:gif、jpg、png、webp
2020-08-23 21:12:501.GIF(87年):使用无损压缩,支持256中颜色(一般叫8 bit...一张图片多次上传下载后,图片逐渐会失真。 优点 JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输照片的格式。JPEG在色调及颜色平滑变化的 -
将图片格式转成EPS格式
2020-08-17 01:01:33将图片格式转成EPS格式背景方法1.在线转换2.png>pdf>eps方式3.使用Python代码实现4.使用bmeps命令(推荐) 背景 在使用LaTeX\LaTeXLATEX 对论文进行排版时,经常需要使用EPS格式的图片,但是使用PPT或者Visio... -
手机上怎样转变图片格式?教你一键快速转格式
2021-03-09 14:25:15我们在生活中参加各种各样的考试报名,有些考试是可以使用手机进行网上报名,但是在报名的时候发现上传的照片格式不对,这时就需要对照片格式进行修改,接下来给大家推荐一款万能图片格式转换器... -
tif(tiff)图片格式批量转换JPG图片格式转换器
2021-09-06 13:24:41发现可以实现,于是在LeftsoImageCompression1.4版本中添加了tif(tiff)格式的支持 tif(tiff)图片格式转换JPG 下载Leftso Image Compression 1.4解压后打开软件,如下图所示: 选择一个tif图片文件: 可以看到,... -
latex如何插入图片格式
2019-06-27 21:51:15latex如何插入图片格式 latex排版之插入图片: 在排版图片之前,个人认为不管用不用到,引入下面两个包: \usepackage{graphicx} \usepackage{subfigure} (1)插入单个图片,图片格式为png \begin{figure}[h] \... -
word2007转成图片格式的两种方法
2021-01-17 19:01:58word2007转成图片格式方法一步骤一:全选文档(ctrl+a),然后复制(ctrl+c)word2007转成图片格式的方法图1步骤二:点击工具栏“开始”,然后点"粘贴"下方倒三角形图标word2007转成图片格式的方法图2步... -
php获取图片格式(图片后缀)
2019-10-25 11:04:19一、getimagesize(支持base64):...@desc:获取图片真实后缀 @param name 文件名 @return suffix 文件后缀 */ function getimgsuffix($name) { $info = getimagesize($name); $suffix = false; if($mime = $info[... -
Latex中图片编辑以及图片格式转换
2019-09-28 21:52:36在此我对图片的插入和图片格式的转换做一个总结。 图片编辑 插入图片 使用到的插入图片的宏包要在前面添加: \usepackage{graphicx} 然后在论文中你想要插入图片的地方插入下面的代码: \begin{figure}[htbp... -
bmp图片格式详解
2017-09-29 15:51:07bmp图片格式详解1. BMP文件简介BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。windows ... -
word下图片格式批量设置
2019-05-30 13:58:15一、利用软件,如BatchDoc,可以快速批量的设置图片格式。 二、word自带功能 1.将word格式另存为97-2003的格式,即后缀名为doc,非docx。 2.打开word“文件”-中的“选项”卡,选择“自定义功能”,设置为... -
几种常见图片格式优缺点分析
2017-11-17 14:04:22为了使用更先进的技术,比如WebP图片格式,来压缩互联网上传输的数据流量,谷歌甚至提供了Chrome Data Compression Proxy,设置了Chrome Data Compression Proxy作为Web代理之后,你访问的所有网站中的图片,在经过... -
在手机上怎么修改图片格式?图片怎么转png格式?
2022-05-29 15:59:48前几日有小伙伴在线着急的问小编怎么才能把手机上的图片转换成png格式呢,非常凑巧,小编刚刚尝试了一个手机图片格式转换软件,简单几步就可以把手机图片转格式png(https://www.yasuotu.com/geshi),超实用!... -
如何将图片格式转换为ico格式?
2019-09-10 13:19:34将图像格式更改为ico格式,作为移动装置盘符图标、公司网页标志等,是一种特殊的图片格式。下面介绍用windows自带画图板,更改图片格式为ico格式的方法,只要画图板能打开该格式图片,就能实现格式转换。 首先在... -
如何将图片变成png格式?怎样在线转图片格式?
2021-05-29 14:44:33由于工作的原因,需要我们将其他格式图片转换成png格式图片的时候,相信大家都会想到用PS进行图片格式转化,但下载PS比较麻烦。那么,这个时候应该怎么办呢?接下来,小编就为大家推荐一款在线的png格式转换... -
JPEG、GIF、PNG、BMP哪种图片格式的图片清晰一点
2021-03-28 20:35:12BMP格式的图片是无损保存,质量最好。 JPEG:是有损压缩 ,文件后辍名为".jpg"或".jpeg"。 GIF :是用于压缩具有单调颜色和清晰细节的图像(如线状图、徽标或带文字的插图)的标准格式。 PNG:PNG使用从LZ77派生的... -
判断图片是否是jpg图片格式
2021-07-14 14:58:32判断图片是否是jpg图片格式 简单的根据部分字节判断图片格式: JPG格式图片的判断依据是第一个字节和第二个字节的数据是0xff和0xd8,倒数第一个和倒数第二个字节数据分别是0xd9和0xff,如果都对,那么判断此数据为jpg...
收藏数
1,016,457
精华内容
406,582
相关推荐
-
改变<em>图片格式</em>用c#写的改变<em>图片格式</em>的小工具
-
<em>图片格式</em>转换一个基于C#的<em>图片格式</em>转换软件,代码实现简单。
-
<em>图片格式</em>转换C#<em>图片格式</em>转换 源代码
-
C#<em>图片格式</em>转换.rarC#<em>图片格式</em>转换源码,适合初学者参考学习使用。
-
Unity <em>图片格式</em>规范Unity <em>图片格式</em>规范;Unity <em>图片格式</em>规范;Unity <em>图片格式</em>规范;Unity <em>图片格式</em>规范;Unity <em>图片
友情链接:
MB.rar