我使用 Clip Studio Paint 进行了很多绘画,它与 wine 的配合几乎完美,但唯一的主要缺点是原始文件的格式在 linux 中不支持缩略图(据我所知)。
对于大多数文件,我会有两个版本。File.clip(CSP 格式)和 File.png。我想使用 .png(或其缩略图)作为 File.clip 的缩略图。
那么,如何从命令行向随机文件添加缩略图?
我正在 ubuntu 18.04 和 nautilus 中工作。
编辑:更改了我想要做的事情的描述,以使其更清晰。
答案1
好的,据我理解,您正在尝试使用不同的文件(可预测创建)来创建文件的缩略图。
我们可以尝试这样的方法:
#!/bin/bash
# Based on CC-BY 2016 Marcin Kaminski https://askubuntu.com/users/98096/marcin-kaminski
# https://askubuntu.com/a/201894/216568
# USAGE: mkthumb.sh [-s] [-r] <path> [path]
# create nautilus thumbnails for clips in the directories (and their
# sub-directories) given as parameters.
# -s is used to skip generating thumbnails that already exist
skip_existing=0
if [[ "${1}" == "-s" ]]; then
skip_existing=1
shift
fi
maxdepth="1"
if [[ "${1}" == "-r" ]]; then
maxdepth="9999"
shift
fi
mkImageThumb() {
size="${3}"
file="${1}"
dest="${2}"
convert -thumbnail ${size}x${size} "${file}[0]" "${dest}" &>/dev/null
if (( $? == 0 )); then
echo "OK ${file} [${dest}]"
else
echo "FAIL ${file}"
fi
}
OLDIFS="${IFS}"
IFS=$'\n'
for dir in $@; do
realdir=`realpath "${dir}"`
echo "Processing directory ${realdir}"
for file in $(find "${realdir}" -maxdepth ${maxdepth} -regextype posix-egrep -iregex '.*\.clip'); do
md5=$(echo -n "${file}" | perl -MURI::file -MDigest::MD5=md5_hex -ne 'print md5_hex(URI::file->new($_));')
image=$(dirname "${file}")/$(basename "${file}" .clip).png
dest="${HOME}/.cache/thumbnails/normal/${md5}.png"
if [[ ! -f "${dest}" || "${skip_existing}" != "0" ]]; then
mkImageThumb "${image}" "${dest}" 128
else
echo "SKIP ${file}"
fi
dest="${HOME}/.cache/thumbnails/large/${md5}.png"
if [[ ! -f "${dest}" || "${skip_existing}" != "0" ]]; then
mkImageThumb "${image}" "${dest}" 256
else
echo "SKIP ${file}"
fi
done
done
IFS="${OLDIFS}"
该脚本将获取整个目录并生成所需的缩略图(我现在还没有测试该脚本,但应该测试)。