簡體   English   中英

將字節轉換為圖像

[英]convert byte to image

為什么即使有數據,bImageFromConvert也會變為空?

BufferedImage img = null;
byte[] s;
ArrayList<Byte> f;
InputStream in;
BufferedImage bImageFromConvert;

public void print(ArrayList<Byte> lst) throws IOException {
    byte[] o = new byte[lst.size()];
    for (int i = 0; i < lst.size(); i++) {
        o[i] = lst.get(i);
    }
    in = new ByteArrayInputStream(o);
    bImageFromConvert = ImageIO.read(in);

好的,根據評論中的討論:

您有一個字節流,表示每像素RGB。

根據它的Javadoc, ImageIO.read()確實“返回一個BufferedImage作為解碼所提供的InputStream的結果,其中ImageReader是從當前注冊的那些中自動選擇的。” 因此, ImageIO.read()通常不期望RGB像素字節,而是編碼為JPG或PNG。 由於無法將字節流識別為有效的圖像編碼,因此返回null。

然后在SO上給出如何從RGB像素字節獲取圖像的可能解決方案: 如何在Java SE中將字節數組轉換為Image

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM