2012-12-03 93 views
0

我目前正在做這種類型的項目。我的要求是如何找到用於在畫布中書寫文字的總x,y位置。查找文本x,y在Android的畫布中的位置

例如:

顯示圖像,顯示字母,我想找到總的x,用於ÿ點使A.

enter image description here

+0

你是指邊界框,或者是紅色的像素數。 – Doomsknight

+0

x,y紅色文字的位置。 – Hemant

回答

0

創建自定義類

public class CustomCanvas extends Canvas { 

    private Rect rect; 


    @Override 
    public void drawPicture(Picture picture, Rect dst) { 
     rect =dst;  
     super.drawPicture(picture, dst); 
    } 

    public Rect getRect() { 
     return rect; 
    } 


} 

致電CustomCanvas直接從

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     canvas.getRect().intersect((int)event.getX(),(int)event.getY(),0,0); 
     return super.onTouchEvent(event); 
    } 
2

我不知道爲什麼你需要做的,但這裏的一些粗魯的解決方案:

Map<Integer, Integer> result = new HashMap<Integer, Integer>(); 
for (int x = 0; x < bitmap.getWidth(); x++) { 
    for (int y = 0; y < bitmap.getHeight(); y++) { 
     int color = bitmap.getPixel(x, y); 
     if (color != BACKGROUND_COLOR) { 
      result.put(x, y); 
     } 
    } 
} 

你只是遍歷位圖,比較每個像素的背景顏色的顏色。如果不同,則將當前像素添加到結果地圖。

this post如果你不知道如何檢索BitmapCanvas