如何使jpg格式图像在用Timage调入的时候转化为bmp格式?(50分)

  • 主题发起人 主题发起人 dogood
  • 开始时间 开始时间
D

dogood

Unregistered / Unconfirmed
GUEST, unregistred user!
在用一段代码的时候出现问题,只支持bmp格式,因此想在jpg调入的时候转化为bmp格式,如何做到呢?
question:
如何使jpg格式图像在用Timage调入的时候转化为bmp格式?
 
uses Jpeg;

function ConvertToBmp(FileName : String; ObjBmp : TBitmap) : Boolean;
var
JpegImage : TJpegImage;
begin
JpegImage := TJpegImage.Create;
with JpegImage do
begin
try
LoadFromFile(FileName);
DIBNeeded;
ObjBmp.Assign(JpegImage);
Result := True;
except
Result := False;
end;
Destroy;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap : TBitmap;
begin
Bitmap := TBitmap.Create;
ConvertToBmp('D:/Documents and Settings/Administrator/My Documents/My Pictures/02.jpg', Bitmap);
Bitmap.SaveToFile('c:/1.bmp');
Bitmap.Free;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
Var
JPEGImage: TJPEGImage;
begin
DoubleBuffered:=true;
//先读入jpeg格式的图片
fa.open;
fa.first;
JPEGImage := TJPEGImage.Create;
JPEGImage.LoadFromFile(extractfilepath(paramstr(0))+'data/'+dbedit1.text+'.jpg');

Image1.Picture.Bitmap.Assign(JPEGImage); //1句话就够了,以前的代码太复杂并且没有释放内存
JPEGImage.Free;
end;

关于图片的设置我放在这里
image1.Align:=clClient;
image1.AutoSize:=true;
image1.Center:=false;
image1.Stretch:=true;
image2.Stretch:=true;//其它不用设置

如果image1不这样设置可能还要定鼠标的初试坐标,很烦的
应该不错了,如果你那里不行,给个mail我把工程发过来
帮你帮到底了[:)]
因为那个帖子太乱了,我就贴到这里了
 
多谢啊,哈!感动中。。。。。。。。。
realetong@hotmail.com
 
超过1M发到:

realetong@163.com
 
已经发出了
 
发到realetong@hotmail.com 了,只有400多k
 
多谢大家,特别是yostgxf!
先结这个帖!!
 
后退
顶部