繁体   English   中英

在android中查找文本x,y在canvas中的位置

[英]Find text x,y position in canvas for android

我目前正在做这种类型的项目。 我的要求是如何找到在画布中书写文本时使用的总x,y位置。

例如 :

在图像中显示,在字母表上显示,我想找到用于制作A的总x,y点。

在此输入图像描述

我不知道你为什么要这样做,但这里有一些粗鲁的解决方案:

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);
        }
    }
}

您只需遍历位图并将每个像素的颜色与背景颜色进行比较。 如果不同,则将当前像素添加到结果图。

如果您不知道如何从Canvas检索Bitmap ,请参阅此文章

创建自定义类

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 rect

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM