WP8.1环境中 我通过 RichEditBox.Document.GetRange().InsertImage()方法 将图片插入到RichEditBox 中 然后通过 SaveToStream 写入到.rtf 文件中 ,但是我通过 LoadFromStream 加载这个 rtf 文档后,RichEditBox 显示为空白 ,如果不插入图片 ,可以把纯文本写入 rtf 并且可以正常加载 。请问插入图片后应该如何保存 和 加载呢 ?谢谢
请将图片二进制流用base64加密后再插入,以下是伪代码:
$image = "image.jpg";
$data = file_get_contents($image); //base64 encode
$size = filesize($image);
.....
print "{\\*\\shppict{\\pict\\jpegblip\\bin$size $data}}";
谢谢你的答复 ,可是RichEditBox.Document.GetRange().InsertImage() 这个方法的参数是
void InsertImage(
int width,
int height,
int ascent,
VerticalCharacterAlignment verticalAlign,
string alternateText,
IRandomAccessStream value
) ,传入的参数是文件流 , 无法进行编码呀 ,而且此时 我插入的图片是可以正常显示在在RichEditBox中的,情况是在调用RichEditBox.Document.SaveToStream()方法保存后 ,再次加载这个文档时 RichEditBox中 既没有文字 也没有 图片 ,这个编码过程应该在哪个过程进行呢?
@多夢的歲月:
rtf文件本质上就是一个文本文件而已,不信你用记事本打开一个RTF文件试试 。
你保存后的RTF文件用其它软件打开可以看到图片吗?如果可以的话,可能是你加载文档的方式有问题。
@XiaoFaye: 谢谢你的建议 ,为了获得保存的文档,我用真机测试 发现之前的方法是可行的,不能加载估计是模拟器的BUG . . . . . . .