怎么将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:
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;
[解决办法]