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

YSTest PreAlpha_b900_20201012 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 文件名、指定格式和解码器标识。 更多...
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)
| 构造：使用指定字符串文件名和解码器标识。 更多...
| DefDeCopyMoveCtorAssignment (HMultiBitmap) DefBoolNeg(explicit
| bool (pages)) PDefHOp(HBitmap
size_t idx const ynothrowv | ImplRet (Lock(idx)) YB_ATTR_nodiscard YB_PURE size_t GetPageCount() const ynothrow
YB_ATTR_nodiscard YB_PURE HBitmap | Lock (size_t=0) const ynothrowv

## Public 属性

| ImageDecoderFlags = ImageDecoderFlags::Default)

## Private 属性

DataPtr | pages {}

## 详细描述

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

注解
  共享复制且可转移。

警告
  非虚析构。

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

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

## 成员类型定义说明

## ◆ const_iterator

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

自从
  build 460

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

## ◆ DataPtr

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

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

## ◆ iterator

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

自从
  build 556

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

## 构造及析构函数说明

## ◆ HMultiBitmap() [1/5]

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

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

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

## ◆ HMultiBitmap() [2/5]

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

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

异常

  UnknownImageFormat | 未知图像格式。

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

## ◆ HMultiBitmap() [3/5]

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

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

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

## ◆ HMultiBitmap() [4/5]

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

## ◆ HMultiBitmap() [5/5]

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

## 成员函数说明

## ◆ bool()

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

自从
  build 556

## ◆ DefDeCopyMoveCtorAssignment()

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

## ◆ DefDeCtor()

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

无参数构造：默认实现。

后置条件
  `*!this` 。

自从
  build 556

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

异常

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

自从
  build 457

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

异常

  UnknownImageFormat | 未知图像格式。

## ◆ ImplRet()

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

## ◆ Lock()

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

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

引用了 YSLib::i.

## 类成员变量说明

## ◆ ImageDecoderFlags

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

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

## ◆ pages

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

private

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

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

- Image.h
- Image.cpp