Foxit PDF SDK

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

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

## 详细描述

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

参见
  annots::PSInk

## 构造及析构函数说明

## ◆ PSI() [1/3]

foxit::pdf::PSI::PSI | ( | common::Bitmap & | bitmap,
|  | bool | simulate
| ) |  |

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

参数

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

## ◆ PSI() [2/3]

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

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

参数

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

## ◆ PSI() [3/3]

foxit::pdf::PSI::PSI | ( | const PSI & | other | ) |

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

参数

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

## 成员函数说明

## ◆ AddPoint()

void foxit::pdf::PSI::AddPoint | ( | const PointF & | point,
|  | common::Path::PointType | type,
|  | float | pressure
| ) |  |

添加一个点。

参数

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

返回
  无。

## ◆ ConvertToPDFAnnot()

annots::PSInk foxit::pdf::PSI::ConvertToPDFAnnot | ( | const PDFPage & | page,
|  | const RectF & | annot_rect,
|  | common::Rotation | rotate
| ) |  |

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

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

参数

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

返回
  新的PSInk注释对象。

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

## ◆ GetBitmap()

common::Bitmap foxit::pdf::PSI::GetBitmap | ( |  | ) |

获取画布位图。

返回
  画布位图。

## ◆ GetContentsRect()

RectF foxit::pdf::PSI::GetContentsRect | ( |  | ) |

获取内容矩形。

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

## ◆ IsEmpty()

bool foxit::pdf::PSI::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

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

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

## ◆ operator !=()

bool foxit::pdf::PSI::operator != | ( | const PSI & | other | ) | const

不相等操作符。

参数

  [in] | other | 另一个PSI对象。此函数将检查当前对象是否不等于此对象。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

PSI& foxit::pdf::PSI::operator= | ( | const PSI & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个PSI对象，其值将被赋予当前对象。

返回
  当前对象本身的引用。

## ◆ operator==()

bool foxit::pdf::PSI::operator== | ( | const PSI & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个PSI对象。此函数将检查当前对象是否等于此对象。

返回
  true 表示相等，false 表示不相等。

## ◆ SetCallback()

void foxit::pdf::PSI::SetCallback | ( | PSICallback * | callback | ) |

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

参数

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

返回
  无。

## ◆ SetColor()

void foxit::pdf::PSI::SetColor | ( | RGB | color | ) |

设置墨水颜色。

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

参数

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

返回
  无。

## ◆ SetDiameter()

void foxit::pdf::PSI::SetDiameter | ( | int | diameter | ) |

设置墨水直径。

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

参数

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

返回
  无。

## ◆ SetOpacity()

void foxit::pdf::PSI::SetOpacity | ( | float | opacity | ) |

设置墨水不透明度。

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

参数

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

返回
  无。