热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将BitMap转换为字符串而不换行?

如何解决《将BitMap转换为字符串而不换行?》经验,为你挑选了1个好方法。

在某处我找到了将BitMap转换为字符串的代码:

function Base64FromBitmap(Bitmap: TBitmap): string;
var
  Input: TBytesStream;
  Output: TStringStream;
begin
  Input := TBytesStream.Create;
  try
    Bitmap.SaveToStream(Input);
    Input.Position := 0;
    Output := TStringStream.Create('', TEncoding.ASCII);
    try
      Soap.EncdDecd.EncodeStream(Input, Output);
      Result := Output.DataString;
    finally
      Output.Free;
    end;
  finally
    Input.Free;
  end;
end;

但是,这会给回一块包裹的线条.是否可以获得一条没有换行符的单行?



1> Remy Lebeau..:

Soap.EncdDecd.EncodeStream()是硬编码的,每75个字符输出一次换行符.更改它的唯一方法是复制Soap.EncdDecd.pas,编辑它,然后将副本添加到项目中(如果您的项目启用了运行时包,则此方法不起作用).

您可以使用Indy的TIdEncoderMIME课程作为替代.它不输出换行符:

uses
  ..., IdCoderMIME;

function Base64FromBitmap(Bitmap: TBitmap): string;
var
  Input: TMemoryStream;
begin
  Input := TMemoryStream.Create;
  try
    Bitmap.SaveToStream(Input);
    Input.Position := 0;
    Result := TIdEncoderMIME.EncodeStream(Input);
  finally
    Input.Free;
  end;
end;


推荐阅读
author-avatar
豬仔珊珊_114
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有