猿问

关于jpeg和png文件结构和头信息的问题

我需要能够修改 jpeg 或 png 文件的内容,并且能够成功地将图像分解为字节,反之亦然。唯一的问题是我不知道 jpeg 文件头或 png 文件头有多少字节组成。对于像我这样的初学者来说,大多数网站上的信息都非常模糊和/或信息量太大。


如果有人可以提供一个简单的答案,告诉我需要跳过多少字节才能通过标题,以及如何识别图像是 jpeg 图像还是 png 图像以及我可能不会的任何其他重要信息,我真的很感激都提到过。


我在下面添加了我用来从图像中提取字节并将图像转换为字节的代码。


注意:此代码适用于 android 操作系统


用于将图像转换为字节的代码:


public  byte[] imgtobytes(File f)

{

 FileInputStream fis=null;


 try

 {

  fis = new FileInputStream(f);

 }


 catch(Exception e)  {}


  Bitmap bm = BitmapFactory.decodeStream(fis);

  ByteArrayOutputStream baos = new ByteArrayOutputStream();

  bm.compress(Bitmap.CompressFormat.JPEG, 100 , baos);

  byte[] b = baos.toByteArray();

  return b;

}

用于将字节转换为图像并将其显示在图像视图上的代码:


public void bytestoimg(byte[] bytearray, ImageView imgv)

{

    Bitmap bmp = BitmapFactory.decodeByteArray(bytearray, 0, bytearray.length);


    imgv.setImageBitmap(Bitmap.createScaledBitmap(bmp, imgv.getWidth(),

        imgv.getHeight(), false));

}


杨__羊羊
浏览 138回答 0
0回答

小唯快跑啊

我不久前在 python 中做过一些类似的加密工作。我相信您可以在“示例”部分下的这篇维基百科文章中找到您要查找的内容。你也可以看看这个答案
随时随地看视频慕课网APP

相关分类

Java
我要回答