拷贝图片 - CopyImage
函数简介
创建图片的完整副本。此函数可以复制一个OLAImage对象,生成一个具有相同内容的新图片对象。适用于需要在不修改原图的情况下对图片进行处理或保存的场景。
接口名称
CopyImage
DLL调用
long CopyImage(long ola, long imagePtr)
参数定义:
ola
(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。imagePtr
(长整型数): 要复制的OLAImage对象的地址
示例:
// 加载原始图片
long imagePtr = LoadImage(ola, "/OLA/pic/pic.bmp");
if (imagePtr != 0) {
// 创建图片副本
long copyPtr = CopyImage(ola, imagePtr);
if (copyPtr != 0) {
// 使用复制的图片
// ...
// 使用完后释放复制的图片内存
FreeImagePtr(ola, copyPtr);
} else {
printf("图片复制失败\n");
}
// 释放原始图片内存
FreeImagePtr(ola, imagePtr);
}
COM调用
long CopyImage(long imagePtr)
参数定义:
imagePtr
(长整型数): 要复制的OLAImage对象的地址
示例:
# 加载原始图片
imagePtr = LoadImage("/OLA/pic/pic.bmp")
if imagePtr:
# 创建图片副本
copyPtr = ola.CopyImage(imagePtr)
if copyPtr:
# 使用复制的图片
# ...
# 使用完后释放复制的图片内存
FreeImagePtr(copyPtr)
else:
messagebox("图片复制失败")
# 释放原始图片内存
FreeImagePtr(imagePtr)
返回值
长整型数: 返回复制的OLAImage对象的地址。如果复制失败返回0。
注意事项
- 原始图片指针必须有效,否则可能导致程序异常
- 复制的图片与原图完全相同,包括尺寸和内容
- 复制后的图片与原图完全独立,修改一个不会影响另一个
- 复制的图片使用完后需要调用 FreeImagePtr 接口释放内存
- 原始图片的内存需要单独释放,不会自动释放
- 建议在复制大图片时注意内存使用
- 如果原始图片指针无效,函数将返回0
- 复制操作会占用额外的内存空间,请确保系统有足够的内存
- 建议在复制前检查原始图片是否成功加载
- 如果复制失败,请检查原始图片指针是否有效