Výsledky 1 až 4 z 4

Téma: JAVA kreslící vrstva nad obrázkem

Hybrid View

Předcházející příspěvek Předcházející příspěvek   Další příspěvek Další příspěvek
  1. #1

    Standardní JAVA kreslící vrstva nad obrázkem

    zdravim, tak v ramci seznamovani textuju co JAVA umi a ted bych si predstavoval neco, ze nactu napríklad obrázek na který se bude dát neco nakreslit (jednou barvou staci) pomoci myši, naprosto volně, o určité šířce. Tato polyline bude existovat jen v tom case a pri dalsim nactení programu neni treba aby byla uchovana.

    Mate nekdo s necim podobnym zkusenosti?
    [Project Morpheus] Intel Core2Duo E8200@3,9GHz, 4096MB DDR2, P35-DS3P, Radeon HD2600Pro 512MB, 1,5TB+0,75TB+2TB, Toshiba DVD-Rom 16x,48x, LG DVD-smazirna, BenQ LCD 22", HP Deskjet 959c, LaserMouse 6000, AC 550W
    [NTB] Corei5 2,6GHz, 6GB DDR3, nVidia Quattro 512MB, 250GB+300GB, LCD 14,1", 720p projector

  2. #2

    Standardní Re: JAVA kreslící vrstva nad obrázkem

    Cest je určitě vícero, ale mě stačila vždy ta základní

    http://java.sun.com/docs/books/tutorial/2d/index.html

    To co chceš viz. Working with images

  3. #3

    Standardní Re: JAVA kreslící vrstva nad obrázkem

    jo to vim to kresleni, me spis zajima to jak na sebe napasovat ty vrstvy, nebo nejakym jednoduzsim zpusobem to udelat...
    [Project Morpheus] Intel Core2Duo E8200@3,9GHz, 4096MB DDR2, P35-DS3P, Radeon HD2600Pro 512MB, 1,5TB+0,75TB+2TB, Toshiba DVD-Rom 16x,48x, LG DVD-smazirna, BenQ LCD 22", HP Deskjet 959c, LaserMouse 6000, AC 550W
    [NTB] Corei5 2,6GHz, 6GB DDR3, nVidia Quattro 512MB, 250GB+300GB, LCD 14,1", 720p projector

  4. #4

    Standardní Re: JAVA kreslící vrstva nad obrázkem

    Tak, když už jsem to nakousl nadhodím ti menší sample:

    Uděláš si víc Image, do kterých si kreslíš to co chceš. 1 Image = 1 vrstva. Kvůli blikání je lepší ještě zařídit doublebuffer, ale ten snad i JFrame má. Teď se nebudu hádat. Nechce se mi prolézat zdrojáky Javy

    No nakonec stačí překreslit tvoje vrstvy přes sebe (kresli odspoda nahoru samozřejmě, jako v reálu).

    Když horní vrstvy úplně nevyplníš, tak to funguje nejspíš jak si přeješ.



    Kód:
    package javalayers;
    
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.JFrame;
    
    /**
     *
     * @author Mike
     */
    public class Main extends JFrame {
    
        BufferedImage   background;
        BufferedImage   drawLayer;
        BufferedImage   doubleBuffer;
    
        public Main() {
            
            this.background = new BufferedImage(400,400,BufferedImage.TYPE_INT_ARGB);
            this.drawLayer = new BufferedImage(400,400,BufferedImage.TYPE_INT_ARGB); 
            this.doubleBuffer = new BufferedImage(400,400,BufferedImage.TYPE_INT_ARGB); 
            
            Graphics2D  g2 = (Graphics2D) drawLayer.getGraphics();
            g2.drawString("Hello world, I am drawing layer", 100,100);
            
            g2 = (Graphics2D) background.getGraphics();
            g2.setColor(new Color(200,200,200));        //nastavim kreslici barvu
            g2.fillRect(0, 0,400, 400);                 //vyplnim pozadi nejakou barvou
          
        }
        
        @Override
        public void paint(Graphics g) {
            super.paint(g);
           
            doubleBuffer.flush(); 
            Graphics2D  g2 = (Graphics2D) doubleBuffer.getGraphics();
            
            g2.drawImage(background, null, 0, 0);
            g2.drawImage(drawLayer, null, 0, 0);
            g.drawImage(doubleBuffer, 0, 0, null);
        }
    
        
       
        public static void main(String[] args) {
           
                Main m = new Main();
                m.setSize(new Dimension(400,400));
                m.setVisible(true);
                m.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
               
        }
    
    
    }

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. mozilla ibanking :(
    Založil wana v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 5
    Poslední příspěvek: 25.04.2004, 17:36

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •