Richedit中图片显示问题,或图文混排控件,急急!! (300分)

  • 主题发起人 主题发起人 zeroyy
  • 开始时间 开始时间
Z

zeroyy

Unregistered / Unconfirmed
GUEST, unregistred user!
Richedit中如何在调入有图片的RTF或DOC文档,且图片仍是以环绕方式(四周型)在Richedit中显示。或哪位大侠有免费的图文混排控件提供,谢谢!!
 
RxRichedit(Rxlib)更好一些!
 
很难找!
老外的汉字支持不好。
个人写一个![:(]不容易!
如果不死心,可以在论坛中搜索一下。 如‘图文混排’。
 
richedit控间中插入图片文字插入和读取、压缩、解压缩、的代码要不要?(以流形式)
 
richedit控间中插入图片文字插入和读取、压缩、解压缩、的代码要不要?(以流形式)
 
要。
E-Mail:cinet@63.com
 
Richedit不好弄吧,有一个HTML控件可以!
 
帮你顶一下
 
用WPTOOLS 的TWPRichText完全可以做到!!!,但没有源代码的!
请大家看看下面的贴子
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2312552
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2169908
 
将位图作为一个对象插入工作得很好,但是用户可以打开和编辑它,并且图象必须是一个已存在的文件。用剪贴板工作得更好,但是它将擦掉以前的内容。因为我的工程要求图象不可编辑而且不能动剪贴板,我必须求助于编辑RTF。如果你有Rxlib,或是使用Microsoft RichTextBox控件(和VB5+一起的),这个方法可能对你有用。请原谅程序的笨拙。因为我不喜欢装载大图象带来的延迟,非常欢迎提出优化它的建议。

function BitmapToRTF(pict: TBitmap): string;
var
bi,bb,rtf: string;
bis,bbs: Cardinal;
achar: ShortString;
hexpict: string;
I: Integer;
begin
GetDIBSizes(pict.Handle,bis,bbs);
SetLength(bi,bis);
SetLength(bb,bbs);
GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
rtf := ''{/rtf1 {/pict/dibitmap '';
SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
I := 2;
for bis := 1 to Length(bi) do
begin
achar := Format(''%x'',[Integer(bi[bis])]);
if Length(achar) = 1 then
achar := ''0'' + achar;
hexpict[I-1] := achar[1];
hexpict := achar[2];
Inc(I,2);
end;
for bbs := 1 to Length(bb) do
begin
achar := Format(''%x'',[Integer(bb[bbs])]);
if Length(achar) = 1 then
achar := ''0'' + achar;
hexpict[I-1] := achar[1];
hexpict := achar[2];
Inc(I,2);
end;
rtf := rtf + hexpict + '' }}'';
Result := rtf;
end;

这个函数返回一段可以被导入到RxRichEdit或RichTextBox选择的RTF流。

这对我来说似乎工作得很好:

{假设SS是TStringStream,RE是TRxRichEdit,BMP是一存有图片的TBitmap。}
SS := TStringStream.Create(BitmapToRTF(BMP));
RE.PlainText := False;
RE.StreamMode := [smSelection];
RE.Lines.LoadFromStream(SS);
SS.Free;

如果你不知道RxRichEdit是什么并想知道,你可以在这里获得有关资料: http://www.rxlib.com/

如果你不知道RTF(RichText Format)是什么,你可以在这里读到一点东西:http://chesworth.com/pv/file_format/rtf.txt
 
建议用ostarocx.ocx
在:www.standsoft.com
 
后退
顶部