Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1353642
  • 博文数量: 188
  • 博客积分: 4847
  • 博客等级: 上校
  • 技术积分: 2124
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-06 13:49
个人简介

Who am I?

文章分类

全部博文(188)

分类: Delphi

2015-10-29 22:11:05

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;
阅读(1778) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~