2016-06-21 4 views
1


인터넷에서 텍스트를 가져 와서 (또는 문자열을 디코딩 할 수도 있음) 하드 디스크를 건드리지 않고 JLabel에서 텍스트를 나타낼 수 있습니다 .
그래서 이미지로도 같은 일을 할 수 있는지 궁금합니다. 직접 설명해 드리겠습니다.
JLabel에서 16 진수 표현으로 이미지를 "즉석에서"표현하고 싶습니다. 즉, 하드 디스크를 건드리지 않고도 RAM에서 이미지를 표현하고 싶습니다. 나는 인터넷에서 그것을 loding 의미하지 않는다, 나는 이미지의 16 진법 코드를 가지고있는 파일을 읽는 것과 같은 것을 의미한다. ASCII로 변환하고 그것을 파일 인 것처럼 JLabel에 프로그래밍 방식으로 삽입한다.
이것도 가능합니까? 나는 분명하지는 않다고 생각하지만, 내가 무엇을 말하려고하는지 이해하기를 바랍니다.하드 디스크를 사용하지 않고 RAM에서 이미지를 "즉시"로드하십시오.

+0

이미 16 진수 문자열이 있다면 'JLabel'에 넣기 전에 왜 디스크에 기록해야합니까? – kichik

답변

1

가능합니다. 인터넷에서 이미지를로드하는 경우 javax.swing.ImageIcon 생성자가 URL을 매개 변수로 사용하면 ImageIconJLabel으로 지정합니다.

귀하의 설명에 대한 답변으로, 그렇습니다.

  1. 당신은 여전히 ​​같은 방법으로 위 사용할 수 있습니다

    몇 가지 옵션이 있습니다, 여기에 몇 가지 있습니다 "파일 : // 당신/이미지/파일"ImageIcon에 URL로.

  2. ImageIcon도 이미지 데이터의 byte[]을 허용합니다. 따라서 일반 파일을 ByteArrayInputStream으로 읽고 그 중 byte[]을 얻을 수 있습니다.

+0

오해에 대해 대단히 죄송합니다. –

+0

업데이트를 시도했지만 다음 이미지가 표시됩니다. https://gyazo.com/dadb0bfab3426b65f2e04ddeda41c23f 내 코드 : http://pastebin.com/riYtEypV –

+0

img.dat 파일의 크기는 어느 정도입니까? 1 줄만 포함되어 있습니까? 코드는 파일의 첫 번째 행만 읽기 때문에 원본 img.jpg 파일이 있습니까? jpg 이미지 파일을 직접 읽을 수 있습니까? –