YSTest: YSLib::Drawing::ImageTag类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

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

图像元数据标签。 更多...

`#include <Image.h>`

## Public 类型

enum

Type {
NoType = 0, Byte = 1, ASCII = 2, Short = 3,
Long = 4, Rational = 5, SByte = 6, Undefined = 7,
SShort = 8, SLong = 9, SRational = 10, Float = 11,
Double = 12, IFD = 13, Palette = 14, Long8 = 16,
SLong8 = 17, IFD8 = 18
}

| 元数据类型标识。 更多...
using | DataPtr = ::FITAG *
using | ID = std::uint16_t

## Public 成员函数

| DefDeCtor (ImageTag) ImageTag(DataPtr ptr
| 构造：使用现有数据指针。 更多...
| ImageTag (const HBitmap &, ImageMetadataModel, const char *)
| 构造：使用依赖的位图、模型和元数据名称。 更多...
template<typename _tBitmap , class _tString , yimpl(typename=ystdex::enable_for_string_class_t< _tString >) >
| ImageTag (const _tBitmap &bmp, ImageMetadataModel model, _tString &name)
| ImageTag (const ImageTag &) ythrow(BadImageAlloc)
| ImageTag (const ImageTag &tag, ystdex::false_) ynothrow
| ~ImageTag ()
| DefBoolNeg (explicit, p_tag) size_t GetCount() const ynothrow
| DefGetter (const ynothrow, DataPtr, DataPtr, p_tag) const char *GetDescription() const ynothrow
ID | GetID () const ynothrow
const char * | GetKey () const ynothrow
size_t | GetLength () const ynothrow
Type | GetType () const ynothrow
template<typename _type >
const _type & | GetValue () const ythrow(GeneralEvent)
| 取指定类型的标签值。 更多...
const void * | GetValuePtr () const ynothrow
bool | SetCount (size_t) const ynothrow
bool | SetDescription (const char *) const ynothrow
bool | SetID (ID) const ynothrow
bool | SetKey (const char *) const ynothrow
bool | SetLength (size_t) const ynothrow
bool | SetType (Type) const ynothrow
bool | SetValue (const void *) const ynothrow
DataPtr | Release () ynothrow
| 释放所有权。 更多...

## Public 属性

bool | o

## Private 属性

DataPtr | p_tag = {}
bool | owns = {}

## 相关函数

(请注意: 这些不是成员函数.)
YF_API string | to_string (const ImageTag &, ImageMetadataModel)
| 取按指定图像元数据模型解释的标签值字符串表示。 更多...

## 详细描述

图像元数据标签。

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

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

自从
  build 556

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

## 成员类型定义说明

using YSLib::Drawing::ImageTag::DataPtr = ::FITAG*

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

using YSLib::Drawing::ImageTag::ID = std::uint16_t

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

## 成员枚举类型说明

enum YSLib::Drawing::ImageTag::Type

元数据类型标识。

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

枚举值
NoType |
Byte |
ASCII |
Short |
Long |
Rational |
SByte |
Undefined |
SShort |
SLong |
SRational |
Float |
Double |
IFD |
Palette |
Long8 |
SLong8 |
IFD8 |

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

## 构造及析构函数说明

YSLib::Drawing::ImageTag::ImageTag | ( | const HBitmap & | bmp,
|  | ImageMetadataModel | model,
|  | const char * | name
| ) |  |

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

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

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

YSLib::Drawing::ImageTag::ImageTag | ( | const _tBitmap & | bmp,
|  | ImageMetadataModel | model,
|  | _tString & | name
| ) |  |

inline

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

YSLib::Drawing::ImageTag::ImageTag | ( | const ImageTag & | tag | ) |

后置条件
  `owns` 。

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

YSLib::Drawing::ImageTag::ImageTag | ( | const ImageTag & | tag,
|  | ystdex::false_ |
| ) |  |

inline

后置条件
  `!owns` 。

自从
  build 730

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

YSLib::Drawing::ImageTag::~ImageTag | ( |  | ) |

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

参考 owns , 以及 p_tag.

## 成员函数说明

YSLib::Drawing::ImageTag::DefBoolNeg | ( | explicit | ,
|  | p_tag |
| ) |  | const

YSLib::Drawing::ImageTag::DefDeCtor | ( | ImageTag |  | ) |

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

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

参数

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

后置条件
  `owns == o` 。

自从
  build 557

YSLib::Drawing::ImageTag::DefGetter | ( | const ynothrow | ,
|  | DataPtr | ,
|  | DataPtr | ,
|  | p_tag |
| ) |  | const

自从
  build 557

ImageTag::ID YSLib::Drawing::ImageTag::GetID | ( |  | ) | const

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

参考 p_tag.

const char * YSLib::Drawing::ImageTag::GetKey | ( |  | ) | const

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

参考 p_tag.

size_t YSLib::Drawing::ImageTag::GetLength | ( |  | ) | const

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

参考 p_tag.

ImageTag::Type YSLib::Drawing::ImageTag::GetType | ( |  | ) | const

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

参考 p_tag.

template<typename _type >

const _type& YSLib::Drawing::ImageTag::GetValue | ( |  | ) | const

inline

取指定类型的标签值。

警告
  不检查类型。

自从
  build 713

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

参考 platform::Deref() , 以及 CHRLib::p().

参考自 YSLib::Drawing::GetLogicalSizeOf().

函数调用图:

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

const void * YSLib::Drawing::ImageTag::GetValuePtr | ( |  | ) | const

自从
  build 557

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

参考 p_tag.

ImageTag::DataPtr YSLib::Drawing::ImageTag::Release | ( |  | ) |

释放所有权。

后置条件
  `!*this` 。

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

参考 p_tag.

bool YSLib::Drawing::ImageTag::SetCount | ( | size_t | count | ) | const

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

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

bool YSLib::Drawing::ImageTag::SetDescription | ( | const char * | desc | ) | const

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

bool YSLib::Drawing::ImageTag::SetID | ( | ImageTag::ID | id | ) | const

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

bool YSLib::Drawing::ImageTag::SetKey | ( | const char * | key | ) | const

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

bool YSLib::Drawing::ImageTag::SetLength | ( | size_t | len | ) | const

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

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

bool YSLib::Drawing::ImageTag::SetType | ( | ImageTag::Type | type | ) | const

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

bool YSLib::Drawing::ImageTag::SetValue | ( | const void * | value | ) | const

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

## 友元及相关函数文档

YF_API string to_string | ( | const ImageTag & | ,
|  | ImageMetadataModel |
| ) |  |

related

取按指定图像元数据模型解释的标签值字符串表示。

注解
  线程安全：仅在不调用 `::FreeImage_TagToString` 时保证。

自从
  build 557

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

## 类成员变量说明

bool YSLib::Drawing::ImageTag::o

初始值:
= true) ynothrow
: p_tag(ptr), owns(o)
{}
ImageTag(HBitmap::DataPtr, ImageMetadataModel, const char*)

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

bool YSLib::Drawing::ImageTag::owns = {}

private

自从
  build 556

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

参考自 ~ImageTag().

DataPtr YSLib::Drawing::ImageTag::p_tag = {}

private

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

参考自 GetID(), GetKey(), GetLength(), GetType(), GetValuePtr(), Release() , 以及 ~ImageTag().

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

- Image.h
- Image.cpp