Foxit PDF SDK

Public 成员函数 | 静态 Public 成员函数 | 所有成员列表
foxit::pdf::graphics::ImageObject类 参考
类 foxit::pdf::graphics::ImageObject 继承关系图:

## Public 成员函数
common::Bitmap | CloneBitmap (const GraphicsObjects &graphics_objects)
| 从当前图像图形对象克隆位图。 更多...
common::Bitmap | CloneBitmap (const PDFPage &page, const GraphicsObjects &graphics_objects)
| 从当前图像图形对象克隆位图。 更多...
common::ColorSpaceType | GetColorSpace () const
| 获取颜色空间。 更多...
objects::PDFObject * | GetMask () const
| 获取表示当前图像图形对象蒙版的PDF对象。 更多...
objects::PDFStream * | GetStream () const
| 获取图像流。 更多...
bool | IsImageMask () const
| 检查当前图像对象是否被视为蒙版。 更多...
void | SetBitmap (const common::Bitmap &bitmap, const common::Bitmap &mask=common::Bitmap())
| 将位图设置到当前图像图形对象。 更多...
void | SetImage (const common::Image &image, int frame_index)
| 将图像的一帧设置到当前图像图形对象。 更多...
Public 成员函数 继承自 foxit::pdf::graphics::GraphicsObject
bool | AddClipPath (const common::Path &path, common::FillMode fill_mode)
| 添加用于裁剪的路径。 更多...
bool | AddClipTextObject (TextObject *textobject)
| 添加用于裁剪的文本对象。 更多...
bool | ClearClips ()
| 清除所有裁剪。 更多...
GraphicsObject * | Clone ()
| 克隆新的图形对象。 更多...
GraphicsObject * | Clone (foxit::pdf::GraphicsObjects src_graphicsobjects, foxit::pdf::GraphicsObjects dest_graphicsobjects)
| 克隆新的图形对象。 更多...
BlendMode | GetBlendMode () const
| 获取透明成像模型的混合模式。 更多...
common::Path | GetClipPath (int index) const
| 根据索引获取路径裁剪。 更多...
int | GetClipPathCount () const
| 获取路径裁剪的数量。 更多...
common::FillMode | GetClipPathFillMode (int index) const
| 根据索引获取路径裁剪的填充模式。 更多...
RectF | GetClipRect () const
| 获取裁剪矩形。 更多...
TextObject * | GetClipTextObject (int index) const
| 根据索引获取文本裁剪的文本对象。 更多...
int | GetClipTextObjectCount () const
| 获取文本裁剪的数量。 更多...
ColorState | GetColorState () const
| 获取颜色状态。 更多...
ARGB | GetFillColor () const
| 获取填充颜色。 更多...
float | GetFillOpacity () const
| 获取除描边外的绘制操作的不透明度值。 更多...
FormXObject * | GetFormXObject () const
| 如果当前图形对象表示表单XObject对象，则获取表单XObject图形对象。 更多...
common::GraphState | GetGraphState () const
| 获取图形状态。 更多...
ImageObject * | GetImageObject () const
| 如果当前图形对象表示图像对象，则获取图像图形对象。 更多...
LayerNodeArray | GetLayers (const LayerTree &layer_tree)
| 获取与当前图形对象关联的所有图层。 更多...
MarkedContent * | GetMarkedContent () const
| 获取标记内容对象。 更多...
Matrix | GetMatrix () const
| 获取矩阵。 更多...
PathObject * | GetPathObject () const
| 如果当前图形对象表示路径对象，则获取路径图形对象。 更多...
RectF | GetRect () const
| 获取当前图形对象的矩形。 更多...
ShadingObject * | GetShadingObject () const
| 如果当前图形对象表示阴影对象，则获取阴影图形对象。 更多...
ARGB | GetStrokeColor () const
| 获取描边颜色。 更多...
float | GetStrokeOpacity () const
| 获取路径和字形轮廓的描边绘制操作的不透明度值。 更多...
TextObject * | GetTextObject () const
| 如果当前图形对象表示文本对象，则获取文本图形对象。 更多...
Type | GetType () const
| 获取当前图形对象的类型。 更多...
bool | HasTransparency ()
| 检查当前图形对象是否具有透明度。 更多...
void | Release ()
| 释放尚未插入到任何PDF页面中的克隆或新创建的PDF图形对象或其他对象。 更多...
bool | RemoveClipPath (int index)
| 根据索引删除路径裁剪。 更多...
bool | RemoveClipTextObject (int index)
| 根据索引删除用于裁剪的文本裁剪。 更多...
void | Rotate (int angle)
| 从当前状态以指定的角度顺时针旋转当前图形对象。 更多...
void | SetBlendMode (BlendMode blend_mode)
| 设置透明成像模型的混合模式。 更多...
void | SetClipRect (const RectF &clip_rect)
| 设置裁剪矩形。 更多...
void | SetColorState (const ColorState &color_state)
| 设置颜色状态。 更多...
void | SetFillColor (ARGB color)
| 设置填充颜色。 更多...
void | SetFillOpacity (float opacity)
| 设置除描边外的绘制操作的不透明度值。 更多...
void | SetGraphState (const common::GraphState &graph_state)
| 设置图形状态。 更多...
void | SetMatrix (const Matrix &matrix)
| 设置矩阵。 更多...
void | SetStrokeColor (ARGB color)
| 设置描边颜色。 更多...
void | SetStrokeOpacity (float opacity)
| 设置路径和字形轮廓的描边绘制操作的不透明度值。 更多...
bool | Transform (const Matrix &matrix, bool need_transform_clippath)
| 变换当前图形对象。 更多...

