我的应用程序的一部分涉及用户绘制图像,这些图像稍后将以PDF格式汇总在一起。用户可以自由地使用整个屏幕进行绘制。一旦用户完成绘图,我想在将图像添加到PDF之前剪掉所有空白区域。这是我遇到问题的地方。我想到了两种不同的方法来确定可修剪空白区域的位置,这两种方法看起来都很笨拙。
我的第一个想法是,如果事件已经超出了盒子的范围,那么就会有手写笔记录的动作事件。如果有,我会扩展框以适应这一点。不幸的是,每当有一个运动事件对性能不利时,我就会看到轮询。我不能只看上下事件,因为用户可以绘制类似字母V的内容。
然后我想我可以查看所有像素(使用getPixel())并查看最高,最低,最右和最左边黑色像素的位置。再次,这似乎是找到盒子的一种非常低效的方式。我确信我可以跳过一些像素来提高性能,但我不能跳过太多。
有没有标准的方法来做我想做的事情?我找不到任何东西。
答案 0 :(得分:2)
您可以在编辑器中记录已绘制此像素的位置,更新最大和最小X和Y,然后稍后使用它们裁剪图像。
答案 1 :(得分:1)
如果用户正在绘图,您是否已经在处理onTouchEvent回调以捕获绘图事件?如果是这样,保持minX,maxX,minY和maxY并不是一个大问题,并根据这些值检查每个记录的绘图事件。