我想知道如何获取图片标题的大小。我一直在网上搜索,但我没有找到有关如何在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();
答案 0 :(得分:0)
我不建议自己编写代码来处理PNG操作,除非这是项目的主要目标。相反,我会找到一个库来处理为您加载PNG,然后加扰它可以为您获取的块。我在这里找到了一个不错的PNG java库:
此外,我根据他们的示例编写了一个小代码片段,以帮助您在正确的轨道上加扰图片。
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
*/
}