گرفتن رنگ میانگین یک تصویر در b4a

گرفتن رنگ میانگین یک تصویر
میتونیم با این تابع میانگین رنگ هایی که در یک تصویر استفاده شده رو بگیریم:

#If JAVA
public int calculateAverageColor(android.graphics.Bitmap bitmap, int pixelSpacing) {
int R = 0; int G = 0; int B = 0;
int height = bitmap.getHeight();
int width = bitmap.getWidth();
int n = 0;
int[] pixels = new int[width * height];
bitmap.getPixels(pixels, 0, width, 0, 0, width, height);
for (int i = 0; i < pixels.length; i += pixelSpacing) {
int color = pixels[i];
R += Color.red(color);
G += Color.green(color);
B += Color.blue(color);
n++;
}
return Color.rgb(R / n, G / n, B / n);
}
#End If

از تابع بالا به این شکل استفاده میکنیم:

 

Dim JO As JavaObject
JO.InitializeContext
View.Color = JO.RunMethod("calculateAverageColor",Array(MyBitmap,1))

 

در اینجا میانگین رنگ های استفاده شده در تصویری که درون متغیر MyBitmap ریخته ایم رو گرفتیم و به عنوان رنگ پس زمینه view قرار داده یم.

امیدوارم مفید واقع گردد.

دیدگاهتان را بنویسید