Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit.pdf.PSI类 参考
类 foxit.pdf.PSI 继承关系图:

## Public 成员函数
| PSI (Bitmap bitmap, bool simulate)
| 构造函数，使用位图作为画布。 更多...
| PSI (int width, int height, bool simulate)
| 构造函数，使用指定的画布宽度和高度。 更多...
| PSI (PSI other)
| 构造函数，使用另一个PSI对象。 更多...
void | AddPoint (PointF point, Path.PointType type, float pressure)
| 添加一个点。 更多...
PSInk | ConvertToPDFAnnot (PDFPage page, RectF annot_rect, Rotation rotate)
| 将PSI对象转换为PSInk注释并将PSInk注释插入到PDF页面中。 更多...
Bitmap | GetBitmap ()
| 获取画布位图。 更多...
RectF | GetContentsRect ()
| 获取内容矩形。 更多...
bool | IsEmpty ()
| 检查当前对象是否为空。 更多...
void | SetCallback (PSICallback callback)
| 设置用于刷新的回调对象。 更多...
void | SetColor (int color)
| 设置墨水颜色。 更多...
void | SetDiameter (int diameter)
| 设置墨水直径。 更多...
void | SetOpacity (float opacity)
| 设置墨水不透明度。 更多...

## 详细描述

PSI，"压感墨水"，专为手动签名而定义，通常与 手写板或触摸屏配合使用。PSI包含私有坐标，并在 其坐标中创建画布。画布限制操作区域并生成PSI的外观。
PSI独立于PDF，甚至可以直接在设备屏幕上使用。如果用户想要将PSI对象保存到 PDF文件中，请调用函数 PSI.ConvertToPDFAnnot 。此函数将PSI数据转换为 PSInk注释（作为Foxit自定义注释类型）并将PSInk注释插入到 PDF页面中的指定位置。

参见
  foxit.pdf.annots.PSInk

## 构造及析构函数说明

## ◆ PSI() [1/3]

foxit.pdf.PSI.PSI | ( | Bitmap | bitmap,
|  | bool | simulate
| ) |  |
| inline

构造函数，使用位图作为画布。

参数

  [in] | bitmap | 用作画布的位图。应使用 foxit.common.Bitmap.DIBFormat.e_DIBArgb 格式创建。 用户应确保此位图在当前PSI对象释放之前保持有效。
  [in] | simulate | 用于决定是否开启PSI模拟： true 表示开启模拟，false 表示关闭模拟。 开启模拟时，可以通过写入速度模拟手写重量。

## ◆ PSI() [2/3]

foxit.pdf.PSI.PSI | ( | int | width,
|  | int | height,
|  | bool | simulate
| ) |  |
| inline

构造函数，使用指定的画布宽度和高度。

参数

  [in] | width | 设备坐标系中PSI画布的宽度。应大于0。
  [in] | height | 设备坐标系中PSI画布的高度。应大于0。
  [in] | simulate | 用于决定是否开启PSI模拟： true 表示开启模拟，false 表示关闭模拟。 开启模拟时，可以通过写入速度模拟手写重量。

## ◆ PSI() [3/3]

foxit.pdf.PSI.PSI | ( | PSI | other | ) |
| inline

构造函数，使用另一个PSI对象。

参数

  [in] | other | 另一个PSI对象。

## 成员函数说明

## ◆ AddPoint()

void foxit.pdf.PSI.AddPoint | ( | PointF | point,
|  | Path.PointType | type,
|  | float | pressure
| ) |  |
| inline

添加一个点。

参数

  [in] | point | 画布坐标系中的一个点。
  [in] | type | 点类型。应为以下值之一： foxit.common.Path.PointType.e_TypeMoveTo 、foxit.common.Path.PointType.e_TypeLineTo 、 foxit.common.Path.PointType.e_TypeLineToCloseFigure 。
  [in] | pressure | 此点的压力值。有效范围：从0.0到1.0。

返回
  无。

## ◆ ConvertToPDFAnnot()

PSInk foxit.pdf.PSI.ConvertToPDFAnnot | ( | PDFPage | page,
|  | RectF | annot_rect,
|  | Rotation | rotate
| ) |  |
| inline

将PSI对象转换为PSInk注释并将PSInk注释插入到PDF页面中。

实际上，此函数是将当前PSI的路径数据转换为PSInk注释， 忽略画布位图。
调用此函数之前，用户应确保当前PSI对象包含有效路径 （其最后一个点的类型为 foxit.common.Path.PointType.e_TypeLineToCloseFigure ）。 否则，转换将失败，此函数将抛出异常 foxit.common.ErrorCode.e_ErrInvalidData 。

参数

  [in] | page | 有效的PDF页面对象，预期将PSI插入其中。
  [in] | annot_rect | 指定PDF页面中位置的矩形， 新的PSInk注释将插入其中。 在中应有效。
  [in] | rotate | 旋转值。目前只能是 foxit.common.Rotation.e_Rotation0 。

返回
  新的PSInk注释对象。

注解
  用户在此转换后不需要调用函数 annots.Annot.ResetAppearanceStream （从 PSInk的父类继承）来重置PSInk注释的外观。

## ◆ GetBitmap()

Bitmap foxit.pdf.PSI.GetBitmap | ( |  | ) |
| inline

获取画布位图。

返回
  画布位图。

## ◆ GetContentsRect()

RectF foxit.pdf.PSI.GetContentsRect | ( |  | ) |
| inline

获取内容矩形。

返回
  设备坐标系中的内容矩形。 如果当前PSI对象不包含有效路径， 将返回所有值为0的RectF对象。

## ◆ IsEmpty()

bool foxit.pdf.PSI.IsEmpty | ( |  | ) |
| inline

检查当前对象是否为空。

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

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

## ◆ SetCallback()

void foxit.pdf.PSI.SetCallback | ( | PSICallback | callback | ) |
| inline

设置用于刷新的回调对象。

参数

  [in] | callback | 由用户实现的回调对象 PSICallback 。 请确保回调对象在 当前PSI对象的生命周期结束前保持有效。

返回
  无。

## ◆ SetColor()

void foxit.pdf.PSI.SetColor | ( | int | color | ) |
| inline

设置墨水颜色。

应在向PSI对象添加第一个点之前设置。 如果未设置，将使用默认值0x000000。

参数

  [in] | color | 墨水颜色。格式：0xRRGGBB。

返回
  无。

## ◆ SetDiameter()

void foxit.pdf.PSI.SetDiameter | ( | int | diameter | ) |
| inline

设置墨水直径。

应在向PSI对象添加第一个点之前设置。 如果未设置，将使用默认值10。

参数

  [in] | diameter | 墨水直径。应大于1。

返回
  无。

## ◆ SetOpacity()

void foxit.pdf.PSI.SetOpacity | ( | float | opacity | ) |
| inline

设置墨水不透明度。

应在向PSI对象添加第一个点之前设置。 如果未设置，将使用默认值1.0。

参数

  [in] | opacity | 墨水不透明度。有效范围：从0.0到1.0。 0.0表示完全透明，1.0表示完全不透明。

返回
  无。