2012-10-16 91 views

回答

1

通过空白区域,你的意思是白色的矩形?

我去,这是我运行每像素的像素(x轴/ Y轴)寻找一个完全白色像素,一旦我发现这个像素我运行的方法,其从开始的方式该像素在X轴上沿直线验证像素,在Y轴上验证要插入其中的图像的宽度和高度。如果这一切都白上的两行,然后我会在对角线上,其长度将math.sqrt(width*width + height*height)再次运行它,如果它是全白的,我可以填补的图像那里,如果不是,继续搜索会从月底开始的那条对角线。

虽然而不是搜索白色像素,我宁愿寻找完全透明的像素(0阿尔法)。我认为这会对你的形象起作用,但是如果你碰巧有另外一张有3条线的图像,而这些图像的尾巴和白色都是完全一致的,就会失败。只是不要......那样做。

而不是只检查那些行,你可以实际验证矩形中的所有像素,但这可能会很慢,并且不适合您的图像,因为您恰好在空白区域的底部具有该高程。

1

你想找到像白点,然后试试下面。 我希望它能帮助你,但它不仅在空白区域返回所有WHITE点。

  Bitmap mBitmap = YOUR BITMAP; 

      ArrayList<Point> whitePoint = new ArrayList<Point>(); 
      for (int i = 0; i < mBitmap.getWidth(); i++) { 
       for (int j = 0; j < mBitmap.getHeight(); j++) { 
        if(mBitmap.getPixel(i, j) == Color.WHITE) 
        { 
         whitePoint.add(new Point(i, j)); 
        } 
       } 
      } 

我建议空面积采用透明色和检查,而不是白色时

+0

好感谢透明的。但是,如何在不知道x,y坐标的情况下将空白区域添加透明颜色? – Venky

+0

从设计师或改变位图像像mBitmap.setPixel(x,y,transparentcolor) –

+0

图像是动态的从服务调用 – Venky