使用背景位置从PNG图像中提取图像

时间:2016-08-30 10:03:11

标签: java android image

我想使用他们的背景位置从PNG文件中提取一组图像(就像我们在CSS文件中一样)。

主PNG文件是List Of Flags,我想分别获得每个国家/地区标记。

Android中有没有办法以编程方式提取这些标志?

谢谢,

enter image description here

1 个答案:

答案 0 :(得分:0)


1.将文件加载到位图中

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
// selected_photo.setImageBitmap(bitmap);   // if you need


2.访问每个像素阵列

int dstWidth = width of the flag rectangle;
int dstHeight = height of the flag rectangle;
int pixelArray[] = new int[dstWidth * dstHeight];

int startX = start X position of your flag;
int endX = end X position of your flag;
int startY = start Y position of your flag;
int endX = end Y position of your flag;

bitmap.getPixels(pixelArray, 0, startX, startX, startY, dstWidth, dstHeight);  


3.使用数组创建一个小位图

Bitmap flag = Bitmap.createBitmap(dstWidth, dstHeight, Bitmap.Config.ARGB_8888);
bitmap.copyPixelsFromBuffer(pixelArray);