宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

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

 

版权声明: