Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::Image类 参考

## Public 成员函数
| AddFrame (bitmap)
| 添加位图作为帧。（不支持的 DIB 格式：FSDK.Bitmap.e_DIBRgb565 和 FSDK.Bitmap.e_DIB8bppMask） 更多...
| constructor ()
| 构造函数。 更多...
| constructor (buffer, length)
| 从内存缓冲区构造的构造函数。 更多...
| constructor (file_read)
| 带有文件读取回调对象的构造函数。 更多...
| constructor (path)
| 从现有图像文件路径构造的构造函数。 更多...
| GetFrameBitmap (index)
| 获取由索引指定的帧位图。 更多...
| GetFrameCount ()
| 获取帧数量。 更多...
| GetHeight ()
| 获取图像高度。 更多...
| GetOrientation ()
| 获取图像方向。 更多...
| GetType ()
| 获取图像类型。 更多...
| GetWidth ()
| 获取图像宽度。 更多...
| GetXDPI ()
| 获取 X 轴的 DPI。 更多...
| GetYDPI ()
| 获取 Y 轴的 DPI。 更多...
| IsEmpty ()
| 检查当前对象是否为空。 更多...
| SaveAs (file, file_extension)
| 将当前图像保存为图像文件。 更多...
| SaveAs (file_path)
| 将当前图像保存为图像文件。 更多...
| SetDPIs (x_dpi, y_dpi)
| 设置 X 轴和 Y 轴的 DPI。 更多...

## 静态 Public 属性
static | e_BMP
| 图像类型是 BMP。
static | e_GIF
| 图像类型是 GIF。
static | e_JBIG2
| 图像类型是 JBIG2。 更多...
static | e_JPG
| 图像类型是 JPG 或 JPEG。
static | e_JPX
| 图像类型是 JPX 或 JPEG-2000。
static | e_None
| 尚未有图像类型。 更多...
static | e_OrientationFlipH
| 水平翻转。
static | e_OrientationFlipV
| 垂直翻转。
static | e_OrientationNone
| 图像方向的枚举。 更多...
static | e_OrientationNormal
| 正常方向。
static | e_OrientationRotate180
| 顺时针旋转 180 度。
static | e_OrientationRotate270
| 逆时针旋转 90 度。
static | e_OrientationRotate270FlipH
| 先逆时针旋转 90 度，然后水平翻转。
static | e_OrientationRotate90
| 顺时针旋转 90 度。
static | e_OrientationRotate90FlipH
| 先顺时针旋转 90 度，然后水平翻转。
static | e_PNG
| 图像类型是 PNG。
static | e_TIF
| 图像类型是 TIF 或 TIFF。
static | e_Unknown
| 图像类型的枚举。 更多...

## 详细描述

Foxit PDF SDK 提供以下图像类型：

- BMP：位图图像格式。它只支持单帧。Foxit PDF SDK 支持从 BMP 图像文件加载图像，获取一些基本信息，获取其位图，更改其位图并将其另存为 图像文件。
- JPG：联合图像专家组图像格式。它只支持单帧。Foxit PDF SDK 支持 从 JPG 图像文件加载图像，获取一些基本信息，获取其位图，更改其位图并 将其另存为图像文件。
- PNG：便携式网络图形图像格式。它只支持单帧。Foxit PDF SDK 支持 从 PNG 图像文件加载图像，获取一些基本信息，获取其位图，更改其位图并 将其另存为图像文件。
- GIF：图形交换格式。它支持多帧。Foxit PDF SDK 支持从 GIF 图像文件加载图像，获取其大小，获取其位图，更改其位图并将其另存为图像文件。
- TIF：标记图像文件格式。它支持多帧。Foxit PDF SDK 支持从 TIF 图像文件加载图像，获取一些基本信息，获取其位图，更改其位图并将其另存为 图像文件。
- JPX：JPEG-2000 图像格式。它只支持单帧。Foxit PDF SDK 支持从 JPX 图像文件加载图像，获取其大小，获取其位图，更改其位图并将其另存为图像文件。
- JBIG2：JBIG2 图像格式。它只支持单帧。Foxit PDF SDK 支持从 JBIG2 图像文件加载图像，获取其大小，并将其另存为图像文件。Foxit PDF SDK 尚不支持 获取其帧位图。

## 成员函数说明

## ◆ AddFrame()

FSDK::Image::AddFrame | ( | bitmap |  | ) |

添加位图作为帧。（不支持的 DIB 格式：FSDK.Bitmap.e_DIBRgb565 和 FSDK.Bitmap.e_DIB8bppMask）

