java - Android - 如何从一张大位图创建小位图?

标签 java android bitmap

我有一个大位图 (720x6000),我需要用它制作 6 个小位图(每个 720x1000)。我怎样才能做到这一点?请在您的答案中添加一些代码。

请原谅我的英语不好。

最佳答案

最简单的解决方案是使用静态方法 Bitmap.createBitmap (Bitmap source, int x, int y, int width, int height)女巫从“源”位图的指定子集创建一个新的不可变位图(不可变位图无法修改。尝试修改将引发异常)。如果较小的位图必须是可变的,您可以转换 Bitmap.createBitmap() 返回的不可变位图。通过调用 Bitmap.copy(Bitmap.Config config, boolean isMutable) 来更改为可变的.

Bitmap bigBitmap = ...;
Bitmap smallBitmap1 = Bitmap.createBitmap(bigBitmap, 0, 0, 720, 1000);
Bitmap smallBitmap2 = Bitmap.createBitmap(bigBitmap, 0, 1000, 720, 1000);
Bitmap smallBitmap3 = Bitmap.createBitmap(bigBitmap, 0, 2000, 720, 1000);
...
// to make small bitmaps mutable
smallBitmap1 = smallBitmap1.copy(Bitmap.Config.ARGB_8888, true);
smallBitmap2 = smallBitmap2.copy(Bitmap.Config.ARGB_8888, true);
...

另一种解决方案是创建空的小位图,并使用 Canvas 在较小的位图上绘制大位图的部分。 .

关于java - Android - 如何从一张大位图创建小位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724819/

相关文章:

java - 将 SWT 小部件添加到 swing JPanel

java - EJB 异常 : Channel Channel ID fc7b3f27 (outbound) of Remoting connection 31ad98ef to localhost/127. 0.0.1:4447 无法再处理消息

c++ - 如何将 gdi+ 类位图结构转换为 HDC?

java - 将许多位图上传到服务器的最佳方法

java - 从 R.raw 文件夹中打开文件

c# - 创建图形并将其另存为位图

java - 如何将标签放入我创建的内框架中?

java - 签名的 Java Applet 提示打印机访问

android - Eclipse/Android - 如何监控设备的 HTTP 流量

android - 具有 Doze 电池优化功能的 Spotify Android SDK