Delphi常见图象格式转换技术

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

常见图象格式转换技术

作者: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'); //保存JPEG

end;

--------------------------------------------------------------------

4.JPEG 转换为BMP函数

procedure Jpg2Bmp(const source,dest:string);

var

MyJpeg: TJpegImage;

bmp: Tbitmap;

begin

bmp:=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;

begin

Image1:= 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;

-----------------------------------------------------------------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航