目前，此函数不支持类型为 FSDK.Image.e_JBIG2 或 FSDK.Image.e_Unknown 的图像。
对于支持的图像类型：

- 如果当前图像的类型为 FSDK.Image.e_TIF、FSDK.Image.e_GIF 或 FSDK.Image.e_None，此函数将添加新位图 作为新的最后一帧。
- 如果当前图像的类型是其他仅包含单帧的类型之一， 此函数将使用新位图替换第一帧。

参数

  [in] | bitmap | 一个有效的位图，作为要添加或设置的帧。

返回
  true 表示成功，而 false 表示失败。

## ◆ constructor() [1/4]

FSDK::Image::constructor | ( |  | ) |

构造函数。

此构造函数用于构造一个新的图像对象（没有任何数据）。 此构造的图像对象的图像类型将为 FSDK.Image.e_None。

## ◆ constructor() [2/4]

FSDK::Image::constructor | ( | buffer | ,
|  | length |
| ) |  |

从内存缓冲区构造的构造函数。

参数

  [in] | buffer | 内存缓冲区。图像文件数据应完全加载到此内存缓冲区中。 它不应为 null。
  [in] | length | 内存缓冲区的大小。它应大于 0。

## ◆ constructor() [3/4]

FSDK::Image::constructor | ( | file_read |  | ) |

带有文件读取回调对象的构造函数。

参数

  [in] | file_read | 由用户实现的 FSDK.FileReaderCallback 对象，用于加载图像文件。 它不应为 null。

## ◆ constructor() [4/4]

FSDK::Image::constructor | ( | path |  | ) |

从现有图像文件路径构造的构造函数。

参数

  [in] | path | 现有图像文件的完整路径。它不应为空字符串。

## ◆ GetFrameBitmap()

FSDK::Image::GetFrameBitmap | ( | index |  | ) |

获取由索引指定的帧位图。

目前，此函数不支持类型为 FSDK.Image.e_JBIG2 的图像。 此函数只能支持获取以下格式的帧位图：
FSDK.Bitmap.e_DIB8bppMask、FSDK.Bitmap.e_DIB8bpp、 FSDK.Bitmap.e_DIBRgb、FSDK.Bitmap.e_DIBRgb32、 FSDK.Bitmap.e_DIBArgb。
对于其他不支持的 DIB 格式，此函数将返回一个位图对象， 其函数 FSDK.Bitmap.IsEmpty 返回 true。

参数

  [in] | index | 帧的索引。有效范围：从 0 到（count-1）。 count 由函数 FSDK.Image.GetFrameCount 返回。

返回
  帧位图。如果返回的位图对象的函数 FSDK.Bitmap.IsEmpty 的返回值 为 true，则表示该帧的 DIB 格式不受支持。

## ◆ GetFrameCount()

FSDK::Image::GetFrameCount | ( |  | ) |

获取帧数量。

目前，此函数不支持类型为 FSDK.Image.e_JBIG2 的图像。

返回
  帧数量。

## ◆ GetHeight()

FSDK::Image::GetHeight | ( |  | ) |

获取图像高度。

如果图像有多个帧，通常第一帧的大小将被视为图像大小。

返回
  图像高度。

## ◆ GetOrientation()

FSDK::Image::GetOrientation | ( |  | ) |

获取图像方向。

此函数仅支持类型为 FSDK.Image.e_JPG 和 FSDK.Image.e_TIF 的图像。

返回
  图像方向。请参考从 FSDK.Image.e_OrientationNone 开始的值，这将是其中之一。

## ◆ GetType()

FSDK::Image::GetType | ( |  | ) |

获取图像类型。

如果当前图像是新图像（不是从任何图像文件构造的），其类型将为 FSDK.Image.e_None。

返回
  图像类型。请参考从 FSDK.Image.e_Unknown 开始的值，这将是其中之一。

## ◆ GetWidth()

FSDK::Image::GetWidth | ( |  | ) |

获取图像宽度。

如果图像有多个帧，通常第一帧的大小将被视为图像大小。

返回
  图像宽度。

## ◆ GetXDPI()

FSDK::Image::GetXDPI | ( |  | ) |

获取 X 轴的 DPI。

目前，此函数不支持类型为 FSDK.Image.e_JPX、 FSDK.Image.e_GIF 或 FSDK.Image.e_JBIG2 的图像。
对于新图像（不是从任何图像文件构造的），X 轴的默认 DPI 为 96。

返回
  X 轴的 DPI 值。

## ◆ GetYDPI()

