YSTest: YSLib::Drawing::HMultiBitmap类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
类 | Public 类型 | Public 成员函数 | Public 属性 | Private 属性 | 相关函数 | 所有成员列表
YSLib::Drawing::HMultiBitmap类 参考final

多页面位图句柄：指向多页面位图数据。 更多...

`#include <Image.h>`

YSLib::Drawing::HMultiBitmap 的协作图:
[图例]

## 类

class | iterator

## Public 类型

using | DataPtr = shared_ptr< MultiBitmapData >
using | const_iterator = iterator

## Public 成员函数

| DefDeCopyCtor (HMultiBitmap) DefDeMoveCtor(HMultiBitmap) DefDeCopyAssignment(HMultiBitmap) DefDeMoveAssignment(HMultiBitmap) PDefHOp(bool
const ynothrow | ImplRet (!pages) explicit DefCvt(const ynothrow
const ynothrow | bool (pages)) size_t GetPageCount() const ynothrow
HBitmap | Lock (size_t=0) const
| HMultiBitmap (const char *, ImageDecoderFlags=ImageDecoderFlags::Default)
| 构造：使用指定 UTF-8 文件名和解码器标识。 更多...
| HMultiBitmap (const char *, ImageFormat, ImageDecoderFlags=ImageDecoderFlags::Default)
| 构造：使用指定 UTF-8 文件名、指定格式和解码器标识。 更多...
| HMultiBitmap (const char16_t *, ImageDecoderFlags=ImageDecoderFlags::Default)
| 构造：使用指定 UCS-2 文件名和解码器标识。 更多...
| HMultiBitmap (const char16_t *, ImageFormat, ImageDecoderFlags=ImageDecoderFlags::Default)
| 构造：使用指定 UCS-2 文件名、指定格式和解码器标识。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
| HMultiBitmap (const _tString &filename, ImageDecoderFlags flags=ImageDecoderFlags::Default)
| 构造：使用指定字符串文件名和解码器标识。 更多...
template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
| HMultiBitmap (const _tString &filename, ImageFormat fmt, ImageDecoderFlags flags=ImageDecoderFlags::Default)
| 构造：使用指定字符串文件名和解码器标识。 更多...

## Public 属性

const ynothrow | bool

## Private 属性

DataPtr | pages

## 相关函数

(请注意: 这些不是成员函数.)
#define | DefSwap(_q, _t)

## 详细描述

多页面位图句柄：指向多页面位图数据。

注解
  共享复制且可转移。

待办事项:
  增加使用 ImageMemory 的构造函数。

在文件 Image.h 第 471 行定义.

## 成员类型定义说明

using YSLib::Drawing::HMultiBitmap::const_iterator = iterator

在文件 Image.h 第 505 行定义.

using YSLib::Drawing::HMultiBitmap::DataPtr = shared_ptr<MultiBitmapData>

在文件 Image.h 第 474 行定义.

## 构造及析构函数说明

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const char * | filename,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

构造：使用指定 UTF-8 文件名和解码器标识。

异常

  LoggedEvent | 读取失败。

注解
  非多页面读取结果为空。

自从
  build 457

异常

  UnknownImageFormat | 未知图像格式。

在文件 Image.cpp 第 514 行定义.

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const char * | filename,
|  | ImageFormat | fmt,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

构造：使用指定 UTF-8 文件名、指定格式和解码器标识。

在文件 Image.cpp 第 517 行定义.

参考 pages.

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const char16_t * | filename,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

构造：使用指定 UCS-2 文件名和解码器标识。

异常

  UnknownImageFormat | 未知图像格式。

在文件 Image.cpp 第 524 行定义.

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const char16_t * | filename,
|  | ImageFormat | fmt,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

构造：使用指定 UCS-2 文件名、指定格式和解码器标识。

在文件 Image.cpp 第 527 行定义.

参考 pages.

template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const _tString & | filename,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

inline

构造：使用指定字符串文件名和解码器标识。

自从
  build 483

异常

  UnknownImageFormat | 未知图像格式。

在文件 Image.h 第 543 行定义.

template<class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >

YSLib::Drawing::HMultiBitmap::HMultiBitmap | ( | const _tString & | filename,
|  | ImageFormat | fmt,
|  | ImageDecoderFlags | flags = `ImageDecoderFlags::Default`
| ) |  |

inline

构造：使用指定字符串文件名和解码器标识。

在文件 Image.h 第 550 行定义.

## 成员函数说明

const ynothrow YSLib::Drawing::HMultiBitmap::bool | ( | pages |  | ) | const

YSLib::Drawing::HMultiBitmap::DefDeCopyCtor | ( | HMultiBitmap |  | ) |

const ynothrow YSLib::Drawing::HMultiBitmap::ImplRet | ( | ! | pages | ) | const

HBitmap YSLib::Drawing::HMultiBitmap::Lock | ( | size_t | i = `0` | ) | const

在文件 Image.cpp 第 542 行定义.

参考 pages.

## 友元及相关函数文档

#define DefSwap | ( |  | ynothrow,
|  |  | HMultiBitmap
| ) |  |

related

值:
PDefH(void, swap, _t& _x, _t& _y) _q \
ImplExpr(_x.swap(_y))

自从
  build 417

自从
  build 461

检测图像格式。

注解
  对于文件，若根据内容检测失败则根据扩展名判断（不保证正确性）。

自从
  build 457

注解
  使用图像内存的本机句柄和大小。
  使用指定 UTF-8 文件名。
  使用指定 UCS-2 文件名。

自从
  build 470

读取指定路径的多页面图片文件为用于直接呈现的帧序列。

注解
  非多页面读取结果为空。
  对多页面图片自动选择解码器标识（当前仅支持 GIF 格式）；其它为默认参数。

自从
  build 458

注解
  使用指定 UTF-8 文件名。
  使用指定 UCS-2 文件名。

构造：使用指定字符串文件名。

自从
  build 483

读取指定路径的图片文件为用于直接呈现的帧序列。

注解
  使用 LoadForPlaying 按多页面读取，若结果为空按单页面读取。

参见
  LoadForPlaying

自从
  build 461

在文件 Image.h 第 619 行定义.

## 类成员变量说明

const ynothrow YSLib::Drawing::HMultiBitmap::bool

在文件 Image.h 第 565 行定义.

DataPtr YSLib::Drawing::HMultiBitmap::pages

private

在文件 Image.h 第 509 行定义.

参考自 HMultiBitmap() , 以及 Lock().

该类的文档由以下文件生成:

- Image.h
- Image.cpp