Android 屏幕特定部分内的像素

Android 屏幕特定部分内的像素,android,Android,是否可以计算屏幕特定部分的像素数??假设我画了一个圆,想计算圆内的像素数 可以获得视图的宽度和高度,但这取决于绘制圆的方式。如果在画布上绘制,可以使用以下公式计算圆的面积: area = Π x r(2) 您所需要的只是圆的半径,并使用3.1415927作为Pi的值 可以获得视图的宽度和高度,但这取决于绘制圆的方式。如果在画布上绘制,可以使用以下公式计算圆的面积: area = Π x r(2) 您所需要的只是圆的半径,并使用3.1415927作为Pi的值 将画布推送到位图,然后计算像素数:

是否可以计算屏幕特定部分的像素数??假设我画了一个圆,想计算圆内的像素数

可以获得视图的宽度和高度,但这取决于绘制圆的方式。如果在画布上绘制,可以使用以下公式计算圆的面积:

area = Π x r(2)

您所需要的只是圆的半径,并使用3.1415927作为Pi的值

可以获得视图的宽度和高度,但这取决于绘制圆的方式。如果在画布上绘制,可以使用以下公式计算圆的面积:

area = Π x r(2)

您所需要的只是圆的半径,并使用3.1415927作为Pi的值

将画布推送到位图,然后计算像素数:

public static Bitmap getBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}

这将获得位图,然后逐步通过每个像素并计算您要查找的颜色:

for(int x = 0; x < b.getWidth(); x++){
    for(int y = 0; y < b.getHeight(); y++){
        int pixel = b.getPixel(x,y);
        int r = Color.red(pixel);
        int g = Color.green(pixel);
        int b = Color.blue(pixel);

        //test against your colour here and increment counter
    }
}    
for(int x=0;x

我手头没有IDE,因此代码可能有点粗糙,但它会让您掌握正确的方向

将画布推送到位图,然后计算像素数:

public static Bitmap getBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}

这将获得位图,然后逐步通过每个像素并计算您要查找的颜色:

for(int x = 0; x < b.getWidth(); x++){
    for(int y = 0; y < b.getHeight(); y++){
        int pixel = b.getPixel(x,y);
        int r = Color.red(pixel);
        int g = Color.green(pixel);
        int b = Color.blue(pixel);

        //test against your colour here and increment counter
    }
}    
for(int x=0;x

我手头没有IDE,因此代码可能有点粗糙,但它会让您掌握正确的方向

你看到了吗?@ShivanRaptor我知道如何计算否。如果整个屏幕的像素,但我不知道knw如何对特定部分执行相同的操作你看到了吗?@ShivanRaptor我知道如何计算否。如果整个屏幕的像素,但我不知道knw如何对特定部分执行相同的操作,我不得不放弃面积的概念方法我们无法计算不规则图形的面积你在画布上绘图吗?是的。我在画布上绘图如果你有固定的背景颜色,并且你要计算像素的“形状”是固定颜色,你可以将画布导出为位图,然后逐步计算每个像素的值。所以,如果背景是黑色的,你画的是红色的,计算所有像素并合计红色像素。它解决了一半的问题:)Thnxx:Di必须放弃面积的概念。.bcoz通过这种方法,我们无法计算不规则图形的面积。你在画布上画画吗?是的。我在画布上画画如果你有固定的背景颜色,并且你要计算像素的“形状”是固定的颜色您可以将画布导出为位图,然后逐步查看每个像素的值。因此,如果背景是黑色的,而您正在绘制红色,则计算所有像素并合计红色像素。这解决了问题的一半:)Thnxx:DThanxx a lot buddy:DThanxx a lot buddy:D