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

Java 使用背景位置从PNG图像中提取图像,java,android,image,Java,Android,Image,我想使用背景位置从PNG文件中提取一组图像(就像我们在CSS文件中所做的那样) 主要的PNG文件是,我想分别得到每个国家的国旗 Android中是否有任何方法可以通过编程方式提取这些标志 谢谢 1.将文件加载到位图中 2.访问每个像素阵列 3.使用数组创建一个小位图 正确解释你的要求是什么。没有得到你想要的剪辑也看看谢谢Nepster,我觉得我的问题很清楚。不管怎样,我找到了这个问题的解决方案;)谢谢@Suhyeon Lee,我认为有另一种解决方案,而不是使用位图解码方法,但没关系,

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

主要的PNG文件是,我想分别得到每个国家的国旗

Android中是否有任何方法可以通过编程方式提取这些标志

谢谢


1.将文件加载到位图中


2.访问每个像素阵列


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


正确解释你的要求是什么。没有得到你想要的剪辑也看看谢谢Nepster,我觉得我的问题很清楚。不管怎样,我找到了这个问题的解决方案;)谢谢@Suhyeon Lee,我认为有另一种解决方案,而不是使用位图解码方法,但没关系,我会看看这个解决方案是否适合我;)
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
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);  
Bitmap flag = Bitmap.createBitmap(dstWidth, dstHeight, Bitmap.Config.ARGB_8888);
bitmap.copyPixelsFromBuffer(pixelArray);