Foxit PDF SDK
foxit::pdf::graphics::ImageObject类 参考
类 foxit::pdf::graphics::ImageObject 继承关系图:
foxit::pdf::graphics::GraphicsObject

Public 成员函数

common::Bitmap CloneBitmap (const GraphicsObjects &graphics_objects)
 从当前图像图形对象克隆位图。 更多...
 
common::Bitmap CloneBitmap (const PDFPage &page, const GraphicsObjects &graphics_objects)
 从当前图像图形对象克隆位图。 更多...
 
common::ColorSpaceType GetColorSpace () const
 获取颜色空间。 更多...
 
objects::PDFObjectGetMask () const
 获取表示当前图像图形对象蒙版的PDF对象。 更多...
 
objects::PDFStreamGetStream () 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 ()
 清除所有裁剪。 更多...
 
GraphicsObjectClone ()
 克隆新的图形对象。 更多...
 
GraphicsObjectClone (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
 获取裁剪矩形。 更多...
 
TextObjectGetClipTextObject (int index) const
 根据索引获取文本裁剪的文本对象。 更多...
 
int GetClipTextObjectCount () const
 获取文本裁剪的数量。 更多...
 
ColorState GetColorState () const
 获取颜色状态。 更多...
 
ARGB GetFillColor () const
 获取填充颜色。 更多...
 
float GetFillOpacity () const
 获取除描边外的绘制操作的不透明度值。 更多...
 
FormXObjectGetFormXObject () const
 如果当前图形对象表示表单XObject对象,则获取表单XObject图形对象。 更多...
 
common::GraphState GetGraphState () const
 获取图形状态。 更多...
 
ImageObjectGetImageObject () const
 如果当前图形对象表示图像对象,则获取图像图形对象。 更多...
 
LayerNodeArray GetLayers (const LayerTree &layer_tree)
 获取与当前图形对象关联的所有图层。 更多...
 
MarkedContentGetMarkedContent () const
 获取标记内容对象。 更多...
 
Matrix GetMatrix () const
 获取矩阵。 更多...
 
PathObjectGetPathObject () const
 如果当前图形对象表示路径对象,则获取路径图形对象。 更多...
 
RectF GetRect () const
 获取当前图形对象的矩形。 更多...
 
ShadingObjectGetShadingObject () const
 如果当前图形对象表示阴影对象,则获取阴影图形对象。 更多...
 
ARGB GetStrokeColor () const
 获取描边颜色。 更多...
 
float GetStrokeOpacity () const
 获取路径和字形轮廓的描边绘制操作的不透明度值。 更多...
 
TextObjectGetTextObject () 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 ImageObjectCreate (const PDFDoc &document)
 创建新的图像图形对象。 更多...
 
static ImageObjectCreateFromType3TextObject (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_DIB8bppMaskcommon::Bitmap::e_DIB8bppcommon::Bitmap::e_DIBRgbcommon::Bitmap::e_DIBRgb32common::Bitmap::e_DIBArgbcommon::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_DIB8bppMaskcommon::Bitmap::e_DIB8bppcommon::Bitmap::e_DIBRgbcommon::Bitmap::e_DIBRgb32common::Bitmap::e_DIBArgbcommon::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