lazarus浏览图片转存其他格式

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图标复制到新主题图标文件夹下

你可能感兴趣的:(lazarus,linux,lazarus,imagemagick,deepin)