我想使用他们的背景位置从PNG文件中提取一组图像(就像我们在CSS文件中一样)。
主PNG文件是List Of Flags,我想分别获得每个国家/地区标记。
Android中有没有办法以编程方式提取这些标志?
谢谢,
答案 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);