2012-02-17 46 views

回答

4
try { 
    URL url = new URL("http://i.imgur.com/Ad0AP.png"); 
    Image image = Toolkit.getDefaultToolkit().createImage(url); 
} catch (MalformedURLException e) { 
} catch (IOException e) {} 

然後,您可以Image情況下使用這種轉換爲BufferedImage

public static BufferedImage toBufferedImage(Image image) { 
    if (image instanceof BufferedImage) { 
     // Return image unchanged if it is already a BufferedImage. 
     return (BufferedImage) image; 
    } 

    // Ensure image is loaded. 
    image = new ImageIcon(image).getImage(); 

    BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); 
    Graphics g = bufferedImage.createGraphics(); 
    g.drawImage(image, 0, 0, null); 
    g.dispose(); 

    return bufferedImage; 
} 

,然後通過它的圖像環的寬度和高度,之後你你幾乎可以把它放在你喜歡的任何數據結構中。即:

int w = i.getWidth(); 
int h = i.getHeight(); 

int[][] array = new int[w][h]; 
for (int j = 0; j < w; j++) { 
    for (int k = 0; k < h; k++) { 
     array[j][k] = i.getRGB(j, k); // or whatever 
     System.out.println("jk=" + array[j][k]); 
    } 
} 

現在..做休息:)

+1

剛剛建立解決此一類的,運作良好:)謝謝 – Gwilym 2012-02-17 12:36:15

+1

這就是偉大的,真棒! :) – epoch 2012-02-17 12:40:32