运行时问题
让 setHandwritingDisplayArea/writeImageArea 工作的问题
最重要的任务是正确定义作为参数传递给上述方法的矩形的坐标。
特别要注意的是,矩形坐标是从零向上编号的,因此左上角的坐标值为 0,0。
使用平板电脑的宽度和高度值计算矩形的右侧坐标可能会出错。
例如,属性ICapability.screenWidth在 530 或 540 pad 上会产生 800 的结果,但使用它来指定矩形的右手坐标将失败。
这是因为 530 或 540 上最右边像素的 x 坐标是 799,而不是 800。
同样,530 或 540 右下角的 y 坐标不是 480,而是 479。
因此,请注意以下语句:
rect.LowerRightXPixel = rect.upperLeftXPixel + capability.screenWidth
这应该是:
rect.LowerRightXPixel = rect.upperLeftXPixel + capability.screenWidth - 1
请注意,将无效矩形传递给setHandwritingDisplayArea()不会产生错误 - 该命令只会失败并且显示区域不会从其当前值更改。
另一方面,如果传递给它的坐标值无效,writeImageArea()将引发异常。
注意:最近的调查发现,如果使用无效的像素位置,将setHandwritingDisplayArea()与 C# 和 STU-430 一起使用将产生错误。
然而,对于 STU-530 或 JavaScript,这不会发生。
另请注意,setHandwritingDisplayArea()和writeImageArea()在 300、500 和 520 等较旧的平板电脑上不可用。