Apua kuvan lataamisen kanssa

javaaavaa

File file = new File("./images/kissa.png");
Image img = ImageIO.read(file);
int w = img.getWidth(null), h = img.getHeight(null);
bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.getGraphics();
g.drawImage(img, 0, 0, null);

miten saan ladattua kuvan kansiosta jossa java tiedostoni ja classini on? en keksi keinoa vaikka tuhannen kertaa olen googletellut, kiitos.

4

404

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Javakko

      Mikäs vika tuossa kirjoittamassasi koodissa sitten on, missä kohdin ongelmat tulee? Näyttää ihan järkeenkäyvältä tuo koodi. Tuleeko joku herja vai eikö kuvaa vain näy? Tosin tuossa koodissahan sitä kuvaa ei vielä mihinkään näkvyille piirretäkään.

      • anojavaama

        Kuva ei näy ja on kyllä piirtäminen toisessa koodinpätkässä joka toimii jos asetan tiedoston sijainnin tyyliin "C:\\Users\\Kissa\Desktop\\KoiranKuva.jpg" en voi tajuta miksei tuo onnistu että ottaisin sen kuvan siitä jar tiedostosta / kansiosta jossa nuo koodit on aluksi selvittämällä sijainnin :S tai jotain sinneppäin, pää asia että kuva näkyisi ja kuvat säilyisi kansiossa joka on aina samassa paikassa koneen mielestä oli se pää kansio asetettuna mihin hyvänsä!


      • javakko
        anojavaama kirjoitti:

        Kuva ei näy ja on kyllä piirtäminen toisessa koodinpätkässä joka toimii jos asetan tiedoston sijainnin tyyliin "C:\\Users\\Kissa\Desktop\\KoiranKuva.jpg" en voi tajuta miksei tuo onnistu että ottaisin sen kuvan siitä jar tiedostosta / kansiosta jossa nuo koodit on aluksi selvittämällä sijainnin :S tai jotain sinneppäin, pää asia että kuva näkyisi ja kuvat säilyisi kansiossa joka on aina samassa paikassa koneen mielestä oli se pää kansio asetettuna mihin hyvänsä!

        > ottaisin sen kuvan siitä jar tiedostosta / kansiosta

        Kummin sinulla siis on? Onko tiedostot kansiossa vai jar-paketissa mukana?

        Kokeilepa ihan testimielessä:

        File file=new File(".");
        System.out.println(file.getAbsolutePath());

        Jotta näkee mihin tuo "." hakemisto viittaa sun koneella.

        Kokeile myös:

        File file=new File("./images/kissa.png");
        System.out.println(file.exists());

        Niin näkee löytyykö tiedostoa ylipäätään. Kuvan lataus ei välttämättä failaa jos yrittää ladata kuvaa tiedostosta jota ei ole (vaan se jää odottamaan että tiedosto jossain vaiheessa ilmestyisi).

        Tai sitten unohda kerralla File-kikkailut ja sano:

        ImageIO.read(this.getClass().getClassLoader().getResource("images/kissa.png"));

        Pitäisi toimia sekä hakemistosta että jar-paketin sisältä ladattaessa.


      • javaaamaaa
        javakko kirjoitti:

        > ottaisin sen kuvan siitä jar tiedostosta / kansiosta

        Kummin sinulla siis on? Onko tiedostot kansiossa vai jar-paketissa mukana?

        Kokeilepa ihan testimielessä:

        File file=new File(".");
        System.out.println(file.getAbsolutePath());

        Jotta näkee mihin tuo "." hakemisto viittaa sun koneella.

        Kokeile myös:

        File file=new File("./images/kissa.png");
        System.out.println(file.exists());

        Niin näkee löytyykö tiedostoa ylipäätään. Kuvan lataus ei välttämättä failaa jos yrittää ladata kuvaa tiedostosta jota ei ole (vaan se jää odottamaan että tiedosto jossain vaiheessa ilmestyisi).

        Tai sitten unohda kerralla File-kikkailut ja sano:

        ImageIO.read(this.getClass().getClassLoader().getResource("images/kissa.png"));

        Pitäisi toimia sekä hakemistosta että jar-paketin sisältä ladattaessa.

        Kiitos, nyt onnistui, yritin tuota aijemminkin mutta ilmeisesti jokin meni vikaan, nyt tajusin tuon homman suurinpiirtein vaikkei filen kautta onnistunut! kitos kuitenkin mahtavasta vastauksesta, oli paljon apua.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7463
    2. 83
      5092
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      79
      4889
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      132
      4288
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      10
      3068
    6. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      52
      2709
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      43
      2632
    8. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      53
      2267
    9. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      11
      2243
    10. Suudeltiin unessa viime yönä

      Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit
      Ikävä
      21
      1860
    Aihe