FSDK::Image::GetYDPI | ( |  | ) |

获取 Y 轴的 DPI。

目前，此函数不支持类型为 FSDK.Image.e_JPX、 FSDK.Image.e_GIF 或 FSDK.Image.e_JBIG2 的图像。
对于新图像（不是从任何图像文件构造的），Y 轴的默认 DPI 为 96。

返回
  Y 轴的 DPI 值。

## ◆ IsEmpty()

FSDK::Image::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时，表示当前对象无用。

返回
  true 表示当前对象为空，而 false 表示不为空。

## ◆ SaveAs() [1/2]

FSDK::Image::SaveAs | ( | file | ,
|  | file_extension |
| ) |  |

将当前图像保存为图像文件。

如果当前图像的类型为 FSDK.Image.e_TIF、FSDK.Image.e_GIF 或 FSDK.Image.e_None，并且保存的图像文件类型不支持多帧， 则只有当前图像的第一帧将保存到图像文件中。
对于图像对象（不是从任何图像文件构造的），请确保在使用此函数之前 向图像对象至少添加一个有效的帧位图； 否则此函数将失败。

参数

  [in] | file | 由用户实现的 FSDK.StreamCallback 对象，用于保存图像文件。
  [in] | file_extension | 保存的图像文件的完整路径。它不应为空字符串。 目前，此函数支持以下扩展名： .bmp、.jpg、.jpeg、.png、.tif、.tiff、.jpx、.jp2。

返回
  true 表示成功，而 false 表示失败。

注解
  此函数不支持将当前图像对象保存回用于构造当前图像对象的图像文件。 为了做到这一点，建议用户按照以下步骤操作：
  假设当前图像对象是从名为"org.bmp"的图像文件构造的。
  1. 使用当前函数将当前图像对象保存到临时文件。此处，此临时文件 命名为"temp.tmp"。
  2. 确保当前图像对象已析构。
  3. 删除"org.bmp"并将"temp.tmp"重命名为"org.bmp"。

## ◆ SaveAs() [2/2]

FSDK::Image::SaveAs | ( | file_path |  | ) |

将当前图像保存为图像文件。

如果当前图像的类型为 FSDK.Image.e_TIF、FSDK.Image.e_GIF 或 FSDK.Image.e_None，并且保存的图像文件类型不支持多帧， 则只有当前图像的第一帧将保存到图像文件中。
对于图像对象（不是从任何图像文件构造的），请确保在使用此函数之前 向图像对象至少添加一个有效的帧位图； 否则此函数将失败。

参数

  [in] | file_path | 保存的图像文件的完整路径。它不应为空字符串。 目前，此函数支持以下扩展名： .bmp、.jpg、.jpeg、.png、.tif、.tiff、.jpx、.jp2。

返回
  true 表示成功，而 false 表示失败。

注解
  此函数不支持将当前图像对象保存回用于构造当前图像对象的图像文件。 为了做到这一点，建议用户按照以下步骤操作：
  假设当前图像对象是从名为"org.bmp"的图像文件构造的。
  1. 使用当前函数将当前图像对象保存到临时文件。此处，此临时文件 命名为"temp.tmp"。
  2. 确保当前图像对象已析构。
  3. 删除"org.bmp"并将"temp.tmp"重命名为"org.bmp"。

## ◆ SetDPIs()

FSDK::Image::SetDPIs | ( | x_dpi | ,
|  | y_dpi |
| ) |  |

设置 X 轴和 Y 轴的 DPI。

目前，此函数不支持类型为 FSDK.Image.e_JPX、 FSDK.Image.e_GIF 或 FSDK.Image.e_JBIG2 的图像。

参数

  [in] | x_dpi | X 轴的 DPI。它应大于 0。
  [in] | y_dpi | Y 轴的 DPI。它应大于 0。

返回
  无。

## 类成员变量说明

## ◆ e_JBIG2

FSDK::Image::e_JBIG2
| static

图像类型是 JBIG2。

注解
  目前，类 FSDK.Image 中只有少数函数支持此类型。

## ◆ e_None

FSDK::Image::e_None
| static

尚未有图像类型。

注解
  这仅适用于新图像对象，该对象不是从任何图像文件构造的，也不是 从其他对象检索的。

## ◆ e_OrientationNone

FSDK::Image::e_OrientationNone
| static

图像方向的枚举。

此枚举的值应单独使用。

无方向。

## ◆ e_Unknown

FSDK::Image::e_Unknown
| static

图像类型的枚举。

此枚举的值应单独使用。

未知的图像类型。