我的应用程序的一部分涉及用户绘制图像,这些图像稍后将在 PDF 中串在一起。用户可以自由使用整个屏幕进行绘制。一旦用户完成绘图,我想在将图像添加到 PDF 之前修剪掉所有的空白区域。这是我遇到问题的地方。我想了两种不同的方法来确定可修剪空白的位置,但都显得笨拙。
我的第一个想法是如果事件到目前为止已经超出了盒子的范围,那么有手写笔记录的运动事件。如果有,我会扩大盒子以容纳它。不幸的是,每次发生对性能不利的运动事件时,我都会看到轮询。我不能只看上下事件,因为用户可以画出像字母 V 这样的东西。
然后我想我可以查看所有像素(使用 getPixel())并查看最高、最低、最右边和最左边的黑色像素在哪里。同样,这似乎是一种非常低效的查找盒子的方法。我确信我可以跳过一些像素来提高性能,但我不能跳过太多。
有做我想做的事的标准方法吗?我什么都没找到。