openslide api函数概要

openslide格式封装:

typedef struct_openslide openslide_t;

struct _openslide{

const struct _openslide_ops *ops;

struct _openslide_level **levels;

void *data;

int32_t level_count;

// associated images

GHashTable *associated_images;  // created automatically

const char **associated_image_names; //filled in automatically from hashtable

// metadata

GHashTable *properties; // createdautomatically

const char **property_names; // filled inautomatically from hashtable

// cache

struct _openslide_cache *cache;

// error handling, NULL if no error

gpointer error; // must use g_atomic_pointer!

};

API函数:

1.

bool  openslide_can_open    (    constchar *      filename  )

参数:filename  需要检查的文件名

作用:

如果openslide_open()函数可以返回一个有效的openslide_t文件,openslide_can_open返回true,否则返回false

一般不需要用此函数

2.

openslide_t* openslide_open (    const char *      filename  )

作用:打开切片文件

参数:    filename需要打开的文件名

返回值:如果成功返回一个openslide_t文件指针

3.

void openslide_get_level_dimensions    (    openslide_t*    osr,

int32_t   level,

int64_t *      w,

int64_t *      h

)

作用:得到某一级图像的尺度

参数:osr     OpenSlide文件

level    指定的级数

w 输出指向该级图像宽度的指针,输出-1如果出错

h   输出指向该级图像高度的指针

4.

const char* openslide_get_error (    openslide_t *    osr )

作用:得到当前的错误信息,如果返回了一个非NULL值则说明出错,应调用openslide_close()释放资源

参数:osr   openslide_t文件指针

返回值:描述错误信息的字符串,无措则返回NULL

5.

void openslide_close    (    openslide_t *    osr )

作用:关闭openslide_t文件

参数:osr  文件指针

6. const char* openslide_get_property_value  (    openslide_t*osr,      const char *     name

)

作用:得到想要的切片信息

参数:osr     指定文件

name      想要得到的信息,必须为指定下列宏定义:

#define OPENSLIDE_PROPERTY_NAME_COMMENT   "openslide.comment"

切片评论

#define OPENSLIDE_PROPERTY_NAME_VENDOR   "openslide.vendor"

切片提供商

#define OPENSLIDE_PROPERTY_NAME_QUICKHASH1   "openslide.quickhash-1"

"quickhash-1"的值

#define OPENSLIDE_PROPERTY_NAME_BACKGROUND_COLOR   "openslide.background-color"

切片的背景色

#define OPENSLIDE_PROPERTY_NAME_OBJECTIVE_POWER   "openslide.objective-power"

。。。这个不懂

#define OPENSLIDE_PROPERTY_NAME_MPP_X   "openslide.mpp-x"

Level 0尺度下x方向上每个像素的毫米数

#define OPENSLIDE_PROPERTY_NAME_MPP_Y   "openslide.mpp-y"

Level 0尺度下y方向上每个像素的毫米数

#define OPENSLIDE_PROPERTY_NAME_BOUNDS_X   "openslide.bounds-x"

切片非空区域起始处x坐标

#define OPENSLIDE_PROPERTY_NAME_BOUNDS_Y   "openslide.bounds-y"

切片非空区域起始处y坐标

#define OPENSLIDE_PROPERTY_NAME_BOUNDS_WIDTH   "openslide.bounds-width"

非空矩形区域的宽度

#define OPENSLIDE_PROPERTY_NAME_BOUNDS_HEIGHT   "openslide.bounds-height"

非空矩形区域的高度

7.

const char* openslide_get_comment    (    openslide_t*    osr )

作用:得到切片的评价信息

参数:osr    文件指针

返回值:返回评论字符串

8.

void openslide_read_associated_image (    openslide_t*    osr,  const char *       name,

uint32_t *    dest

)

作用:提取切片的附属图像到目标内存,目标内存的最小容量为4*width*height,width和height通过openslide_get_associated_image_dimensions()函数获得

参数:osr     切片文件

dest  要ARGB的数据的目标地址

name      想要获取的附属图像的名字,通过 openslide_get_associated_image_names()函数获得。

9.

void openslide_get_associated_image_dimensions    (    openslide_t*    osr,

const char *      name,

int64_t *      w,

int64_t *      h

)

作用:取得切片附属图像的尺寸,得到尺寸后用openslide_read_associated_image()读取附属图像。

参数:

osr   切片文件

name  附属切片的名字,名字由openslide_get_associated_image_names()函数获得

w   保存获得的附属图像的宽度,如果出错为-1

h   保存获得的附属图像的高度,如果出错为-1

10.

const char* const*openslide_get_associated_image_names    (    openslide_t *       osr )

