目前我有一个2d整数数组,其中包含图像的argb值。现在我想得到一个带有这些值的位图来显示在屏幕上。
位图也应该缩放,例如图像是80x80或133x145,但我只希望它是50x50。类似于这样,但由于是android,java类不可用:
private static BufferedImage scale(BufferedImage image, int width, int height) {
java.awt.Image temp = image.getScaledInstance(width, height, java.awt.Image.SCALE_SMOOTH);
BufferedImage imageOut = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D bGr = imageOut.createGraphics();
bGr.drawImage(temp, 0, 0, null);
bGr.dispose();
return imageOut;
}
我已经搜索了api和堆栈溢出,但我找不到任何提示、类或方法如何做到这一点。
1条答案
按热度按时间vxbzzdmp1#
首先创建一个
Bitmap
表示原始大小图像的对象(80x80或133x145)。您可以使用:哪里
width
是源宽度(80或133),以及height
是你的身高(80或145)。那就填这个
Bitmap
从你的阵型中选择颜色。我不知道数组的具体构建方式以及它存储的数据类型,因此为了这个简单的概念解释,我假设它只是一个存储argb hex的常规一维数组String
价值观。一定要纠正for
循环以匹配您的确切案例:然后创建一个缩放的
Bitmap
回收原来的尺寸Bitmap
您以前创建过。