三、COM组件接口设计
前面我们在输入文本后,在程序中创建设备上下文,对输入 的文本进行计算并输出了指定文件名的位图文件,在本设计中,我们使用了以JPEG压缩格式 存储文件的方式以减小网络传输时间,因jpeg压缩方法的论述已超出本文范围,故在此不再 赘述。
为了让其他语言调用此接口,我们以 COM 组件的方式发布此程序,可供 VB,DELPHI,PB,ASP等程序调用,下面给出COM组件的设计方法,一般COM组件的创建及编译超 出本文范围,故不再作解释。
在组件中清加方法:
STDMETHOD(OutTextImg) (/*[out, retval]*/ long *pVal);ltvalue(500)] long lWeight,
[in,optional,defaultvalue(0)] long l3D);
和
STDMETHOD(OutImg) (BSTR bstrFileName, long lDelFile);
分别实现处理文件本保存为图像及把图像输 出到用户浏览器。实现代码如下:
STDMETHODIMP CAspImage::OutImgFromText(BSTR bstrFilePath,
BSTR bstrText,
BSTR bstrBgImg,
long lCSet,
BSTR bstrFont,
long lWidth,
long lHeight,
long lLeft,
long lTop,
long llfHeight,
long lWeight,
long l3D)
{
CImg img;
try{
if(0 == img.OutImgFromText(
bstrFilePath,
bstrText,
bstrBgImg,
lCSet,
bstrFont,
lWidth,
lHeight,
lLeft,
lTop,
llfHeight,
lWeight,
l3D))
{
return S_OK;
}
else
{
return S_FALSE;
}
}
catch(...)
{
return S_FALSE;
}
return S_OK;
/**/
}