2013-12-16 9 views
0

Java에 익숙하지만 그래픽에 익숙하지 않습니다. JLabels 및 아이콘을 사용하여 많은 사진을 표시하는 프로젝트에 대한 이해를 넓히려합니다.Java에 이미지와 관련된 알려진 문제가 있으며

항목 사진은 그물과 다양한 소스에서 다양한 위치에 장식되어 있습니다.

저는 투명 배경을 가지고 있기 때문에 이것을 PNG 파일로 변환했습니다.

최근에 주말 내내 한 항목이 표시되지 않기 때문에 일부 주 코드를 확인하고 다시 검사하는 데 낭비가됩니다. 결론은 논리에 따라 파일이 올바르게 표시되었지만 오류가있는 파일이라고 나에게 말했습니다. 포토샵에?

필자는이 파일에 대해 고유 한 것이 무엇인지 알아보기 위해 파일에 들어갔습니다. 그러나 32 비트 대신 8 비트로 구분하면 차이점이 없었습니다.

... 내 질문에 자바는 실제로 어려운 방법을 찾아 내기 전에 알아야 할 특정 형식의 파일 형식을 표시하는 데 문제가 있습니다.

코드없이 죄송 합니다만 질문하지 않으므로 보증하지 않습니다.

나는 지금까지 내가 그것을 이해, 자바가 잘 PNG를 처리 할 수 ​​있어야 나에게 문제의 원인이 된 파일이 여기 http://upload.wikimedia.org/wikipedia/en/d/d5/XXXX_Logo.png

+0

자바는 png를 잘 처리 할 수 ​​있어야합니다. SVG와 같은 벡터 형식을 표시하려면 외부 라이브러리를 사용해야합니다. –

답변

4

에서 가져온되었다 생각합니다. 이며 SVG와 같은 벡터 이미지 형식을 포함하여 Java에서 지원하지 않는 형식입니다. 그러나 이들 대부분의 경우 도움을 줄 수있는 외부 도서관이 있습니다.

import java.awt.image.BufferedImage; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 
import javax.imageio.ImageIO; 
import javax.swing.ImageIcon; 
import javax.swing.JOptionPane; 

public class Foo { 

    public static void main(String[] args) { 
     String spec = "http://upload.wikimedia.org/wikipedia/" 
      + "en/d/d5/XXXX_Logo.png"; 
     URL url; 
     try { 
     url = new URL(spec); 
     BufferedImage img = ImageIO.read(url); 
     ImageIcon icon = new ImageIcon(img); 
     JOptionPane.showMessageDialog(null, icon); 
     } catch (MalformedURLException e) { 
     e.printStackTrace(); 
     } catch (IOException e) { 
     e.printStackTrace(); 
     } 
    }  
} 

명세서에 대해서는, 대한

죄송합니다 :

당신이 연결 한 이미지의 예에 관해서, XXXX Image

, 나는 어떤 문제를 읽고 표시하기 위해 자바를 받고이 없습니다 질문으로서의 어떤 코드도 그것을 보증하지 않습니다.

나는 구걸한다. 문제를 일으키는 문제를 일으키는 이미지와 코드를 보여주는 것이 문제 해결의 핵심이라고 생각합니다. 예를 들어 내 대답이 도움이되지 않는다면, 어떤 방식으로 작동하지 않는지를 보여줄 것을 강력히 촉구합니다. 위에 재 게시 한 코드와 유사하게 재현 할 수 있습니다.

+0

어떻게 작동하는지, 어떤 첨부 옵션이 보이지 않는지 문제가되는 이미지를 보낼 수 있습니다. –

+0

가끔 게으름입니다. http://www14.zippyshare.com/v/3316270/file.html –