网上找到的用xml传输图片

先记下来,试过后如果可用,就保留下来。


用到ZLIB和base64

Procedure StrToBmpStream(v: OleVariant; Var Stream: TMemoryStream);
Var
  Str: String;
  MS1: TStringStream;
  MS2: TMemoryStream;
Begin
  If VarIsNull(v) Then Exit;
  Str := VarToStr(v);
  If Str = '' Then Exit;
  MS1 := TStringStream.Create(Str);
  MS2 := TMemoryStream.Create;
  Base64DeCodeStream(MS1, MS2);
  MS2.Position := 0;
  ZDecompressStream(MS2, Stream);
  Stream.Position := 0;
  FreeAndNil(MS2);
  FreeAndNil(MS1);
End;

Function BmpStreamToStr(Stream: TMemoryStream): String;
Var
  MS1: TMemoryStream;
  MS2: TStringStream;
Begin
  MS1 := TMemoryStream.Create;
  MS2 := TStringStream.Create('');
  Stream.Position := 0;
  ZCompressStream(Stream, MS1, zcMax);
  MS1.Position := 0;
  Base64EnCodeStream(MS1, MS2);
  Result := MS2.DataString;
  FreeAndNil(MS2);
  FreeAndNil(MS1);
End;


        ms := TMemoryStream.Create;
        StrToBmpStream('这里是BASE64编码的字符', ms);
image1.Picture.Bitmap.LoadFromStream(ms);


  MS.Clear;
  image1.Picture.Bitmap.SaveToStream(MS);
  str:=BmpStreamToStr(MS)
 将字符保存到XML即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将导入的图片中颜色相同的点的范围写入xml。 使用说明: 2.2.1 默认 系统窗体根据配置文件显示当前时间应关闭的区域。 注:可在界面下方的表格中修改关闭区域的相关信息,按【Enter】键完成修改,相关信息将在打印时显示。 2.2.2 临时区域 a) 在下拉列表框中(或鼠标左键单击图片中需关闭的区域)选择关闭区域或机位,系统窗体显示临时关闭的区域。 b) 在图片中的关闭区域单击鼠标右键(或双击工具栏中列表框中的滑行道、机位等,或在工具栏中的列表框中选择删除区域,单击鼠标右键选择【删除该区域】),取消所选关闭区域。 c) 在工具栏中的列表框中选择区域,单击鼠标右键选择【修改区域名】,在标签“请输入新的区域名称”下方的下拉列表框中输入新的区域名称,按【Enter】键,当列表框中所选区域名改变时,此修改操作完成。 注:1.选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.可如c)修改区域名称。 2.2.3 配置计划 2.2.3.1 重新配置 删除配置文件中所有已有关闭区域的信息。以便于重新配置。 2.2.3.2 增加配置 增加新的关闭区域配置。 a) 配置开始时间和结束时间。 b) 用户可在下拉列表框中(或在图片中单击鼠标左键)选择关闭区域或机位,亦可点击【导入时间段】按钮,复制已有的配置信息。 c) 点击【增加时间段】按钮,将当前配置的关闭区域作为新的时间段添加到配置文件中。 d) 删除关闭区域:在工具栏的列表框中选择删除区域并双击鼠标左键,或单击鼠标右键选择【删除该区域】,亦或在图形界面上双击鼠标右键删除关闭区域。 e) 点击【保存】按钮,保存当前配置的区域信息,并进入下一新增区域配置。 f) 点击【返回】按钮,完成该操作。 注:选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则选择且界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.2.3.3 修改配置 修改已有的关闭区域的配置信息。 a) 点击【增加时间段】按钮,增加新的时间段,以便于在不同时间关闭其他区域。 b) 点击【删除时间段】按钮,删除已有的时间段。 c) 点击【保存】按钮,保存修改后的配置信息。 d) 点击【清空】按钮,清除当前显示的关闭区域。 e) 在工具栏的列表框中选择区域,单击鼠标右键选择【修改区域名】,在标签“请输入新的区域名称”下方的下拉列表框中输入新的区域名称,按【Enter】键,当列表框中所选区域名改变时,此修改操作完成。 f) 点击【返回】按钮,完成该操作。 注:1.选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则选择且界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.当选择时间段号后,可在图形界面上进行选择操作,否则鼠标无法选择关闭区域。 2.2.3.4 删除配置 在下拉列表框中选择要删除第几天的区域,点击【删除】按钮,删除所选区域的相关配置信息。 2.2.3.5 查询配置 选择区域下拉列表框中的数据,显示该天所有时间段的关闭区域。选择时间段下拉列表框的数据,显示该时间段的关闭区域,并显示开始时间及结束时间。 2.2.3.6 设置开始日期 选择日期作为“第1天”区域的开始日期,系统根据日期循环显示关闭区域。 2.2.4 全部区域 显示所有可以关闭的区域。 2.2.5 日期查询 选择“开始日期”以后的日期,显示该天的所有时间段的相关信息。 2.2.6 背景颜色 点击【背景颜色】按钮,可选择背景颜色。 2.2.7 打印 打印当前显示的关闭区域、相关信息和备注。 注:1.选择【纸张类型】及【方向】。 2.当图形界面下方表格中的【关闭区域】列中的信息过长时将无法完全打印,请适当修改区域名称或手动剪切部分信息至新的一行。 2.2.8 备注 编写“备注”的文本信息。 注:在“备注”框上,按住鼠标左键,“备注”随鼠标移动。 配置说明: Data文件夹包含Area_Show.xml、Areas_Config.xml、ColorRange.xml三个文档。 说明如下: Area_Show.xml为 CloseAreas.exe生成的配置文件,用于记录关闭区域的相关信息。 Areas_Config.xml记录位图“浦东机场(副本1).bmp”中不同颜色所对应的区域名称。 例: <Area> <Name>1</Name> //区域名称为:(机位)1 <Color>ff0101e7</Color> //位图上的所对应的颜色名称。 <RGB>1,1,231</RGB> //位图上所对应颜色的RGB值。 </Area> 。。。。。。 <Area> <Name>A2(不含)-B1(不含)/B</Name> //区域名称:(跑道)A2(不含)-B1(不含)/B <Color>ff02ac04</Color> //位图上的所对应的颜色名称。 <RGB>2,172,4</RGB> //位图上所对应颜色的RGB值。 </Area> 。。。。。。 <Area> //多块区域构建组合区域 <Name>滑边</Name> //区域名称:(别名)滑边 <Color>ff6e7fff</Color> //同时显示多块区域时, <Color>ff6f80ff</Color> //将各区域对应的颜色名称写入此处。 <Color>ff8073ff</Color> <Color>ff7080ff</Color> 。。。。。。 </Area> ColorRange.xml为Write_Config.exe生成的配置文件,用于记录位图“浦东机场(副本1).bmp”中不同颜色的范围。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值