急: 将内存中的对象保存为图象的问题. 在线等待!!!(100分)

  • 主题发起人 主题发起人 DEN
  • 开始时间 开始时间
D

DEN

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位大侠:
我是一只Delphi的菜鸟,更对图像处理一窍不通。所以请各位帮个忙(填个空)。
procedure ChgCtrlToBmp(Father:TWinControl; FileName: String;Img:TImage);
var
rtfBox: TRichEdit;
begin
rtfBox:= TRichEdit.Create(Father);
try
rtfBox.Parent:= Father;
rtfBox.visible := false;
rtfBox.Lines.Load(FileName);
//================
SavertfBoxToBmp(rtfBox;Img); // 将rtfBox内的所有内容保存为一图片。
 //================
finally
rtfBox.Free;
end;
end;

请问怎样完成此过程 : SavertfBoxToBmp(Box:TwinControl;Img:TImage);
不能用截去屏幕的方法.因为rtfBox 不可见.
 
自己转转吧,简单。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=209177
 
谢谢: bubble

i will have a try!
 
to bubble :
但是不能取得 RichEdit 里的 图片.
 
我希望能取得 RichEdit 里的所有内容.如 表格,图片等.
 
还有:
将Image 的 Stretch 属性设为 true 后, Image 要自动缩放.
而不是按 RichEdit 的大小换行等.
 
请高手帮忙解决一下:!
谢了!!!
 
我在线等了很久,没人能解决吗?
 
这样:Image1.Canvas.TextOut (0,0,RichEdit1.Text );
Image1.Picture.SaveToFile (filename);
 
How about Picture?
 
procedrue SavertfBoxToBmp(Box:TwinControl;Img:TImage;FileName :String);
begin
if not box is TRichEdit then
exit;

Img.Canvas.TextOut (0,0,TRichEdit(box).Text );
Img.Picture.SaveToFile (filename);

end;
 
完颜康:
首先谢谢你.更不好意思的是我昨天没有看见你发的信息,但你可能误解了我的意思.
你这样:可以取得RichEdit里的图片,表格,根号等特殊符号吗?
我要的是取得RichEdit 里的一切可见内容.如字体字型都一样.
 
假如richedit不能一次显示(很长,要翻屏),你是要拷贝全部,还是要拷贝当前屏?
拷贝全部比较困难,拷贝当前屏可以研究研究
 
To: Pipi
拷贝全不,但我想问题是一样的.因为我可一让RichEdit的大小随其内容的大小变化.
即,其内容可全部显示.
 
不好意思,老是打错字.


To: Pipi
拷贝全部,但我想问题是一样的.因为我可一让RichEdit的大小随其内容的大小变化.
即,其内容可全部显示.
 
我的方法只对显示的richedit有效,你是否可以把visible=true,然后再visible=false;

var
bmp:TBitmap;
dc:HDC;
begin
bmp:=TBitmap.Create;
bmp.Width:=Richedit1.Width;
bmp.Height:=Richedit1.Height;
dc:=GetWindowDC(Richedit1.Handle);
BitBlt(bmp.Canvas.Handle,0,0,Richedit1.Width,Richedit1.Height,dc,0,0,SRCCOPY);
ReleaseDC(Richedit1.Handle,dc);
Image1.Picture.Bitmap:=bmp;
bmp.Free;
end;
 
谢谢 Pipi.大侠(你的方法我测试好象不灵,不过还是谢谢你),谢谢上面的各位.
经过这几天的研究,还是自己想出了一个不好但可以解决问题的方法.其实是在
bubble 大侠给的代码的基础上作了些修改,在此重谢了.
 
多人接受答案了。
 

Similar threads

后退
顶部