# include“l_bitmap.h”
L_LTANN_APIL_INTL_AnnSaveMemory (hObject、uFormat fSelected、phMem puMemSize, pSaveOptions)
保存指定的注释文件在内存中。
包括所有对象处理根注释对象保存在文件中。这通常是一个容器对象。
为保存注释数据格式。可能的值是:
价值 | 意义 |
---|---|
ANNFMT_EMF | [0 x0006]使用Windows EMF格式。 |
ANNFMT_ENCODED | [0 x0004]另存为一个二进制格式。注意:这个格式已经被ANNFMT_XML取代,不再支持。 |
ANNFMT_NATIVE | [0 x0000]使用铅的格式的注释。注意:这个格式已经被ANNFMT_XML取代,不再支持 |
ANNFMT_TIFFTAG | [0 x0002]保存所有注释属性,包括那些不支持的王规范作为ANNTAG_TIFF标签。 |
ANNFMT_WANGTAG | [0 x0003]王只保存注释支持的属性规范作为ANNTAG_TIFF标签。 |
ANNFMT_WMF | [0 x0001]使用Windows WMF格式。 |
ANNFMT_XML | [0 x0005]保存为XML文本格式。这是导致新的向上兼容的基于文本的格式。它应该用来代替ANNFMT_NATIVE。 |
国旗表明哪些对象来保存。可能的值是:
价值 | 意义 |
---|---|
真正的 | 保存所有的对象有选中的属性设置为TRUE。为获取和设置选中的属性,使用L_AnnGetSelected和L_AnnSetSelected功能。 |
假 | 只保存指定的对象。 |
一个变量的地址更新内存处理。这个函数使用处理分配的内存。它解锁的内存完成后保存。
一个变量的地址更新文件的大小。
指针指向一个SAVEFILEOPTION结构,其中包含可选的扩展保存选项。此信息用于添加注释页面或替换一个多页注释页注释文件。通过零保存一个一页注释文件。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
在version 15.0中,基于文本的格式ANNFMT_XML取代ANNFMT_NATIVE ANNFMT_ENCODED。注意,ANNFMT_NATIVE和ANNFMT_ENCODED不再支持选项L_AnnSave,L_AnnSaveOffset,L_AnnSaveMemory。
为了向后兼容,这个最新版本的LEADTOOLS可以读取中断的格式(ANNFMT_NATIVE和ANNFMT_ENCODED)使用以下功能:
ANNFMT_XML格式提供了许多优势年长的注释格式:
保存注释WMF格式只在另一个应用程序使用。只在本机格式LEADTOOLS读取注释。
保留缩放和定位信息,这个函数总是保存根容器,以及指定的对象或选中的对象。使用hObject
和fSelected
参数如下:
ANNFMT_TIFFTAG和ANNFMT_WANGTAG可以保存在一个TIFF文件使用L_SetTag随着uTag ANNTAG_TIFF和uType TAG_BYTE。
检测是否TIF文件注释信息,你应该打电话L_ReadFileTag,看看ANNTAG_TYPE存在。
如果uFormat
ANNFMT_XML,phMem
更新内存处理注释文件在内存中。
如果uFormat ANNFMT_TIFFTAG或ANNFMT_WANGTAG phMem更新内存处理标签。
如果你节省内存处理气管无名动脉瘘管的标签或王格式,使用L_AnnSaveMemory,您必须编写内存处理标签到一个文件中使用L_SetTag和L_SaveBitmapMemory之前,你可以使用负载L_AnnLoadMemory函数。
如果这个函数返回成功和phMem更新为空,没有注释对象来保存。
中的信息SAVEFILEOPTION结构可以用来添加新页面或替换现有的页面在一个多页注释ANNFMT_XML类型的文件。注意所有的页面注释ANNFMT_XML多页文件必须所有类型。一个注释文件不能包含页不同的格式类型。
插入新页注释多页文件:
替换现有页面在一个注释多页文件:
从一个注释多页文件,删除一个页面使用L_AnnDeletePage,L_AnnDeletePageMemory,L_AnnDeletePageOffset。
当添加或替换一个注释页面在一个现有的内存文件,通过一个有效的地址HGLOBAL hMem(非零)。当创建一个新的内存文件,声明一个变量的类型HGLOBAL并将其设置为零之前L_AnnSaveMemory的地址。
必需的dll和库
x64 Win32。
另一个例子,请参考L_AnnFileInfoMemory。
L_INT AnnSaveMemoryExample (HWND HWND, HANNOBJECT hContainer)
{
HANNOBJECT TmpContainer;/ *注释* /临时容器
HGLOBAL hTag;/ * * /内存处理
L_SIZE_T zMemSize;/ *内存中的数据的大小* /
L_UCHAR * pData;/ *指针指向内存中的数据* /
L_INT nRet;
HDC HDC;
矩形rAnnBounds;
矩形rAnnBoundsName;
* / / *加载初始注释
nRet = L_AnnLoad (MAKE_IMAGE_PATH(文本(“cannon.ann”))、&TmpContainer零);
如果(nRet ! =成功)
返回nRet;
/ *注释为TIFF标签保存在内存* /
hTag = 0;
nRet = L_AnnSaveMemory (TmpContainer ANNFMT_TIFFTAG,假,&hTag &zMemSize, NULL);
如果(nRet ! =成功)
返回nRet;
/ *获取指针指向的内存驻留标记* /
pData = (L_UCHAR *) GlobalLock (hTag);
/ *设置标签保存为位图时TIFF,标记
也救了* /
nRet = L_SetTag (ANNTAG_TIFF、TAG_BYTE (L_UINT) zMemSize pData);
如果(nRet ! =成功)
返回nRet;
L_AnnDestroy (TmpContainer ANNFLAG_RECURSE);
/ *从内存加载新文件* /
nRet = L_AnnLoadMemory (pData zMemSize &TmpContainer, NULL);
如果(nRet = =成功)
{
/ *插入注释的主要容器,hContainer,所以他们将活跃。* /
nRet = L_AnnInsert (hContainer TmpContainer,真的);
如果(nRet ! =成功)
返回nRet;
hdc = GetDC (hWnd);
nRet = L_AnnGetBoundingRect (hContainer &rAnnBounds &rAnnBoundsName);
如果(nRet ! =成功)
返回nRet;
nRet = L_AnnDraw (hdc &rAnnBounds hContainer);
如果(nRet ! =成功)
返回nRet;
ReleaseDC (hWnd, hdc);
}
其他的
返回nRet;
L_AnnDestroy (TmpContainer ANNFLAG_RECURSE);
/ * * /清理干净
GlobalUnlock (hTag);
GlobalFree (hTag);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。