delphi2010 图片格式转换Bmp, Png,Jpeg, Gif, Tiff , WMPhoto


本文整理自网络,侵删。

 unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

//   JXSF_PIC_Format_Convert
//   图片格式转换
//   [in]   pic_stream     原图片的数据流
//   [in]   toPicForMat    要转换的图片格式
//           0      1       2        3       4         5
//           Bmp, Png,   Jpeg,     Gif,    Tiff       WMPhoto
//   [out] targ_stream
//          转换后的数据流
// 返回:
//          转换是否成功
//          0 = 失败
//          1 = 成功
function JXSF_PIC_Format_Convert (
              const pic_stream :TMemoryStream;
              const toPicForMat : INT32;
              const targ_stream : TMemoryStream
            ) : INT32;
var   wi:TWICImage;
var   flag        : INT32;
begin

    if not ( toPicForMat in [0..5] ) then
    begin
          try
               targ_stream.Clear;
          except

          end;
          Result:=0;exit;
    end;

    wi:=TWICImage.Create;
    try
        pic_stream.Position:=0;
        targ_stream.Clear;

       // 下面是格式转换核心代码
        wi.LoadFromStream(pic_stream);
        wi.ImageFormat := TWICImageFormat( toPicForMat);
        wi.SaveToStream( targ_stream);
        targ_stream.Position:=0;
        flag:=1;
    except
        flag:=0;
    end;
    wi.Free;
    Result:=flag;
end;

procedure TForm1.Button1Click(Sender: TObject);
var sm1,sm2:TMemoryStream;
   var wi:TWICImage;
begin
    sm1:= TMemoryStream.Create;
    sm2:= TMemoryStream.Create;
    sm1.LoadFromFile( 'c:\tt\0002.jpg');
     sm1.Position :=0;
     JXSF_PIC_Format_Convert( sm1,0,sm2) ;
    wi:=TWICImage.Create;
    wi.LoadFromStream(sm2);
     Image1.Picture.Assign( wi);
    wi.Free;
    sm1.Free;
    sm2.Free;

end;

end.

相关阅读 >>

Delphi 字符串中加入换行符slinebreak

Delphi 调用shellexecute打开txt文本

Delphi 用dbexpress处理jpg图片

Delphi 万年历 程序源码下部分(包括:农历计算、24节气、星期计算、属相)

Delphi 动态调用chm文件

Delphi 文件/流的加密解密方法

Delphi 把mp3做背景音乐

Delphi 用wininet 单元实现 post提交数据

Delphi中动态加载treeview信息

Delphi memo加个prompttext

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...