YSTest: YSLib::Drawing::ImagePages类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

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

图像页面集。 更多...

`#include <ImageProcessing.h>`

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

## Public 成员函数

| DefDeMoveCtor (ImagePages) DefDeMoveAssignment(ImagePages) DefGetterMem(const ynothrow
const vector< HBitmap > cache index | DefGetter (const ynothrow, ImageScale, Scale, scale) DefGetter(const ynothrow
const vector< HBitmap > cache index const Size view_size void | AdjustOffset (const Size &)
void | Resize (const Size &)
bool | SwitchPage (size_t)
| PDefH (bool, SwitchPageDiff, ptrdiff_t diff) ImplRet(SwitchPage(size_t(ptrdiff_t(index)+diff)%GetCount())) bool Zoom(float

按指定的比例变化量和偏移量缩放。

异常

  std::invalid_argument | 异常中立：由 ZoomTo 抛出。

更多...

const Point &bool | ZoomByRatio (float, const Point &, float=0.F)

按指定的相对比例、偏移量和允许的误差缩放。

异常

  std::invalid_argument | 异常中立：由 ZoomTo 抛出。

更多...

bool | ZoomTo (float, const Point &)
| 按指定的绝对比例和偏移量缩放。 更多...
template<typename _type , yimpl(typename=ystdex::exclude_self_t< ImagePages, _type >) >
| ImagePages (const _type &path, const Size &min_size, const Size &max_size, ImageScale init_scale={})
| 构造：使用指定路径、显示区域下限、显示区域上限和起始缩放比例。 更多...
| ImagePages (ZoomedImageCache &&, const Size &, const Size &, ImageScale)
| 构造：使用指定缓存、显示区域下限、显示区域上限和起始缩放比例。 更多...

## Public 属性

ImageScale | MinScale {.1F}
ImageScale | MaxScale {16.F}
ImageBrush | Brush {}
const vector< HBitmap > | Bitmaps
const vector< HBitmap > cache index const Size | ViewSize

## Private 成员函数

void | LoadContent ()

## Private 属性

size_t | index = 0
ZoomedImageCache | cache
Size | base_size
| 图像基础大小。 更多...
ImageScale | scale
| 缩放比例。 更多...
Size | view_size {}
const vector< HBitmap > cache | size_t
const vector< HBitmap > cache | Index
const vector< HBitmap > cache | DefGetter (const ynothrow, size_t, Count, cache.GetBitmaps().size()) DefGetter(const ynothrow

## 详细描述

图像页面集。

警告
  若 MinScale 不小于 MaxScale 则可能引起未定义行为。
  若缩放比例小于 MaxScale 或 MaxScale 小于缩放比例则不保证状态符合预期。
  非虚析构。

自从
  build 555

在文件 ImageProcessing.h 第 112 行定义.

## 构造及析构函数说明

template<typename _type , yimpl(typename=ystdex::exclude_self_t< ImagePages, _type >) >

YSLib::Drawing::ImagePages::ImagePages | ( | const _type & | path,
|  | const Size & | min_size,
|  | const Size & | max_size,
|  | ImageScale | init_scale = `{}`
| ) |  |

inline

构造：使用指定路径、显示区域下限、显示区域上限和起始缩放比例。

前置条件
  断言：区域上限严格非空。
  断言：区域下限分量不大于区域上限分量。

注解
  若起始缩放比例小于下限则由图像大小计算。

在文件 ImageProcessing.h 第 148 行定义.

YSLib::Drawing::ImagePages::ImagePages | ( | ZoomedImageCache && | c,
|  | const Size & | min_size,
|  | const Size & | max_size,
|  | ImageScale | init_scale
| ) |  |

构造：使用指定缓存、显示区域下限、显示区域上限和起始缩放比例。

在文件 ImageProcessing.cpp 第 72 行定义.

参考 CatchIgnore, YSLib::Drawing::GetLogicalSizeOf(), TryRet , 以及 YSLib::YAssert().

函数调用图:

## 成员函数说明

void YSLib::Drawing::ImagePages::AdjustOffset | ( | const Size & | cont_size | ) |

前置条件
  断言： `Brush.ImagePtr` 。

在文件 ImageProcessing.cpp 第 102 行定义.

参考 Brush, NPL::c_str(), NPL::dst, YSLib::Drawing::ImageBrush::DstOffset, YSLib::HalfDifference(), YSLib::Drawing::Size::Height, YSLib::Drawing::ImageBrush::ImagePtr, platform::Descriptions::Informative, ystdex::size(), YSLib::Drawing::to_string(), YSLib::Drawing::Size::Width, YAssertNonnull , 以及 YTraceDe.

参考自 Resize() , 以及 ZoomTo().

函数调用图:

这是这个函数的调用关系图:

YSLib::Drawing::ImagePages::DefDeMoveCtor | ( | ImagePages |  | ) | const

自从
  build 558

const vector<HBitmap> cache YSLib::Drawing::ImagePages::DefGetter | ( | const ynothrow | ,
|  | size_t | ,
|  | Count | ,
|  | cache. | GetBitmaps).size(
| ) |  | const

自从
  build 557

const vector<HBitmap> cache index YSLib::Drawing::ImagePages::DefGetter | ( | const ynothrow | ,
|  | ImageScale | ,
|  | Scale | ,
|  | scale |
| ) |  | const

自从
  build 576

void YSLib::Drawing::ImagePages::LoadContent | ( |  | ) |

private

自从
  build 554

在文件 ImageProcessing.cpp 第 136 行定义.

参考 Brush, cache, YSLib::Drawing::ImageBrush::ImagePtr, index, YSLib::Drawing::ZoomedImageCache::Lookup(), scale , 以及 YSLib::YAssert().

参考自 SwitchPage() , 以及 ZoomTo().

函数调用图:

这是这个函数的调用关系图:

YSLib::Drawing::ImagePages::PDefH | ( | bool | ,
|  | SwitchPageDiff | ,
|  | ptrdiff_t | diff
| ) |  |

按指定的比例变化量和偏移量缩放。

异常

  std::invalid_argument | 异常中立：由 ZoomTo 抛出。

返回
  是否切换了不同页面。
  是否成功进行了缩放。

注解
  偏移量相对画刷左上角。

参见
  ZoomTo

自从
  build 558

void YSLib::Drawing::ImagePages::Resize | ( | const Size & | new_size | ) |

前置条件
  断言： `Brush.ImagePtr` 。

自从
  build 554

在文件 ImageProcessing.cpp 第 119 行定义.

参考 AdjustOffset(), Brush, NPL::c_str(), YSLib::Drawing::ImageBrush::DstOffset, YSLib::Drawing::Size::Height, YSLib::Drawing::ImageBrush::ImagePtr, platform::Descriptions::Informative, scale, YSLib::Drawing::to_string(), view_size, YSLib::Drawing::Size::Width, YAssertNonnull , 以及 YTraceDe.

函数调用图:

bool YSLib::Drawing::ImagePages::SwitchPage | ( | size_t | page | ) |

返回
  是否切换了不同页面。

自从
  build 461

在文件 ImageProcessing.cpp 第 144 行定义.

参考 cache, index, platform::Descriptions::Informative, LoadContent(), YSLib::YAssert() , 以及 YTraceDe.

函数调用图:

bool YSLib::Drawing::ImagePages::ZoomByRatio | ( | float | ratio,
|  | const Point & | offset,
|  | float | err = `0.F`
| ) |  |

按指定的相对比例、偏移量和允许的误差缩放。

异常

  std::invalid_argument | 异常中立：由 ZoomTo 抛出。

注解
  非零误差指定缩放的绝对比例的精确度，使用 ystdex::round_in 约束。

参见
  ZoomTo

在文件 ImageProcessing.cpp 第 168 行定义.

参考 platform::Descriptions::Informative, ystdex::round_in(), scale, platform::Descriptions::Warning, YTraceDe , 以及 YSLib::Drawing::Zoom().

函数调用图:

bool YSLib::Drawing::ImagePages::ZoomTo | ( | float | dst_scale,
|  | const Point & | offset
| ) |  |

按指定的绝对比例和偏移量缩放。

异常

  std::invalid_argument | 比例不是有限实数。

注解
  比例会被约束到 MinScale 和 MaxScale 。

自从
  build 580

在文件 ImageProcessing.cpp 第 180 行定义.

参考 AdjustOffset(), Brush, NPL::c_str(), YSLib::Drawing::ImageBrush::DstOffset, platform::Descriptions::Informative, LoadContent(), MaxScale, MinScale, YSLib::RestrictInClosedInterval(), scale, YSLib::Drawing::to_string(), view_size , 以及 YTraceDe.

函数调用图:

## 类成员变量说明

Size YSLib::Drawing::ImagePages::base_size

private

图像基础大小。

自从
  build 557

在文件 ImageProcessing.h 第 126 行定义.

const vector<HBitmap> YSLib::Drawing::ImagePages::Bitmaps

在文件 ImageProcessing.h 第 160 行定义.

ImageBrush YSLib::Drawing::ImagePages::Brush {}

自从
  build 443

在文件 ImageProcessing.h 第 137 行定义.

参考自 AdjustOffset(), LoadContent(), Resize() , 以及 ZoomTo().

ZoomedImageCache YSLib::Drawing::ImagePages::cache

private

在文件 ImageProcessing.h 第 121 行定义.

参考自 LoadContent() , 以及 SwitchPage().

size_t YSLib::Drawing::ImagePages::index = 0

private

自从
  build 457

在文件 ImageProcessing.h 第 120 行定义.

参考自 LoadContent() , 以及 SwitchPage().

const vector<HBitmap> cache YSLib::Drawing::ImagePages::Index

在文件 ImageProcessing.h 第 164 行定义.

ImageScale YSLib::Drawing::ImagePages::MaxScale {16.F}

在文件 ImageProcessing.h 第 116 行定义.

参考自 ZoomTo().

ImageScale YSLib::Drawing::ImagePages::MinScale {.1F}

在文件 ImageProcessing.h 第 115 行定义.

参考自 ZoomTo().

ImageScale YSLib::Drawing::ImagePages::scale

private

缩放比例。

自从
  build 555

在文件 ImageProcessing.h 第 131 行定义.

参考自 LoadContent(), Resize(), ZoomByRatio() , 以及 ZoomTo().

const vector<HBitmap> cache YSLib::Drawing::ImagePages::size_t

在文件 ImageProcessing.h 第 164 行定义.

Size YSLib::Drawing::ImagePages::view_size {}

private

自从
  build 461

在文件 ImageProcessing.h 第 133 行定义.

参考自 Resize() , 以及 ZoomTo().

const vector<HBitmap> cache index const Size YSLib::Drawing::ImagePages::ViewSize

在文件 ImageProcessing.h 第 168 行定义.

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

- ImageProcessing.h
- ImageProcessing.cpp