JAVA

10 bejegyzés megtekintése - 1-10 / 14
  • Szerző
    Bejegyzés
  • #2048104
    sipdav
    Felhasználó

      Bocsesz, hülye voltam. A tömbméretet 4-re kell állítani 🙂

      #2048105
      str2etboy
      Felhasználó

        Hi

        Szeretnék egy képet betölteni… Eddig így próbálkoztam:

        Code:
            public void paintComp(){                 
                Graphics g;     
                int x=0;
                int y=0;
                Image img = Toolkit.getDefaultToolkit().getImage(„c:/kuser.png”);
                g.drawImage(img, x, y, jPanel2);
            }

        Sikertelenül… Mi lehet a bibi?

        #2048106
        Leslieman
        Felhasználó

          http://javaalmanac.com/egs/java.awt/LoadImage.html

          Egyébként ha C:-ot írsz, akkor ugye windowson dolgozol? Mert ha igen, akkor viszont -el kell elválasztani a könytárakat, de akkor a Java kódba \-t kell beínod.
          Hibadetektálást/kezelést MINDIG tegyél a programba!

          #2048107
          pointux
          Felhasználó

            2. ez így amúgy sem fog mûködni, mert ez a függvény – automatikus – nem várja meg az image betöltõdését, hanem folytatódik a program a következõvel – jelen esetben a drawimage fgv-el… vagyis nem jelenik meg semmi.

            Vagy valamilyen ilyesfajta megoldást alkalmazol:
            img = Toolkit.getDefaultToolkit().getImage(filename);
                    MediaTracker mt = new MediaTracker(this);
                    mt.addImage(img, 1);
                    try {
                        mt.waitForAll();
                    } catch (Exception e) {

                    }
                   
                    if (Img.getWidth(this) == -1) {

                    }

            Vagy más módot használsz:
            pl:
            imageicon = new ImageIcon(filename);

            (Amennyiben csak megjeleníteni kívánod a képeket ok, de, ha saját függvényekkel módosítani, akkor a java nem a legjobb megoldás – fõként sebesség szempontjából, de memória szempontjából sem. Ugyanez vonatkozik a részképek kezelésére.)

            #2048108
            ds
            Felhasználó
              vizsla wrote:
              (Amennyiben csak megjeleníteni kívánod a képeket ok, de, ha saját függvényekkel módosítani, akkor a java nem a legjobb megoldás – fõként sebesség szempontjából, de memória szempontjából sem. Ugyanez vonatkozik a részképek kezelésére.)

              esetleg jai -t kéne használni
              http://java.sun.com/products/java-media/jai/

              #2048109
              pointux
              Felhasználó

                „esetleg jai -t kéne használni”
                Az i/0 mûveletek sokkal maceránsabbak. Minek, ha meg is lehet ettõl kímélnie magát az embernek. :)) (Normál körülmények között nem nyersz vele semmit. Akkor viszont jó, ha valami java által nem ismert image formátumot akarsz kezelni és egységesítve a többiekkel. Ismerek egy progit, mely ezt csinálja. Meg is próbáltam fejteni a forrását, de azt mondtam grrr… ennyire azért nem vagyok mazó :)))))

                #2048110
                ds
                Felhasználó
                  vizsla wrote:
                  „esetleg jai -t kéne használni”
                  Minek, ha meg is lehet ettõl kímélnie magát az embernek. :)) (Normál körülmények között nem nyersz vele semmit.

                  te mondtad, hogy képeket akarsz „manipulálni”, tehát azért, mert ez arra van 🙂 , ha csak meg akarod jeleníteni akkor nem kell

                  #2048111
                  pointux
                  Felhasználó

                    „te mondtad, hogy képeket akarsz „manipulálni”, tehát azért, mert ez arra van”
                    Ezzel a cuccal a fileok i/o mûveleteit tudod kezelni, ahelyett, hogy már egy „kész” (kitömörített) stb image-t kapnál. Semmivel nem könnyebb a képmanipulálás, mert úgyis alkalmazkodni kell a végén a java image formátumhoz, akármilyen formátumot nyersz is a file-ból. Ami viszont ennek az elõnye, hogy ha van egy file-od, melynek a formátumát nem ismeri a java, akkor egységesen tudod kezelni a többi már ismert file-formátummal, hiszen kimenetként a bináris állományt kapod meg (melyet mindegyikbõl meg tudsz kapni :)). Ellenben, ha csak ismert formátumokkal van dolgod, akkor teljesen értelmetlen a nulláról kezdeni… be kell nyomni egy iconba, vagy egy bufferedimage-ba (vagy valami ilyesmibe).
                    A másik dolog. Ez az i/o kezelés szintúgy nem oldja meg a java lassú memória kezelését, meg az a trükköt sem lehet vele elkövetni, hogy egy raw image részleteire hivatkozol egy pointerrel, mint a c++, c maradványával. Bizony a java szín oo itt létre kell hozni az a részimage-t, ami plusz memória, idõ, stb. Azzal sem tudsz mit kezdeni, hogy a java, akkor is ragaszkodik a oo-sághoz, ha az jóval lassabb.
                    (Szóval a negatívumok megmaradnak és fölöslegesen több utasítást is kell kiadni. Minek csinálnád meg 4-be, amikor megcsinálhatod 1-be.

                    #2048112
                    ds
                    Felhasználó

                      aha szóval csak i/i képmanipulálás nem könyebb, hmm… lássuk:
                      javax.media.jai.operator.MeanDescriptor
                      javax.media.jai.operator.MedianFilterDescriptor
                      javax.media.jai.operator.RescaleDescriptor
                      javax.media.jai.operator.UnsharpMaskDescriptor

                      és természetesen nem csak az egész képen hajthatók végre a mûveletek (mielõtt még részképeket akarnál létrehozni)

                      szóval unsharpmask néhány utasítással… hm lusta vagyok? may be 🙂

                      #2048113
                      pointux
                      Felhasználó

                        „és természetesen nem csak az egész képen hajthatók végre a mûveletek (mielõtt még részképeket akarnál létrehozni)”

                      10 bejegyzés megtekintése - 1-10 / 14
                      • Be kell jelentkezni a hozzászóláshoz.