读书人

如何将JPG转换成BMP直接给IMAGE1

发布时间: 2012-03-29 12:53:12 作者: rapoo

怎么将JPG转换成BMP直接给IMAGE1
看我下面代码不对,我要实现的是将JPG直接转换成BMP然后给IMAGE1,直接可以将JPG给IMAGE1这样也显示,不过我要的是将JPG转BMP后在给IMAGE1,必须成BMP在给IMAGE1请大家帮帮忙。

if UpperCase(aStr) = '.JPG' then begin
Bit := TBitmap.Create;
Jpg := TJPEGImage.Create;
fuuBit := TCanvas.Create;
Jpg.LoadFromFile(OpenDialog1.FileName);
DC:=GetDC(0);
fuuBit.Handle:=DC;
Bit.Width := Jpg.Width;
bit.Height := Jpg.Height;
Bit.Canvas.CopyRect(Rect(0,0,Jpg.Width,Jpg.Height),fuuBit,Rect(0,0,Jpg.Width,Jpg.Height));
Image1.Picture.Bitmap := Bit;
Image1.Width := Bit.Width;
Image1.Height := bit.Height;
end;

[解决办法]
给你一个简单的办法,加载jpg后另存为bmp,再读入image:

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var  jpg:TJpegImage;  bmp:TBitmap;begin  bmp:=TBitmap.Create;  jpg:= TJpegImage.Create;  try    jpg.LoadFromFile('E:\1.jpg');    bmp.Assign(jpg);    bmp.SaveToFile('E:\2.bmp');    Image1.Picture.LoadFromFile('E:\2.bmp');  finally    bmp.free;    jpg.Free;  end;end;
[解决办法]
中心语句就是这个了:
Canvas.Draw(0,0,MyJPEG);
根据以前的程序改了一下,没做测试。
[解决办法]
1、jpg->bmp
uses jpeg;
//////////////
procedure JpgToBmp(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;


[解决办法]
探讨
给你一个简单的办法,加载jpg后另存为bmp,再读入image:


Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);
var
jpg:TJpegImage;
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
jpg:= TJpegImage.Cr……

[解决办法]
调用:
JpgToBmp('d:\征途2账号.jpg','d:\征途.bmp');
Image1.Picture.LoadFromFile('d:\征途.bmp');

至于转不转文件,你自己改下函数; 楼上有人说复杂的,复杂也不是要我们处理的,高级语言。

读书人网 >.NET

热点推荐