作用:获得存取附属图像名字的数组

参数:osr     切片文件

返回值:成功返回名字数组,出错则返回空数组

11.

void openslide_read_region   (    openslide_t *    osr,

uint32_t *    dest,

int64_t   x,

int64_t   y,

int32_t   level,

int64_t   w,

int64_t   h

)

作用:提取整个切片的ARGB数据到目标内存,dest的容量最小为w*h*4,如果出错,目标内存会被清理掉。

参数:

osr    切片文件.

dest    存放 ARGB data的内存起始地址

x    左上角x坐标, 在level 0 级别

y    左上角y坐标, 在level 0 级别

level   Thedesired level.

w   非空区域的宽度

h   非空区域的高度

12.

double openslide_get_level_downsample  (    openslide_t*    osr,

int32_t   level

)

作用:获得指定级别图像的缩小倍数

参数:osr     切片文件

level  所指定的级别

返回值:成功返回缩小倍数,出错或level超出范围返回-1

13. int32_t openslide_get_level_count  (    openslide_t*    osr )

作用:获得切片总共有几个level

参数:osr  切片文件

返回值:成功返回level的数目,出错返回-1

14. int32_t openslide_get_best_level_for_downsample  (    openslide_t*    osr,

double    downsample

)

作用:得到指定缩放倍数的最佳级别来显示缩放

参数:osr     切片文件

downsample     缩小倍数

返回值:成功返回最佳级别数,出错返回-1

时间: 2024-11-07 05:38:50

openslide api函数概要的相关文章

使用 Codec Engine 的 API 函数(四)

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教. Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D) <Codec Engine 应用开发使用手册>           http://blog.csdn.net/dyzok88/article/details/42154487 <第一章 Codec Engine 概

使用 Codec Engine 的 API 函数(三)

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教. Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D) <Codec Engine 应用开发使用手册>           http://blog.csdn.net/dyzok88/article/details/42154487<第一章 Codec Engine 概要

使用 Codec Engine 的 API 函数(二)

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教. Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D) <Codec Engine 应用开发使用手册>           http://blog.csdn.net/dyzok88/article/details/42154487 <第一章 Codec Engine 概

使用 Codec Engine 的 API 函数

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教. Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D) <Codec Engine 应用开发使用手册>           http://blog.csdn.net/dyzok88/article/details/42154487 <第一章 Codec Engine 概

使用 Codec Engine 的 API 函数(八)

本文翻译自TI的手册,该手册是学习GPP+DSP开发的金典文档,希望对各位入门有所帮助,有理解不当之处望请赐教. Codec Engine Application Developer User's Guide.pdf (Literature Number: SPRUE67D) <Codec Engine 应用开发使用手册>              http://blog.csdn.net/dyzok88/article/details/42154487 <第一章 Codec Engin

hash算法搜索获得api函数地址的实现

我们一般要获得一个函数的地址,通常采用的是明文,例如定义一个api函数字符串"MessageBoxA",然后在GetProcAddress函数中一个字节一个字节进行比较.这样弊端很多,例如如果我们定义一个杀毒软件比较敏感的api函数字符串,那么可能就会增加杀毒软件对我们的程序的判定值,而且定义这些字符串还有一个弊端是占用的字节数较大.我们想想如何我们的api函数字符串通过算法将它定义成一个4字节的值,然后在GetProcAddress中把AddressOfNames表中的每个地址指向的

Delphi获取当前系统时间(使用API函数GetSystemTime)

在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书”)第89页专门介绍了两种获取当前系统时间的方法,但这两种方法都存在不足或错误,以下就此进行讨论. 该书第一种方法是利用Time()函数获得当前系统时间,返回结果是TDateTime结构类型的变量.例如: procedure TForm1.Button2Click(Sender: TObject); var D

Delphi使用Windows API函数AnimateWindow实现窗体特效

{**********************************************************************API函数 AnimateWindow 使用:函数功能:窗体显示和隐藏时产生特殊的动画效果:可以产生两种类型的动画效果:          滚动动画 和 滑动动画函数原型:BOOL AnimateWindow(HWND hWnd, DWORD dwTime, DWORD dwFlags)参数说明:hWnd 指定产生动画效果的窗体的句柄:          

Vb.net/VB 声明API函数实现父窗体功能

回顾第一次敲机房收费,自己调用了api函数实现了父窗体及其子窗体最小化的功能,如今再次遇到,自己就在思考,能不能继续使用API函数呢?答案当然是Of Course! 其实仔细看两者并没有多大的区别,先看看在vb.net中如何调用: 首先添加一个类模块,来封装此API函数: <span style="font-size:14px;"> Public Declare Function SetParent Lib "<span style="color: