자바 파일에 이미지 포함시키기..

leonid의 이미지

안녕하세요. 이번에 새로 가입한 회원입니다 ^^;

가입하자마자 질문부터 하게 생겼네요.

보통 이미지 파일을 띄우려면

Toolkit.getDefaultToolkit().getImage("image/image.jpg");

이런식으로 이미지 폴더에서 불러와서 그리는데요..

이런 식 말고

이미지 파일들을 자바 파일에 아예 포함되게 해버려서 (로드하는 것이 아니라)

실행시킬 때에도 이미지 파일이 들어있는 폴더가 필요 없도록 하려면

어떻게 해야 할까요?

알려주세요..

qustus의 이미지

java를 컴파일 하면 실행 파일이 아니라 바이트코드 .class 파일이 만들어지니까
그 안에 이미지를 포함시키는 것은 안 될 것 같네요...
이미지가 포함된 jar파일로 만들어서 실행하면 될 겁니다.

lovian의 이미지

이미지파일을 base64 등으로 인코딩시키거나 헥사코드의 나열로 코드에다가 박아버리면,
제아무리 바이트 코드라 해도 상관이 없지 않을까 합니다.
-----------------
한글을 사랑합니다.

-----------------
한글을 사랑합니다.

cleol의 이미지

qustus 님 말씀대로 jar 파일을 만들어 class 파일과 image 파일을 묶어두는게 좋은 방법입니다. 그러면

Toolkit.getDefaultToolkit().getImage(getClass().getResource("image/image.jpg"));

처럼 사용하실 수 있습니다. lovian 님 말씀대로 할 수도 있지만 이미지 관리가 어려우니 추천하고 싶지는 않습니다.

dormael의 이미지

예를들어

public Image createImage(byte[] imagedata)
public abstract Image createImage(byte[] imagedata,
                                  int imageoffset,
                                  int imagelength)

와 같은 방법을 이용하실수도 있습니다.
imagedata는 이미지 파일의 byte[]입니다.
후자는 한번에 여러 이미지를 읽어온 후 특정 영역에 위치한 이미지를 초기화 할때 쓰시면 됩니다. 파일을 미리 byte[]로 만들어서 소스코드에 포함하셔도 되고, Class 클래스에서 리소스(클래스패스 디렉토리나 jar파일 내에있는)를 스트림으로 읽어올 수 있는 아래 메소드를 이용해서 로드 하셔도 됩니다.

public InputStream getResourceAsStream(String name)

원하시는게 아예 소스코드에 이미지를 넣으시는 거라면 파일을 미리 byte[]로 만들어서 createImage메소드로 초기화 하시면 될것 같습니다.

-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.

leonid의 이미지


감사합니다. :)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.