获取图像标题的大小

时间:2013-12-31 19:46:46

标签: java android image image-processing

我想知道如何获取图片标题的大小。我一直在网上搜索,但我没有找到有关如何在java / android中获取图像(位图)标题的信息。

任何人都有想法或榜样?

我一直在尝试做的是接下来但由于图片无法打开而无法正常工作:

        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        image.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] b        = baos.toByteArray();  
        byte[] b_header = new byte[8];
        System.arraycopy(b, 0, b_header, 0, 8);
        bos.write(b_header);
        bos.flush();
        bos.close();

1 个答案:

答案 0 :(得分:0)

我不建议自己编写代码来处理PNG操作,除非这是项目的主要目标。相反,我会找到一个库来处理为您加载PNG,然后加扰它可以为您获取的块。我在这里找到了一个不错的PNG java库:

PNGJ

此外,我根据他们的示例编写了一个小代码片段,以帮助您在正确的轨道上加扰图片。

public static void encryptPng(File in, File out) {

   PngReader pngReader = new PngReader(in);
   PngWriter pngWriter = new PngWriter(out, pngReader.imgInfo, false);

   pngWriter.copyChunksFrom(pngReader.getChunksList());

   for (int row = 0; row < pngReader.imgInfo.rows; row++) {
      ImageLineInt lineInt = (ImageLineInt) pngReader.readRow();
      adjustLine(lineInt, pngReader.imgInfo);
      pngWriter.writeRow(lineInt);
   }

   pngReader.close();
   pngWriter.close();

}

public static void adjustLine(ImageLineInt line, ImageInfo info) {
   /*
    Scramble the line with some reversable algorithm so that it can't be read
    */
}