bitmapproviderimpl.pas
来自「Delphi开发webservice的一套例子」· PAS 代码 · 共 59 行
PAS
59 行
unit BitmapProviderImpl;
interface
uses
BitmapProviderIntf, InvokeRegistry, Classes, EncdDecd;
type
TBitmapProvider = class(TInvokableClass, IBitmapProvider)
private
function GetBitmapFile(const sBtName: String) : String;
function MakeBitmpIntoString(const sFileName: String) : String;
public
function GetBitmap(const sBtName : String) : String; stdcall;
end;
implementation
{ TBitmapProvider }
function TBitmapProvider.GetBitmap(const sBtName: String): String;
var
sFileName : String;
begin
sFileName := GetBitmapFile(sBtName);
Result := MakeBitmpIntoString(sFileName);
end;
function TBitmapProvider.GetBitmapFile(const sBtName: String): String;
begin
//Make it simple and fast, this is just a demo
Result := 'GordonLi1.JPG';
if (sBtName = 'Gordon2') then
Result := 'GordonLi2.JPG';
end;
function TBitmapProvider.MakeBitmpIntoString(
const sFileName: String): String;
var
ass : TStringStream;
ams : TMemoryStream;
begin
ams := TMemoryStream.Create;
ass := TStringStream.Create('');
try
ams.LoadFromFile(sFileName);
ams.SaveToStream(ass);
Result := EncodeString(ass.DataString);
finally
ams.Free;
ass.Free;
end;
end;
initialization
InvRegistry.RegisterInvokableClass(TBitmapProvider);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?