## 静态 Public 成员函数
static ImageObject * | Create (const PDFDoc &document)
| 创建新的图像图形对象。 更多...
static ImageObject * | CreateFromType3TextObject (const PDFPage &page, TextObject *text_obj)
| 从type3文本对象创建图像图形对象。 更多...

## 额外继承的成员函数
Public 类型 继承自 foxit::pdf::graphics::GraphicsObject
enum | BlendMode { e_BlendNormal = 0, e_BlendMultiply = 1, e_BlendScreen = 2, e_BlendOverlay = 3, e_BlendDarken = 4, e_BlendLighten = 5, e_BlendColorDodge = 6, e_BlendColorBurn = 7, e_BlendHardlight = 8, e_BlendSoftlight = 9, e_BlendDifference = 10, e_BlendExclusion = 11, e_BlendHue = 21, e_BlendSaturation = 22, e_BlendColor = 23, e_BlendLuminosity = 24 }
| 渲染混合模式的枚举。 更多...
enum | Type { e_TypeAll = 0, e_TypeText = 1, e_TypePath = 2, e_TypeImage = 3, e_TypeShading = 4, e_TypeFormXObject = 5, e_TypeInlines = 6, e_TypeEmptyMarkedContent = 7 }
| PDF图形对象类型的枚举。 更多...

## 详细描述

图像图形对象是一种PDF图形对象，因此类ImageObject派生自 类GraphicsObject。它提供获取/设置图像图形对象数据的函数。
要创建新的图像图形对象，请使用函数ImageObject::Create，然后 使用设置函数为新的图像图形对象设置信息。

参见
  GraphicsObject

## 成员函数说明

## ◆ CloneBitmap() [1/2]

common::Bitmap foxit::pdf::graphics::ImageObject::CloneBitmap | ( | const GraphicsObjects & | graphics_objects | ) |

从当前图像图形对象克隆位图。

弃用:
  此函数已弃用。请使用带两个参数的函数ImageObject::CloneBitmap。

目前，只有当位图格式是以下格式之一时，才能从图像图形对象克隆位图：
common::Bitmap::e_DIB8bppMask、common::Bitmap::e_DIB8bpp、 common::Bitmap::e_DIBRgb、common::Bitmap::e_DIBRgb32、 common::Bitmap::e_DIBArgb、common::Bitmap::e_DIBCmyk。
如果返回位图对象的函数common::Bitmap::IsEmpty的返回值为true， 表示位图的DIB格式不受支持。

参数

  [in] | graphics_objects | 有效的pdf::GraphicsObjects对象。请确保当前图像图形对象 正好属于此pdf::GraphicsObjects对象(可能是PDF页面)。

返回
  新克隆的位图对象。如果返回位图对象的函数common::Bitmap::IsEmpty的返回值为true， 表示位图的DIB格式不受支持。

## ◆ CloneBitmap() [2/2]

common::Bitmap foxit::pdf::graphics::ImageObject::CloneBitmap | ( | const PDFPage & | page,
|  | const GraphicsObjects & | graphics_objects
| ) |  |

从当前图像图形对象克隆位图。

目前，只有当位图格式是以下格式之一时，才能从图像图形对象克隆位图：
common::Bitmap::e_DIB8bppMask、common::Bitmap::e_DIB8bpp、 common::Bitmap::e_DIBRgb、common::Bitmap::e_DIBRgb32、 common::Bitmap::e_DIBArgb、common::Bitmap::e_DIBCmyk。
如果返回位图对象的函数common::Bitmap::IsEmpty的返回值为true， 表示位图的DIB格式不受支持。

