Fedora32 :打开JPEG文件错误(Error interpreting JPEG image file(Not a JPEG file:starts with 0x52 0x49))

ENV:

[root@Fedora32 ~]#uname -r
5.6.19-300.fc32.x86_64
[root@Fedora32 ~]#cat /etc/redhat-release 
Fedora release 32 (Thirty Two)
[root@Fedora32 ~]#rpm -qa |grep gnome-photo
gnome-photos-3.34.2-1.fc32.x86_64
//GNOME自带的图片软件,估计很多人都没使用过,我也是通过gnome命令看到的,不知道和image viewer是什么关系

图片查看软件image viewer 3.36.2

Fedora32 :打开JPEG文件错误(Error interpreting JPEG image file(Not a JPEG file:starts with 0x52 0x49))_第1张图片

前两天下载了几张图片,在windows和手机下都可以正常查看的图片,可是到了fedora32下不能正常查看了。

gnome-photo查看是x图

Fedora32 :打开JPEG文件错误(Error interpreting JPEG image file(Not a JPEG file:starts with 0x52 0x49))_第2张图片

image viewer查看提示错误

Fedora32 :打开JPEG文件错误(Error interpreting JPEG image file(Not a JPEG file:starts with 0x52 0x49))_第3张图片

 

上网找了一个,不同的图片的文件头标识是不同的,主要有下面几种

文件头就是一个文件的开始位置,一般标注了文件的格式类型
JPEG(jpg),文件头:0xff 0xd8
PNG(png),文件头:0x89 0x50
webp(谷歌webp格式图片), 文件头:0x52 0x49
gif, 文件头:0x47 0x49
BMP, 文件头:0x42 0x4d

如果文件头标识与文件扩展名不对应,则会出现打开错误,可以根据提示修改文件扩展名,但是如果没有提示,一直打开出错,我们可以直接查看图片的文件头来判断文件名是否正确

随意找张图片查看如下:

[root@Fedora32 Pictures]#hexdump 1526798445650.jpg |head -1
0000000 d8ff e0ff 1000 464a 4649 0100 0101 4800

开头的是d8ff ,也就是jpg格式文件,和文件名是对应的。

而我们要打开的001.jpg文件来看下:

[root@Fedora32 Pictures]#hexdump 001.jpg |head -1
0000000 4952 4646 9aae 0000 4557 5042 5056 2038

上图中的文件头starts with 0x52 0x49,而0x52 0x49对应的是webp格式,而webp格式图片,image viewer是不支持的,要想继续查看怎么办?

方法一:使用gnu gimp,我的版本是2.10,这个版本是可以直接打开webp文件的,我们不改文件名,直接打开001.jpg

[root@Fedora32 Pictures]#rpm -qa |grep gimp
gimp-libs-2.10.20-1.fc32.x86_64
gimp-2.10.20-1.fc32.x86_64

通过“文件”->"覆盖"直接把图片改变成jpg格式,这样以后就可以通过image viewer直接看图片了。但是这种方法也有不好的地方。一是要安装有gimp;二是如果图片太多了可能就有些麻烦了。

方法二:既然webp格式是google采用的格式,那就直接使用google的产品,如google浏览器等。

方法三:网上有说直接下载特定格式的图片查看工具,如webp或gthumb,可以直接install安装,但是我的fedora32在运行dnf install安装时显示没有文件,如要安装就只能到网上找rpm安装包下载到本地安装了。

我因为电脑中有gnu gimp图片软件,我使用的就是第一种方法。

以上的三种方法可以根据个人习惯来选择,毕竟我们的主要目的就是为了能看图片。

你可能感兴趣的:(Linux)