Foxit PDF SDK
foxit::pdf::PSI类 参考
类 foxit::pdf::PSI 继承关系图:
foxit::Base

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
 不相等操作符。 更多...
 
PSIoperator= (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_TypeMoveTocommon::Path::e_TypeLineTocommon::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表示完全不透明。
返回
无。