Var cc:TBitmap;
st:TMemoryStream;
jpeg: TJPEGImage;
begin
cc := TBitmap.Create;
cc.PixelFormat := pf24bit;
st:=TMemoryStream.Create;
//st.Position:=0;
//Image1.Picture.Bitmap.SaveToStream(st);
Image1.Picture.Graphic.SaveToStream(st);
st.Position:=0;
//Image1.Picture.Bitmap.Assign(Image2.Picture.Bitmap);
st.SaveToFile('c:\abc1'); //流 里保存的数据随着 image里的格式而改变
//cc.Assign(st.Memory); 不行
jpeg:= TJPEGImage.Create;
jpeg.Assign(Image1.Picture.Graphic); //image1里是一个jpg图片的时候 ok
//image1里是bmp的时候这么操作也是可以的
// jpeg.Assign(Image1.Picture.Bitmap ); //image1里放了一个jpg图片的时候 这么操作就会使得image1变成空
jpeg.SaveToFile('c:\j1'); //image1里是bmp的时候 assign到jpeg里的情况
//jpeg里的格式是jpg的
cc.Assign(jpeg); //jpg to bmp 转换
Image2.Picture.Assign(cc);
Image2.Picture.SaveToFile('c:\i2.bmp');
//Image2.Picture.Graphic.LoadFromStream(st); //如果image2以前保存的是jpg 就不会出错 如果是bmp 就会出错
cc.Free;
st.Free;
jpeg.Free;
阅读(1767) | 评论(0) | 转发(0) |