Aqu*_*wer 32
/usr/share/thumbnailers
使用以下名称和内容创建文件:
从这里:写信给dds.thumbnailer
:
[Thumbnailer Entry]
Exec=/usr/bin/convert -thumbnail x%s %i png:%o
MimeType=image/x-dds;
Run Code Online (Sandbox Code Playgroud)
首先安装 webp: sudo apt-get install webp
.
基于此。写信给 webp.thumbnailer
:
sudo gedit /usr/share/thumbnailers/webp.thumbnailer
。
[Thumbnailer Entry]
Exec=/usr/bin/dwebp %i -scale 100 100 -o %o
MimeType=image/x-webp;image/webp;
Run Code Online (Sandbox Code Playgroud)
并在完全退出后重新启动 nautilus nautilus -q
。
正如@PereJoanMartorell所指出的,我~/.cache/thumbnails/fail
至少必须删除里面的文件。
这种 webp 方法的问题是所有缩略图都是 100x100 像素。
但是,这个脚本使它正常工作(和可以高度简化的,一看便知下面这里,不依赖于ScriptEchoColor库)。也是基于它改进的,用于动画 webp(看起来很有趣,还没有尝试过,刚学会了 webp 可以动画!)。
观察。:在 18.04 和 20.04 上nemo
,它仅适用于,在 nautilus 上无法生成缩略图,但可以可视化。
Cal*_*Cat 12
在 Nautilus 和 Nemo 上预览WebP图像的相当全面的指南(基于@AquariusPower 建议的答案和脚本):
1.安装webp
包
sudo apt-get install webp
Run Code Online (Sandbox Code Playgroud)
这个软件包附带的vwebp
和dwebp
它们将被用来转换的WebP图像转换成更小的缩略图PNG工具。
2.检查MimeType
WebP文件
image/webp
但也可以是image/x-webp
, audio/x-riff
,或者在我的情况下是application/x-wine-extension-webp
(因为我使用带有 Wine 的 Windows 图像查看器来查看 WebP);请记住MimeType
,它将在此之后不久使用。3.创建一个名为webp-thumbnailer-bin
in的文件/usr/bin
sudo nano /usr/bin/webp-thumbnailer-bin
Run Code Online (Sandbox Code Playgroud)
下面的脚本(基于复制本),到文件(使用Ctrl
+C
复制,Ctrl
+ Shift
+V
粘贴到nano
窗口):
#!/bin/bash
strInFile="$1"
nMaxDimension="$2"
strOutFile="$3"
strInfo="`DISPLAY=NONE vwebp -info "$strInFile"`"
strSize="`echo "$strInfo" | grep Canvas | sed -r 's"Canvas: (.*) x (.*)"\1\t\2"'`"
nWidth="`echo "$strSize" | cut -f1`"
nHeight="`echo "$strSize" | cut -f2`"
if((nWidth>nHeight));then
nNewWidth=$nMaxDimension
nNewHeight=`bc <<< "scale=10;f=$nHeight*($nNewWidth/$nWidth);scale=0;f/1"`
else
nNewHeight=$nMaxDimension
nNewWidth=`bc <<< "scale=10;f=$nWidth*($nNewHeight/$nHeight);scale=0;f/1"`
fi
/usr/bin/dwebp "$strInFile" -scale $nNewWidth $nNewHeight -o "$strOutFile"
Run Code Online (Sandbox Code Playgroud)
按Ctrl
+ O
(字母O
不是数字零0
)并Enter
保存文件,按Ctrl
+X
退出nano
并返回到终端。
此脚本输入一个 WebP 文件,使用 提取其尺寸(宽度和高度)vwebp
,并使用这些值作为输入,dwebp
将 WebP 文件转换和缩放为具有原始纵横比的较小 PNG 缩略图。
接下来,使文件可执行:
sudo chmod +x /usr/bin/webp-thumbnailer-bin
Run Code Online (Sandbox Code Playgroud)
4.创建一个webp.thumbnailer
文件/usr/share/thumbnailers
sudo nano /usr/share/thumbnailers/webp.thumbnailer
Run Code Online (Sandbox Code Playgroud)
下面的内容复制到文件(使用Ctrl
+C
复制,Ctrl
+ Shift
+V
粘贴到nano
窗口):
sudo apt-get install webp
Run Code Online (Sandbox Code Playgroud)
还记得MimeType
吗?如果您之前检查的类型不在上面列出的第三行中,请将其添加到行尾。确保以分号 ( ;
)结束该行。
此外,您可以256
在第二行中更改128
为更小的缩略图(尽管256
推荐,因为它是 Nautilus 的默认大缩略图尺寸)。
再次,按Ctrl
+O
和Enter
保存文件,并Ctrl
+X
退出nano
并返回到终端。
5.(最后)清除缩略图缓存并重新生成缩略图
在终端中发出以下4个命令,Enter
在每一行后按:
rm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/*
rm ~/.cache/thumbnails/large/*
rm ~/.cache/thumbnails/normal/*
nautilus -q
Run Code Online (Sandbox Code Playgroud)
如果使用nemo
,最后一个命令应该是nemo -q
.
您可以通过转到~/.cache/thumbnails
并删除其中的所有 3 个文件夹(fail
、large
、normal
)来手动删除缓存,而不是使用终端。
最后,重新打开 Nautilus 或 Nemo,现在应该显示所有 WebP 图像。
测试:Ubuntu 14.04、16.04、20.04;Linux Mint Cinnamon 19.3、20.1。
注意:此方法只会为静态WebP 图像生成缩略图。如果您还需要动画WebP 的缩略图,请参阅Aistis 的回答,该回答为脚本添加了一些有趣的更改。
归档时间: |
|
查看次数: |
7669 次 |
最近记录: |