[英]Extract image's width, height, color and type from byte array
我的Java代碼中有一個byte[]
數組格式的圖像。 我想要從該數組中提取以下信息。 我怎樣才能盡快完成。
使用ImageIO作為緩沖圖像讀取,然后獲取所需的相關內容。 請參閱http://docs.oracle.com/javase/6/docs/api/javax/imageio/ImageIO.html上的 java doc。
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// assuming that picture is your byte array
byte[] picture = new byte[30];
InputStream in = new ByteArrayInputStream(picture);
BufferedImage buf = ImageIO.read(in);
ColorModel model = buf.getColorModel();
int height = buf.getHeight();
}
}
要從字節數組中獲取圖像類型 ,您可以執行以下操作:
byte[] picture = new byte[30];
ImageInputStream iis = ImageIO.createImageInputStream(new ByteArrayInputStream(picture));
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
while (readers.hasNext()) {
ImageReader read = readers.next();
System.out.println("format name = " + read.getFormatName());
}
這是我對不同文件的輸出:
format name = png
format name = JPEG
format name = gif
它的靈感來自:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.