参数

  [in] | page | 有效的PDF页面对象。请确保当前图像图形对象正好属于此页面。
  [in] | graphics_objects | 有效的pdf::GraphicsObjects对象。请确保当前图像图形对象 正好属于此pdf::GraphicsObjects对象(可能是PDF页面)。

返回
  新克隆的位图对象。如果返回位图对象的函数common::Bitmap::IsEmpty的返回值为true， 表示位图的DIB格式不受支持。

## ◆ Create()

static ImageObject* foxit::pdf::graphics::ImageObject::Create | ( | const PDFDoc & | document | ) |
| static

创建新的图像图形对象。

新创建的图像图形对象还没有任何数据。然后，可以调用设置函数 为新的图像图形对象设置数据。 如果新创建的图像图形对象不会插入到任何页面或其他对象中， 请记住在不使用时调用函数GraphicsObject::Release来释放它。

参数

  [in] | document | 有效的PDF文档对象。然后新的图像图形对象应该插入到 此PDF文档的一个页面中。

返回
  新的图像对象。如果有任何错误，此函数将返回NULL。

## ◆ CreateFromType3TextObject()

static ImageObject* foxit::pdf::graphics::ImageObject::CreateFromType3TextObject | ( | const PDFPage & | page,
|  | TextObject * | text_obj
| ) |  |
| static

从type3文本对象创建图像图形对象。

如果新创建的图像图形对象不会插入到任何页面或其他对象中， 请记住在不使用时调用函数GraphicsObject::Release来释放它。

参数

  [in] | page | 有效的PDF页面对象。
  [in] | text_obj | 有效的文本对象。此文本对象应该是type3文本对象。

返回
  新的图像对象。如果有任何错误，此函数将返回NULL。

## ◆ GetColorSpace()

common::ColorSpaceType foxit::pdf::graphics::ImageObject::GetColorSpace | ( |  | ) | const

获取颜色空间。

返回
  颜色空间。请参考从common::e_ColorSpaceDeviceGray开始的值， 这将是这些值中的一个。

## ◆ GetMask()

objects::PDFObject* foxit::pdf::graphics::ImageObject::GetMask | ( |  | ) | const

获取表示当前图像图形对象蒙版的PDF对象。

蒙版可以是PDF字典或PDF数组：

- PDF字典表示要应用到此图像的图像蒙版。
- PDF数组表示要作为颜色键蒙版应用到图像的颜色范围。

更多详细信息请参阅<PDF Reference 1.7>中的第4.8.4节"图像字典"。

返回
  表示蒙版的PDF对象。 如果ImageObject::IsImageMask返回true，此函数将返回NULL。

## ◆ GetStream()

objects::PDFStream* foxit::pdf::graphics::ImageObject::GetStream | ( |  | ) | const

获取图像流。

返回
  表示图像流的objects::PDFStream。 如果有任何错误，此函数将返回NULL。

## ◆ IsImageMask()

bool foxit::pdf::graphics::ImageObject::IsImageMask | ( |  | ) | const

检查当前图像对象是否被视为蒙版。

返回
  true 表示当前对象被视为蒙版，false 表示不是。

## ◆ SetBitmap()

void foxit::pdf::graphics::ImageObject::SetBitmap | ( | const common::Bitmap & | bitmap,
|  | const common::Bitmap & | mask = `common::Bitmap()`
| ) |  |

将位图设置到当前图像图形对象。

参数

  [in] | bitmap | 要设置到当前图像的有效位图对象。
  [in] | mask | 蒙版位图。默认值：通过默认构造函数创建的位图对象，未设置任何值， 表示不使用蒙版。 如果此参数有效，其格式应为common::Bitmap::e_DIB8bppMask。 仅当参数bitmap没有alpha通道时，此参数才有用。

返回
  无

注解
  当此函数成功时，应调用函数GraphicsObjects::GenerateContent。 更多详细信息请参阅函数GraphicsObjects::GenerateContent。

## ◆ SetImage()

void foxit::pdf::graphics::ImageObject::SetImage | ( | const common::Image & | image,
|  | int | frame_index
| ) |  |

将图像的一帧设置到当前图像图形对象。

输入图像可能包含多帧，只能将图像的一帧设置到当前图像图形对象。

参数

  [in] | image | 有效的图像对象。此图像应至少包含一帧，图像类型 不应为common::Image::e_Unknown。
  [in] | frame_index | 帧索引，用于决定参数image的哪一帧要被设置。 有效范围：从0到(count-1)。count由函数 common::Image::GetFrameCount返回。

返回
  无

注解
  当此函数成功时，应调用函数GraphicsObjects::GenerateContent。 更多详细信息请参阅函数GraphicsObjects::GenerateContent。