CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  GAME,图形处理/多媒体

图片保存问题,在线等待高手指点。

楼主pingguo(e网情深)2003-11-01 10:37:23 在 Delphi / GAME,图形处理/多媒体 提问

我在Image控件上画图,但是需要调整Image的大小,保存图片是就把Image的整个Picture保存下来。但是我只想保存Image的可见部分的图像,如何实现? 问题点数:20、回复次数:5Top

1 楼delphizd(DELPHI字典)回复于 2003-11-02 12:05:30 得分 5

可以让你的delphi   程序具有Photoshop   功能的一组控件  
   
  http://218.56.11.178:8000/web/File_Down.aspx  
   
  ->控件-多媒体-》ImageEn.v2.0.7   /ImageEn.v2.0.7  
  Top

2 楼ColdWolf(天边流星)回复于 2003-11-02 12:22:07 得分 5

你可以将可见部分拷贝到另外一个imange控件上,而后通过另外一个imange来保存。Top

3 楼greenpeople(绿人)回复于 2003-11-02 12:42:03 得分 5

可以给分了吧?  
   
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,jpeg,   DB,   ADODB,   DBCtrls,   Grids,   DBGrids,   StdCtrls,  
      ExtCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          Image1:   TImage;{用来存放图片以备用}  
          Image2:   TImage;{用来显示从数据库中提取出来的图片}  
          Button1:   TButton;  
          Button2:   TButton;  
          DBGrid1:   TDBGrid;  
          ADOQuery1:   TADOQuery;  
          DataSource2:   TDataSource;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   Button2Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      MyJPEG   :   TJPEGImage;  
      MS:   TMemoryStream;  
  begin  
      Image1.picture.loadfromfile('d:\work\pic.bmp');   {须保证d:\下有名为pic.bmp文件}  
      MyJPEG:=TJPEGImage.Create;  
      Try  
          MyJPEG.Assign(Image1.Picture.Graphic);   {图像转成JPEG格式,如为JPEG图片则不必加}  
          MS:=TMemoryStream.Create;  
          MyJPEG.SaveToStream(MS);  
          MS.Position:=0;  
          ADOQuery1.Append;  
          ADOQuery1.FieldByName('name').Value:='1';  
          TBlobField(ADOQuery1.FieldByName('pic')).LoadFromStream(MS);  
          ADOQuery1.Post;  
          messagebox(getactivewindow(),'图像保存完毕!','保存',mb_ok);  
          MS.Free;  
      Finally  
          MyJPEG.Free;  
      end;  
  end;  
   
  procedure   TForm1.Button2Click(Sender:   TObject);  
  var  
      MyJPEG   :   TJPEGImage;  
      MS:   TMemoryStream;  
  begin  
      MS:=TMemoryStream.Create;  
      MyJPEG:=TJPEGImage.Create;  
      ADOQuery1.Requery;  
      try  
          TBlobField(ADOQuery1.FieldByName('pic')).SaveToStream(MS);  
          MS.Position:=0;  
          MyJPEG.LoadFromStream(MS);  
          Image2.Picture.Bitmap.Assign(MyJPEG);  
      finally  
          MS.Free;  
          MyJPEG.Free;  
      end;  
  end;  
   
   
  end.Top

4 楼pingguo(e网情深)回复于 2003-11-04 11:26:43 得分 0

答非所问。我是想保存一个bmp图片的一部分。Top

5 楼minimu(minimu)回复于 2003-11-13 16:22:53 得分 5

ImageEn的效率比较低(个人感觉)Top

相关问题

  • TADOBlobStream,关于图片的保存和调用, 请高手指点,急。。。!!
  • 调整图片的对比度和饱和度?请指点,在线等待
  • 怎样在报表中打印图片?多多指点啊!!!(在线等待)
  • 将数据流中保存的图片载入image控件时遇到的问题,请各位指点,谢谢!!
  • 请问如何将excel中已经存在的图片保存到硬盘上?谢谢指点
  • 怎么把图片保存到数据库中?(在线等待)
  • 对象的保存,请高手指点!
  • 保存图片
  • 图片保存
  • 保存图片

关键词

  • 控件
  • 图像
  • jpeg
  • myjpeg
  • 保存
  • adoquery
  • tjpegimage
  • tmemorystream
  • 图片
  • ms

得分解答快速导航

  • 帖主:pingguo
  • delphizd
  • ColdWolf
  • greenpeople
  • minimu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo