2011-10-10 103 views
6

我试图将图像拆分成块,例如说16块(4x4)。一旦我分割图像,我如何显示这些块图像作为一个整体。将图像拆分为块

我应该使用位图还是可绘制的?有没有一种方法可以拆分,还是需要制作一个自定义方法?

回答

1

使用位图是因为它包含图像的像素,如果您愿意显示该图像,这将有利于将来的使用。

例如---->

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

- ------------------------------ -----编辑部分------------------------------------------- -

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

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

,然后把这个给行吟诗人r设备。

+0

可以请你给我看一个例子。其实我想知道如何将图像分成块,然后使用这些块显示整个图像。 – AndroidDev

+0

为什么你想要它把它分成块,然后显示和我给出的示例代码行是正确的事情,如果问题发布后先尝试它,我会尽力解决它。如果我的回答帮助你接受或者赞扬它。 – Rocker

+0

其实我最初在我的应用程序添加NFC支持最初在录制两个设备,我从一个设备传输文本到另一个。现在我想传输图像,而不是文本。因此,首先,我必须将图像分成块并发送它一个又一个..所以这就是为什么我想要这些 – AndroidDev

0

您可以使用Canvas,并将其绘制为块,并将其分别设置为4x4,ImageView

@note:

  • 在我的经验,Bitmap将提供更好的性能比Drawable
  • 减小图像尺寸和质量足以在屏幕上显示,然后分割并设置为ImageView

你可以参考我的图像处理文章列表来获得一些想法。实际上,这不是很难:)