将图像拆分为块

时间:2011-10-10 11:11:34

标签: android

我试图将图像分割成碎片,例如16个块(4x4)。一旦我分割图像,我怎样才能显示这些块图像。

我应该使用位图还是可绘制的?有没有方法可以拆分,还是我必须制作自定义方法?

2 个答案:

答案 0 :(得分:1)

使用位图,因为如果您愿意显示该图像,它会保留图像的像素,以便将来使用。

例如---->

 Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
   ImageView iv = (ImageView) findViewById(R.id.imageView1);
   iv.setImageBitmap(bm);

- ----------------------------------- EDITED PART ------ --------------------------------------

如果你想将图像从一个地方发送到另一个设备(一个设备到另一个设备),你可以把它转换成像这样的字节数组--->

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 bm.compress(Bitmap.Compress.JPEG, 100, baos);
 byte[] b = baos.toByteArray();

然后将其发送到其他设备。

答案 1 :(得分:0)

您可以使用Canvas,使用绘图功能,将其拆分为块并将每个设置为4x4 ImageView

@note:

  • 根据我的经验,Bitmap会提供比Drawable更好的表现。
  • 首先缩小图像尺寸和质量,然后分割并设置为ImageView

您可以参考我的图像处理文章列表来了解它。实际上,它并不那么难:)