开发了一个通讯软件 输入框用的RICHtextbox 显示用的 WebBrowser 现在问题是这样
我发送是使用的 .text属性(如果用textrtf 内容太大 保存成图片可以先压缩再发送) 其中没有图片信息 通过截屏产生的图片已经加载到 RICHtextbox 在发送的时候 通过分析.TEXTRTF属性 需要将图片内容先保存为一个独立的图片文件 然后先发送图片到接受方 在发送内容 并组合成HTML代码显示给对方 但是图片现在是 16进制显示在 RTF中的 怎么样能将 这些图片通过一个循环保存成 独立的图片文件? 想了很多办法 
比如建立一个同步生成HTML代码的 function 但是 如果用户插入了多个图片 删除了其中一个 我怎么判断用户删掉的是那一个呢?
 又比如先将所有内容拷贝到剪贴板判断 但是都不行  
所以只能在 点击发送的时候才将图片分离并发送提供思路也行  有源码最好  分不够可以继续加

解决方案 »

  1.   

    textrtf属性已经足够你用来发送了:在确定发送的时候(点击"发送",回车之类),就取发送窗口的textrtf用来发送,接收方自然受到的是rtf格式的数据,可以保存到文件,也可以放在数组...
    至于你用webbrowser控件来接收,那就是显示这些rtf数据的问题了.(如果你想更复杂,你可以解析rtf的格式,提取字体格式,各个图片,各种表格...大哥你会累死的)下面的代码能直接显示,省略来发送过程,不足就是ie会问下载文件提示之类,选打开就得来,浏览器当做ole使用了:Private Sub Command1_Click()
    Debug.Print RichTextBox1.TextRTF
    Open "c:\aaa.rtf" For Binary As #1
    Put #1, , RichTextBox1.TextRTF
    CloseEnd SubPrivate Sub Command2_Click()
    WebBrowser1.Navigate "c:\aaa.rtf"
    End Sub
    如果你用richtextbox直接显示,那就更简单来,嘿嘿继续说webbrowser显示,如果接收到rtf格式数据,并保存为一个rtf格式文件,你自己另外html页面,这个页面包含对前面rtf格式文件的引用,让webbrowser访问html页面文件,就不会出现下载提示来吧
    对html不熟悉
      

  2.   

    提取 RTF中的图片吗?
    应该是先看RTF协议是那个版本,然后根据它的规定找到图片标签,把数据提取出来,加上文件头。OK⋯⋯
    N年前貌似见过VC的算法
      

  3.   

    恩 真的无解 有解也很麻烦 要16进制字串转图片 如果图片超大 那.... 很慢很慢  不是协议的问题 是图片的16进制 真的很大 debug.print 中看不到头 程序直接卡住 但是现在解决了 很快 秒存
      

  4.   


    你这成下载器了,哈哈 必须用webbrowser richtextbox虽然名字叫富文本框 其实一点都不富 干巴巴的  哪有HTML来的精彩 比如我提示信息 用自定义的头文件 程序自己解析 就像QQ中的聊天提示信息一样 甚至定义CSS层 等等 
      

  5.   

    速度还可以,没你说的那么夸张,本地拷贝数据+写文件头--背板带宽1G的情况下5M图片用时二百分之一秒啊!!
    VBA可以用world实现,速度也不过如此⋯⋯
    我真不信你能做到比MS自己的程序都快⋯⋯
      

  6.   

    RTF和HTML都是文本图片的显示排版协议,RTF更侧重于排版,HTML更侧重网页显示
    而已⋯⋯webbrowser根本就没有提取保存这么一说,本来就是分开保存的。
      

  7.   

    最近也在研究这个WebBrowser控件,思路和LZ一样,想用这个控件替代richTextBox显示消息内容。没什么好点的资料可以参考一下。楼主可以把自己的方法分享一下不?