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

431

    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. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      147
      8120
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      423
      7151
    3. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      69
      3663
    4. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      142
      3311
    5. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      109
      2824
    6. Huomaatteko Demari Tytti ei esitä pahoitteluitaan

      Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään
      Maailman menoa
      44
      2358
    7. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      126
      1936
    8. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      23
      1793
    9. Turvaan tulleet lähettävät omia lapsiaan vaaraan - hullua

      MOT-ohjelman jakso ”Loma vaihtui kahleisiin” kertoi, kuinka Suomessa ja muualla Euroopassa asuvat somaliperheet lähettäv
      Maailman menoa
      26
      1576
    10. Tytti Tuppurainen nöyryyttää avustajiaan

      Tytti Tuppurainen nöyryyttää SDP:n eduskuntaryhmän kokouksissa sekä avustajia että kansanedustajia. Hän nolaa ihmisiä ju
      Kotimaiset julkkisjuorut
      182
      1457
    Aihe