YSTest: YSLib::Drawing::ImageMemory类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

图像内存对象；保存图像内容的数据缓冲对象。 更多...

`#include <Image.h>`

## 类

class | Deleter

## Public 类型

using | NativeHandle = ::FIMEMORY *
using | Buffer = vector< octet >

## Public 成员函数

| ImageMemory (const HBitmap &, ImageFormat=ImageFormat::BMP, ImageDecoderFlags=ImageDecoderFlags::Default)
| 构造：从现有图像打开。 更多...
| ImageMemory (Buffer)
| 构造：打开指定的内存缓冲区。 更多...
| ImageMemory (Buffer, ImageFormat)
| 构造：以指定格式打开指定的内存缓冲区。 更多...
template<typename _func >
| ImageMemory (_func f)
| 构造：新建并打开内存缓冲区。 更多...
template<typename _func >
| ImageMemory (_func f, ImageFormat fmt)
| 构造：以指定格式新建并打开内存缓冲区。 更多...
| DefDelMoveCtor (ImageMemory) DefDeDtor(ImageMemory) DefGetter(const ynothrow
const Buffer buffer | DefGetter (const ynothrow, ImageFormat, Format, format) DefGetter(const ynothrow

## Public 属性

const Buffer | Buffer
const Buffer buffer | NativeHandle

## Private 属性

Buffer | buffer
ImageFormat | format
unique_ptr_from< Deleter > | p_memory

## 详细描述

图像内存对象；保存图像内容的数据缓冲对象。

注解
  仅当新建缓冲区时可访问缓冲区数据。

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

## 成员类型定义说明

## ◆ Buffer

using YSLib::Drawing::ImageMemory::Buffer = vector<octet>

自从
  build 470

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

## ◆ NativeHandle

const Buffer buffer YSLib::Drawing::ImageMemory::NativeHandle

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

## 构造及析构函数说明

## ◆ ImageMemory() [1/5]

YSLib::Drawing::ImageMemory::ImageMemory | ( | const HBitmap & | ,
|  | ImageFormat | = `ImageFormat::BMP`,
|  | ImageDecoderFlags | = `ImageDecoderFlags::Default`
| ) |  |

explicit

构造：从现有图像打开。

异常

  GeneralEvent | 打开内存缓冲区失败。

注解
  需要校验图像格式正确。

自从
  build 470

后置条件
  `GetBuffer()`.empty() 。

异常

  BadImageAlloc | 创建内存数据结构失败。
  GeneralEvent | 图像为空。
  GeneralEvent | 图像保存到缓冲区失败。
  UnknownImageFormat | 未知图像格式。

警告
  内部缓冲区大小截断至 `unsigned` 。

## ◆ ImageMemory() [2/5]

YSLib::Drawing::ImageMemory::ImageMemory | ( | Buffer | buf | ) |

构造：打开指定的内存缓冲区。

后置条件
  `!GetBuffer().empty()` 。

异常

  GeneralEvent | 缓冲区大小等于 0 。
  GeneralEvent | 打开内存缓冲区失败。

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

引用了 buffer, YSLib::Drawing::ImageCodec::DetectFormat(), format , 以及 YSLib::Drawing::Unknown.

函数调用图:

## ◆ ImageMemory() [3/5]

YSLib::Drawing::ImageMemory::ImageMemory | ( | Buffer | buf,
|  | ImageFormat | fmt
| ) |  |

构造：以指定格式打开指定的内存缓冲区。

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

引用了 YSLib::Text::buf.

## ◆ ImageMemory() [4/5]

template<typename _func >

YSLib::Drawing::ImageMemory::ImageMemory | ( | _func | f | ) |

inline

构造：新建并打开内存缓冲区。

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

## ◆ ImageMemory() [5/5]

template<typename _func >

YSLib::Drawing::ImageMemory::ImageMemory | ( | _func | f,
|  | ImageFormat | fmt
| ) |  |

inline

构造：以指定格式新建并打开内存缓冲区。

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

## 成员函数说明

## ◆ DefDelMoveCtor()

YSLib::Drawing::ImageMemory::DefDelMoveCtor | ( | ImageMemory |  | ) | const

自从
  build 461
  build 470

## ◆ DefGetter()

const Buffer buffer YSLib::Drawing::ImageMemory::DefGetter | ( | const | ynothrow,
|  | ImageFormat | ,
|  | Format | ,
|  | format |
| ) |  | const

## 类成员变量说明

## ◆ buffer

Buffer YSLib::Drawing::ImageMemory::buffer

private

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

被这些函数引用 ImageMemory().

## ◆ Buffer

const Buffer YSLib::Drawing::ImageMemory::Buffer

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

## ◆ format

ImageFormat YSLib::Drawing::ImageMemory::format

private

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

被这些函数引用 ImageMemory().

## ◆ NativeHandle

const Buffer buffer YSLib::Drawing::ImageMemory::NativeHandle

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

## ◆ p_memory

unique_ptr_from<Deleter> YSLib::Drawing::ImageMemory::p_memory

private

自从
  build 713

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

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

- Image.h
- Image.cpp