引言:

在使用Typora进行笔记整理时,每当插入图片时电脑默认使用该图片的默认大小,即100%缩放大小,而多数情况下我还需要对图片进行缩放的,而每次使用Typora语法改变其大小又显得很冗余。

网上对于该类问题的解决有上述我提到的使用Typora语法的,也有命令行更改软件路径下的.CSS文件缩放的,第一个我觉得麻烦,第二个由于是版所以无法使用。

所以,这个用python写的图片大小转换器就诞生了(才不是因为我懒)。

源代码如下:

from PIL import Image
import os

def resize_image(input_path):
    # 打开图像文件
    with Image.open(input_path) as img:
        # 将图像调整为其原始大小的60%
        resized_img = img.resize((int(img.width * 0.6), int(img.height * 0.6)))
        # 通过将“_resized”附加到输入文件名来获取输出路径
        output_path = os.path.splitext(input_path)[0] + "_resized" + os.path.splitext(input_path)[1]
        # 将调整大小的图像保存到输出路径
        resized_img.save(output_path)
        # 返回输出路径
        return output_path

if __name__ == "__main__":
    # 获取输入图像路径
    input_path = input("请输入Typora中的图片路径:")
    # 调整图像大小
    output_path = resize_image(input_path)
    # 输出缩小后的图片路径语法
    print("![image](" + output_path + ")")

 简单说来,就是在typora插入图片之后,复制其路径,然后运行该程序,将路径粘贴并回车,图片大小就会变为原来的60%(个人喜好),并返回输出Typora下图片路径的完整格式。

具体示例如下:

首先,我将在Draw.io中绘画的图片插入到Typora中——

python 如何将mask显示在图像上 python markersize_插入图片

接着将图片路径复制,转回Pycharm打开程序并运行,粘贴该路径并回车——

 

python 如何将mask显示在图像上 python markersize_python_02

由上图看见,程序将原图片在电脑本地进行大小更改之后,返回了Typora插入该图片的完整语法。

我们将其复制,并返回Typora进行粘贴——

python 如何将mask显示在图像上 python markersize_插入图片_03

可以看到,图片已经变为了原来的60%大小了。 

提醒一下——

1、该软件实际对图片在存储上进行了缩放,也就是说并不是网上教学的那种Typora语法下的缩放,而是直接的暴力更改,所以不建议使用本地保存的重要图片运行该程序,如果一定需要,也请记得备份。

2、根据提示1所说,该软件同样可用于本地图片大小的更改,有这一类需求的朋友也可以使用。

3、该程序就我本意而言是对临时截屏的图片进行大小转换之后的插入,实际使用来看,虽然整体办公效率不如直接使用代码更改.CSS文件下的图片默认保存大小,但还是对图片插入的转换提速了那么一丢丢(尽管挺暴力的,hh),后续再看看优化的空间吧。

对了对了,该程序使用了PIL包,Pycharm或本地没下载的记得先把Pillow包给下了哈。