Kezdőlap › Fórumok › Programozás › JAVA
- This topic has 13 hozzászólás, 6 résztvevő, and was last updated 19 years, 5 months telt el by
pointux.
-
SzerzőBejegyzés
-
2006-02-02-20:06 #2048104
Bocsesz, hülye voltam. A tömbméretet 4-re kell állítani 🙂
2006-02-03-10:08 #2048105Hi
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?
2006-02-03-11:40 #2048106http://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!2006-02-03-14:54 #20481072. 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.)
2006-02-03-23:29 #2048108vizsla 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/2006-02-04-11:03 #2048109„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ó :)))))2006-02-04-19:50 #2048110vizsla 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
2006-02-04-21:01 #2048111„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.2006-02-04-22:19 #2048112aha 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 🙂
2006-02-04-23:07 #2048113„é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)”
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz