Delphi常见图象格式转换技术

    技术2022-05-11  136

    常见图象格式转换技术作者:lyboy99 e-mail:lyboy99@sina.com   url: http://hnh.126.com

    给大家提供几个常用的图象格式转换方法和其转换函数希望可以对你有帮助1. ICO图标转换BMP格式2. 32x32 BMP格式图象转换为 ICO格式3.转换BMP->JPEG文件格式4.JPEG 转换为BMP函数5.Bmp转换为JPEG文件格式函数-------------------------------------------------------------------------------------------------------------------------1.Chinese : ICO图标转换BMP格式English :(Conversion from ICO to BMP)--------------------------------------------------------

      var    Icon   : TIcon;    Bitmap : TBitmap;  begin     Icon   := TIcon.Create;     Bitmap := TBitmap.Create;     Icon.LoadFromFile('c:/picture.ico');     Bitmap.Width := Icon.Width;     Bitmap.Height := Icon.Height;     Bitmap.Canvas.Draw(0, 0, Icon );     Bitmap.SaveToFile('c:/picture.bmp');     Icon.Free;     Bitmap.Free;===================================2.Chinese: 32x32 BMP格式图象转换为 ICO格式English :32x32 bit Bitmaps to ICO's-----------------------------------unit main;

    interface

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

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

    var  Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);var winDC, srcdc, destdc : HDC;    oldBitmap : HBitmap;    iinfo : TICONINFO;begin    GetIconInfo(Image1.Picture.Icon.Handle, iinfo);

        WinDC := getDC(handle);    srcDC := CreateCompatibleDC(WinDC);    destDC := CreateCompatibleDC(WinDC);    oldBitmap := SelectObject(destDC, iinfo.hbmColor);    oldBitmap := SelectObject(srcDC, iinfo.hbmMask);

        BitBlt(destdc, 0, 0, Image1.picture.icon.width,     Image1.picture.icon.height,           srcdc, 0, 0, SRCPAINT);    Image2.picture.bitmap.handle := SelectObject(destDC, oldBitmap);    DeleteDC(destDC);    DeleteDC(srcDC);    DeleteDC(WinDC);

     image2.Picture.Bitmap.savetofile(ExtractFilePath(Application.ExeName)          + 'myfile.bmp');end;

    procedure TForm1.FormCreate(Sender: TObject);begin  image1.picture.icon.loadfromfile('c:/myicon.ico');end;

    end.==================================================================3. Chinese:转换BMP->JPEG文件格式Englsh:convert the bitmap into a JPEG file format------------------------------------------------------------------var  MyJpeg: TJpegImage;  Image1: TImage;begin  Image1:= TImage.Create;  MyJpeg:= TJpegImage.Create;  Image1.LoadFromFile('TestImage.BMP');  // 读取Bitmap文件  MyJpeg.Assign(Image1.Picture.Bitmap);  object  MyJpeg.SaveToFile('MyJPEGImage.JPG'); //保存JPEGend;

    --------------------------------------------------------------------4.JPEG 转换为BMP函数

    procedure Jpg2Bmp(const source,dest:string);var  MyJpeg: TJpegImage;  bmp: Tbitmap;beginbmp:=tbitmap.Create;MyJpeg:= TJpegImage.Create;try  myjpeg.LoadFromFile(source);  bmp.Assign(myjpeg);  bmp.SaveToFile(dest);finally  bmp.free;  myjpeg.Free;end;end;

    ----------------------------------------------------------5.Bmp转换为JPEG文件格式函数----------------------------------------------------------procedure Bmp2Jpg(const source,dest:string;const scale:byte);var  MyJpeg: TJpegImage;  Image1: TImage;beginImage1:= TImage.Create(application);MyJpeg:= TJpegImage.Create;try  Image1.Picture.Bitmap.LoadFromFile(source);  MyJpeg.Assign(Image1.Picture.Bitmap);   MyJpeg.CompressionQuality:=scale;  MyJpeg.Compress;  MyJpeg.SaveToFile(dest);finally  image1.free;  myjpeg.Free;end;end;-----------------------------------------------------------------------


    最新回复(0)