lazarus浏览图片转存其他格式

tech2024-07-06  63

lazarus 跨平台free pascal语言ide工具 http://www.fpccn.com/ 社区

下载ftp://freepascal.dfmk.hu/pub/lazarus/releases https://sourceforge.net/projects/lazarus/files/

最新很多网站图片是webp格式,比较节省资源,但有些软件不支持,想到就赶紧写个代码转换格式吧

最熟悉的就是用imagemagick,linux发行版很多有仓库比如我的deepin linux就可直接安装

sudo apt-get install imagemagick

为了支持webp格式再装一个

sudo apt install webp

安装后就可用convert命令转化图片格式

convert howtogeek.png -quality 80 howtogeek.jpg convert example.png -resize 200×100 example.png

在lazarus里调用代码如下

procedure convertimg(Source: string; dest: string); var Process: TProcess; begin if (length(Source) > 0) and (length(dest) > 0) then begin Form1.StatusBar1.SimpleText := '请检查可执行文件路径是否存在空格'; Process := TProcess.Create(nil); try Process.InheritHandles := False; Process.Options := []; //Process.ShowWindow := swoShow; Process.Executable := '/usr/bin/convert'; Process.Parameters.Add(source); Process.Parameters.Add(dest); Process.Execute; Form1.StatusBar1.SimpleText := '已经执行'; except on E: EOSError do Form1.StatusBar1.SimpleText := '请检查文件路径是否有空格,请修正'; end; Process.Free; end; end;

做了一个可执行程序lookimg,可以查看各种格式图片遇到lazarus不支持的就调用格式转换成jpg再加载,这样就方便了,然后到

目录 ~/.local/share/applications 下创建 lookimg.desktop

[Desktop Entry] Exec=/home/qzc/program/lookimg %f Icon=application-x-desktop MimeType=*/* Name=lookimg Type=Application X-DDE-File-Manager-Custom-Open=image/webp X-Deepin-Vendor=user-custom

这样,下次遇到不常见格式比如webp,右键 打开方式选lookimg,就能用自己做的lookimg加载查看图片了

顺手记一下,本来给lazarus工程信息文件lpi创建了图标/usr/share/mime/packages/lazarus.xml

generic-icon name这一行指定图标默认路径是存在/usr/share/icons/deepin/apps/48/lazarus.svg

更换了主题的话不是deepin的文件夹下没有lazarus图标是不能显示效果的,需要改回默认主题图标或把lazarus图标复制到新主题图标文件夹下

最新回复(0)