» »

Izginjanje slike iz UV pri manipulaciji GUI-ja - JAVA

Izginjanje slike iz UV pri manipulaciji GUI-ja - JAVA

brinovcek ::

Pozdravljeni,

Programiram en enostaven urejevalnik slik, ki ima zaenkrat 3 osnovne funkcije ( glajenje, ostrenj in iskanje ostrih robov slike. Sliko izrisujem v jPanel in sicer z objektom Graphics pri tem pa imam enih par težav saj mi ni jasno zakaj se mi slika včasih samo napol prikaže, ob premiku okna mi slika izgine ter kadar grem v spustni meni se mi slika kjer zakrije, kjer jo prekije spustni meni. Zanima me Äe kdo pozna kako idejo oz ali kdo pozna rešitev za tale problemček.
BufferedImage slika=null;
Graphics g,g1;
 private void odpriSliko(java.awt.event.ActionEvent evt) {                            
        // TODO add your handling code here:
          //g = jPanel2.getGraphics();
          g1 = jPanel1.getGraphics();
          
        int returnVal = jFileChooser1.showOpenDialog(jMenu1);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            try {
                slika = ImageIO.read(new File(jFileChooser1.getSelectedFile().getAbsolutePath()));
                System.out.println("odpiranje");
                boolean drawImage = g1.drawImage(slika, 0, 0, null);
                //boolean drawImage1 = g.drawImage(slika, 0, 0, null);
            } catch (IOException ex) {
                System.out.println("napaka odpiranje");
            } 
        }
 }
 private void shraniSliko(java.awt.event.ActionEvent evt) {                             
        // TODO add your handling code here:
         int showSaveDialog = jFileChooser1.showSaveDialog(menuBar);
        if(showSaveDialog==JFileChooser.APPROVE_OPTION){
            File file = jFileChooser1.getSelectedFile();
              /* What to do with the file, e.g. display it in a TextArea
              panel.read( new FileReader( file.getAbsolutePath() ), null );*/
                File outputfile = new File(jFileChooser1.getSelectedFile().getAbsoluteFile().toString());
               // boolean write = ImageIO.write(g, "jpeg", outputfile);
                 BufferedOutputStream out;
                    try {
                        out = new BufferedOutputStream(new FileOutputStream(outputfile));
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(slika);
                        encoder.setJPEGEncodeParam(param);
                [st.slika http://www.shrani.si/t/45/Nh/20aCC6jg/primer.jpg primer napake]        encoder.encode(slika);
                        out.close();
                    } catch (Exception e) {
                        e.getMessage();
                    }
        } else {
            System.out.println("File access cancelled by user.");
        }

    }                              
 

Poleg tega prilagam še sliko za lažje razumevanje problema.
 primer napake

primer napake

  • poskusil klonirati: brinovcek ()

Vesoljc ::

re-draw moras sprozit (ali za celo sliko, ali pa za specificen del - invalidated rectangle). no vsaj win api tako deluje...
Abnormal behavior of abnormal brain makes me normal...

MrBrdo ::

sliko mors shranit v spremenljivko (npr v classu) in potem nastavis elementu ki prikazuje sliko neko onpaint ali ondraw metodo ali kaj takega, in samo tam noter rišeš (drawImage). V odpriSliko pa samo pokličeš redraw\invalidate\repaint\nekaj takega na elementu ki riše sliko
ali pa če obstaja kontrola prav za izrisovanje slike, ki ji lahko določiš sliko kot nek property... tam je ponavadi potem to že urejeno, da deluje pravilno
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] Izpis imen vseh datotek iz direktorija in poddirektorijev

Oddelek: Programiranje
214515 (2544) Slovenet
»

[Java]Listanje slikovnih datotek v izbranem direktoriju

Oddelek: Programiranje
91040 (875) illion
»

[Netbeans-Java]Embossing,blurring,sharpening

Oddelek: Programiranje
71055 (957) t3hn0
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242279 (1914) Bela01
»

Kako pošiljanje datotek v JAVI.

Oddelek: Programiranje
141729 (1600) kopernik

Več podobnih tem