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

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
YSLib::Drawing::HMultiBitmap类 参考final

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

`#include <Image.h>`

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

## Public 类型

using | DataPtr = shared_ptr< MultiBitmapData >
using | iterator = ystdex::subscriptive_iterator< const HMultiBitmap, HBitmap, ptrdiff_t, const HBitmap *, HBitmap >
using | const_iterator = iterator

## Public 成员函数

| DefDeCtor (HMultiBitmap) HMultiBitmap(const char *
| 无参数构造：默认实现。 更多...
| 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 文件名、指定格式和解码器标识。 更多...
| DefDeCopyMoveCtorAssignment (HMultiBitmap) DefBoolNeg(explicit
| bool (pages)) PDefHOp(HBitmap
size_t idx const ynothrowv | ImplRet (Lock(idx)) size_t GetPageCount() const ynothrow
HBitmap | Lock (size_t=0) const ynothrowv
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 属性

| ImageDecoderFlags = ImageDecoderFlags::Default)

## Private 属性

DataPtr | pages {}

## 相关函数

(请注意: 这些不是成员函数.)
#define | DefSwap(_q, _t)
| 图像元数据标签。 更多...

## 详细描述

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

注解
  共享复制且可转移。

警告
  非虚析构。

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

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

## 成员类型定义说明

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

自从
  build 460

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

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

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

using YSLib::Drawing::HMultiBitmap::iterator = ystdex::subscriptive_iterator<const HMultiBitmap, HBitmap, ptrdiff_t, const HBitmap*, HBitmap>

自从
  build 556

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

## 构造及析构函数说明

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

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

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

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

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

异常

  UnknownImageFormat | 未知图像格式。

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

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

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

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

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 第 636 行定义.

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 第 643 行定义.

## 成员函数说明

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

自从
  build 556

YSLib::Drawing::HMultiBitmap::DefDeCopyMoveCtorAssignment | ( | HMultiBitmap |  | ) |

YSLib::Drawing::HMultiBitmap::DefDeCtor | ( | HMultiBitmap |  | ) | const

无参数构造：默认实现。

后置条件
  `*!this` 。

自从
  build 556

后置条件
  `bool(*this)` 。

异常

  BadImageAlloc | 存储分配失败。
  std::invalid_argument | 文件打开失败。

自从
  build 457

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

异常

  UnknownImageFormat | 未知图像格式。

size_t idx const ynothrowv YSLib::Drawing::HMultiBitmap::ImplRet | ( | Lock(idx) |  | ) | const

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

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

## 友元及相关函数文档

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

related

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

图像元数据标签。

注解
  若不具有所有权则依赖特定的位图。

警告
  被依赖的位图在标签生存期内不存在则程序行为未定义。

自从
  build 556

元数据类型标识。

注解
  数值对应 FreeImage 实现的 `::FREE_IMAGE_MDTYPE` 类型。

自从
  build 556

后置条件
  `!*this` 。
  `!owns` 。

构造：使用现有数据指针。

参数

  o | 所有权标签，若为 true 取得所有权。

后置条件
  `owns == o` 。

自从
  build 557

前置条件
  断言：表示名称的指针参数非空。

后置条件
  `!owns` 。

异常

  GeneralEvent | 没有找到指定的标签。
  std::invalid_argument | 位图为空。

自从
  build 557

待办事项:
  使用 `YB_NONNULL(3)` 。

构造：使用依赖的位图指针、模型和元数据名称。

构造：使用依赖的位图、模型和元数据名称。

后置条件
  `owns` 。
  `!owns` 。

自从
  build 557
  build 557
  build 557

警告
  参数截断至 `unsigned long` 。
  参数截断至 `unsigned long` 。

释放所有权。

后置条件
  `!*this` 。

取指定类型的标签值。

警告
  不检查类型。

自从
  build 557

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

## 类成员变量说明

YSLib::Drawing::HMultiBitmap::ImageDecoderFlags = ImageDecoderFlags::Default)

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

DataPtr YSLib::Drawing::HMultiBitmap::pages {}

private

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

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

- Image.h
- Image.cpp