广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >怎么识别一张图片的格式
  • 280
分享到

怎么识别一张图片的格式

2024-04-02 19:04:59 280人浏览 泡泡鱼
摘要

本篇内容介绍了“怎么识别一张图片的格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在有些时候,我们拿到了

本篇内容介绍了“怎么识别一张图片的格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在有些时候,我们拿到了一张图片的二进制数据,但却不知道这张图片应该是什么格式。例如,某个 Http接口返回给你一段  Base64编码的图片数据,如下图所示:

怎么识别一张图片的格式

这段 Base64编码的数据,实际上对应了下面这种图片:

怎么识别一张图片的格式

那么问题来了,这张图片的格式是 JPG 还是 PNG?是 BMP 还是只有一帧的 GIF?

还有一些网站,他们的图片URL 格式类似于:https://www.kingname.info/xx/yy/zz,在 URL  中没有显示图片的格式。那么,当你用爬虫把这个图片下载下来以后,应该怎么保存呢?

虽然在大部分情况下,你确实可以把一张 PNG 格式的图片保存成  JPG,在电脑上也能双击打开看。但如果你要写一些程序来处理图片,那么图片的格式就至关重要了。例如 GIF 里面有帧信息,而JPG 里面却没有,PNG  图片有通道信息,而 JPG 也没有。如果你下载了一张JPG 的图片,却尝试用处理 GIF 的方式去提取帧信息,显然就会导致程序报错。

为了解决这个问题,你可以使用 Pillow 这个常见的图片处理库。它可以很容易识别一张常见格式图片的格式。

我们可以使用如下的命令来安装 Pillow:

python3 -m pip install pillow

安装完成以后,我们使用PIL导入图片处理的模块Image:

from PIL import Image  img = Image.open('/Users/kingname/Dropbox/50e452c3504a6.jpg') print(img.fORMat)

运行效果如下图所示:

怎么识别一张图片的格式

成功把一张 JPG 格式识别为了 JPEG(JPG、JPEG  是同一个东西)。但显然,我们大多数情况下,图片是以二进制的形式存放到内存中的,而不是放在硬盘中。但Image.open()接收的参数是一个文件地址。我们需要让  Pillow 从内存中读取图片数据,生成图片对象以后,查看它的.format属性。

这个时候,就可以使用io模块,把二进制的数据包装成一个假的二进制文件句柄:

import io import base64 from PIL import Image  img_base64 = '图片对应的 base64' img_byte = base64.b64decode(img_base64.encode()) img_io = io.BytesIO(img_byte) img = Image.open(img_io) print(img.format)

运行效果如下图所示:

怎么识别一张图片的格式

这样一来,我们就成功识别了一张未知图片的格式了。

“怎么识别一张图片的格式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么识别一张图片的格式

本文链接: https://www.lsjlt.com/news/83649.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么识别一张图片的格式
    本篇内容介绍了“怎么识别一张图片的格式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在有些时候,我们拿到了...
    99+
    2022-10-19
  • win10怎么设置一张主题包含多张图片
    这篇文章主要讲解了“win10怎么设置一张主题包含多张图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10怎么设置一张主题包含多张图片”吧!win10设置一张主题包含多张图片的方法第...
    99+
    2023-07-01
  • dede怎么调用文章第一张图片
    dede怎么调用文章第一张图片?需要进行两个操作第一步,修改include/extend.func.php文件,最下面插入函数,查询的是文章附加表,如需查询图片集什么的,改表名即可推荐:《dedecms使用教程》代码如下:function ...
    99+
    2018-01-27
    dede
  • html5怎么使用canvas绘制一张图片
    本篇内容主要讲解“html5怎么使用canvas绘制一张图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5怎么使用canvas绘制一张图片”吧!<...
    99+
    2022-10-19
  • 图片局部识别怎么操作
    图片局部识别的操作你用的到吗?我们经常在识别一些图片的时候,至想要图片的一小部分,这个时候大家应该会有两种方法来实现这个这个操作,一种是直接将图片全部扔进识别软件当中,让整张图片全部识别出来,还有一种方法呢,就是用图片的的编辑工具,来将图片...
    99+
    2023-06-05
  • 怎么用Python修改一张图片的地理位置
    这篇文章主要介绍“怎么用Python修改一张图片的地理位置”,在日常操作中,相信很多人在怎么用Python修改一张图片的地理位置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python修改一张图片的地...
    99+
    2023-06-16
  • CSS怎么让一张彩色的图片显示为黑白照片
    这篇文章主要介绍“CSS怎么让一张彩色的图片显示为黑白照片”,在日常操作中,相信很多人在CSS怎么让一张彩色的图片显示为黑白照片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • Android中怎么实现一个图片文字识别功能
    Android中怎么实现一个图片文字识别功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。添加依赖implementation 'com.rmtheis:...
    99+
    2023-06-20
  • windows图片文件格式有什么区别
    这篇文章主要讲解了“windows图片文件格式有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows图片文件格式有什么区别”吧!图片文件格式的区别详细介绍主流的GIF和JPE...
    99+
    2023-07-01
  • ps怎么把一张图的部分抠出来放另一张图
    今天小编给大家分享一下ps怎么把一张图的部分抠出来放另一张图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。ps把一张图的部分...
    99+
    2023-07-04
  • win7图片格式怎么更改
    这篇文章主要讲解了“win7图片格式怎么更改”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7图片格式怎么更改”吧!win7图片格式更改教程首先打开“画图”工具点击左上角“文件”或者图示...
    99+
    2023-07-01
  • PHP怎么处理bmp格式的图片
    这篇“PHP怎么处理bmp格式的图片”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP怎...
    99+
    2022-10-19
  • win11开机自动打开一张图片怎么设置
    这篇文章主要介绍“win11开机自动打开一张图片怎么设置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win11开机自动打开一张图片怎么设置”文章能帮助大家解决问题。首先我们需要双击打开桌面上“此电...
    99+
    2023-07-01
  • 怎么将一张图片在PPT中设置成黑色
    这篇文章将为大家详细讲解有关怎么将一张图片在PPT中设置成黑色,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,我们在ppt中选择一张图片,将图片进行抠图后,使用亮度功...
    99+
    2022-10-18
  • 怎么用纯CSS实现一张纪念卓别林的卡片
    这篇文章给大家分享的是有关怎么用纯CSS实现一张纪念卓别林的卡片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码解读   定义dom,容器中包含的3个元素分别代表帽子...
    99+
    2022-10-19
  • Android中怎么实现图片识别功能
    本篇文章为大家展示了Android中怎么实现图片识别功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、界面我采用了一个SurfaceView用来显示摄像头的预览画面,重写了一个SurfaceVi...
    99+
    2023-05-30
    android
  • PHP怎么处理bmp格式图片
    这篇文章主要介绍了PHP怎么处理bmp格式图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Array (   [0]&...
    99+
    2022-10-19
  • canvas怎么实现多张图片编辑的图片编辑器
    这篇文章将为大家详细讲解有关canvas怎么实现多张图片编辑的图片编辑器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图片编辑器产品需求先说需求,由于涉及到实际公司的项目开发,满足需求的图片编辑器可能只是...
    99+
    2023-06-09
  • css中怎么用图片定位把所有图标放在一张图上
    本篇内容主要讲解“css中怎么用图片定位把所有图标放在一张图上”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中怎么用图片定位把所有图标放在一张图上”吧! ...
    99+
    2022-10-19
  • 怎么利用nodejs​爬取并下载一万多张图片
    这篇文章主要为大家展示了“怎么利用nodejs爬取并下载一万多张图片”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么利用nodejs爬取并下载一万多张图片”这...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作