Common image format conversion technologies
Author:lyboy99
e-mail:[email protected]
url: http://hnh.126.com
Provide you with several commonly used image format conversion methods and their conversion functions
Hope it helps you
1. Convert ICO icon to BMP format
2. Convert 32x32 BMP format image to ICO format
3. Convert BMP->JPEG file format
4.JPEG to BMP function
5.Bmp to JPEG file format function
-------------------------------------------------- -------------------------------------------------- --------------------------
1.Chinese: ICO icon conversion to BMP format
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: Convert 32x32 BMP format image to ICO format
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:Convert BMP->JPEG file format
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'); // Read Bitmap file
MyJpeg.Assign(Image1.Picture.Bitmap);
object
MyJpeg.SaveToFile('MyJPEGImage.JPG'); //Save JPEG
end;
-------------------------------------------------- ------------------
4.JPEG to BMP function
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 to JPEG file format function
-------------------------------------------------- --------
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;
-------------------------------------------------- --------------------------