Java 编码图像文件
我有一个颜色r,g和b值的整数数组。我想把它们编码成一个图像文件。android中有没有一种简单的方法可以将这些数据写入图像?另外,我应该使用哪种图像格式,png?有用于读取和写入图像的纯java实现:Java 编码图像文件,java,android,image,Java,Android,Image,我有一个颜色r,g和b值的整数数组。我想把它们编码成一个图像文件。android中有没有一种简单的方法可以将这些数据写入图像?另外,我应该使用哪种图像格式,png?有用于读取和写入图像的纯java实现: 可能有些会在android开箱即用中使用int数组创建位图,如下所示: 然后用以下方法写出: 如果要保存文件,可以调用以获取外部存储上的文件夹,在该文件夹中保存文件。您可以使用get获取路径,例如: 您需要在AndroidManifest.xml中定义的权限才能写入外部存储上的文件。我相信An
可能有些会在android开箱即用中使用int数组创建位图,如下所示: 然后用以下方法写出: 如果要保存文件,可以调用以获取外部存储上的文件夹,在该文件夹中保存文件。您可以使用get获取路径,例如:
您需要在AndroidManifest.xml中定义的权限才能写入外部存储上的文件。我相信Android中可以使用ImageIO。ImageIO API提供了读取源图像和以新文件格式写入图像的方法 要读取图像,只需为ImageIO.read()方法提供源图像的文件对象。这将返回一个BuffereImage
//Create file for the source
File input = new File("c:/temp/image.bmp");
//Read the file to a BufferedImage
BufferedImage image = ImageIO.read(input);
一旦有了BuffereImage,就可以将该图像作为PNG写入。您需要为目标图像创建一个文件对象。调用write()方法时,将类型字符串指定为“png”
使用位图格式(.bmp)可能是最简单的。显然,您需要手动设置所有必需的标题。
outStream = new FileOutputStream(filepath);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/image.png";
//Create file for the source
File input = new File("c:/temp/image.bmp");
//Read the file to a BufferedImage
BufferedImage image = ImageIO.read(input);
//Create a file for the output
File output = new File("c:/temp/image.png");
//Write the image to the destination as a PNG
ImageIO.write(image, "png", output);