a814123
814123
采纳率95.4%
2018-06-30 14:48 阅读 676

delphi 可以调用cximageu.dll吗?利用cximageu.dll里的函数进行图片压缩?

5

cximageu.dll是C++写的,我想用delphi调用这个DLL来压缩图片,可以吗,高手帮忙看看?
能不能给个代码参考,谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-07-01 17:54

    图片说明

     unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, XPMan, StdCtrls, jpeg;
    
    type
      TForm1 = class(TForm)
        OpenDialog1: TOpenDialog;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    function fun_BmpToJpg(temp, path: String; ACQ: Integer): Boolean; stdcall;
    var
      MyJpeg: TJpegImage;
      Bmp: TBitmap;
    begin
      result := false;  
      if FileExists(temp) then
      begin
        Bmp:= TBitmap.Create;
        MyJpeg:= TJpegImage.Create;
        Bmp.LoadFromFile(temp);
        MyJpeg.Assign(Bmp);
        MyJpeg.CompressionQuality := ACQ;
        MyJpeg.Compress;
        MyJpeg.SaveToFile(Path);
        MyJpeg.free;
        Bmp.free;
        if FileExists(path) then
          result := True;
      end;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      temp: String;
    begin
    OpenDialog1.Execute();
    temp := OpenDialog1.FileName;
    fun_BmpToJpg(temp, ChangeFileExt(temp, '.jpg'), 100); //最后一个参数可以修改图像质量,质量越差,那么图片越小
    end;
    
    end.
    
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-06-30 15:24

    看了下,这个里面有很多c++的成员函数,用delphi直接调用有难度,你有两个办法,第一个是用c++再封装一次,导出没有成员函数的普通函数,再delphi调用。
    或者,找别的压缩图片的,适用delphi的库,这种代码有很多。

    点赞 2 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-06-30 14:53

    不知道你说得是什么,是opencv么?当然可以。如果是你自己写的库,有函数原型、类型兼容就可以调用。

    点赞 评论 复制链接分享
  • a814123 814123 2018-06-30 14:54

    图片说明
    这个是这个DLL的函数表

    点赞 评论 复制链接分享
  • hskill 堕落恶魔_Delphi 2018-07-02 01:41

    图像压缩处理转格式, 高版本delphi直接用自带的TWICImage来做, 底层调用的是windows的wincode

    用法参考万一的博客: https://www.cnblogs.com/del/archive/2009/10/19/1586264.html

    点赞 评论 复制链接分享

相关推荐