Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente bannato
    Registrato dal
    May 2010
    Messaggi
    5

    Consiglio programma disegno

    Ciao a tutti.. sto realizzando un programma nel quale tramite il riempimento di una griglia con pixel si devono poter creare delle immagini da usare poi come simboli x le icone....
    Finora ho creato la griglia e fatto si che cliccando su ogni pixel venga disegnato un quadrato bianco.. potete darmi una mano a continuare a fare il resto??? Fondamentalmente mi manca come punti piu importanti creare la possibilità di cambiare il colore dei pixel.. poter eliminare i pixel disegnati e far in modo di poter salvare le composizioni create in un file bmp. Il sorgente è questo:

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import java.util.*;
    import java.lang.*;

    public class IconCreator{

    public static void main(String args[]){
    Windoww win = new Windoww("IconCreator 1.0");
    win.setVisible(true);
    win.setResizable(false);
    win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
    }
    }

    class Windoww extends JFrame{
    Pannello p = null;
    JButton btn= null;


    public Windoww(String name){

    super(name);
    int xf=1000; //grandezza frame
    int yf=1000;
    setSize(xf,yf);
    p = new Pannello();
    add(p);
    btn = new JButton("test");
    p.add(btn);
    //btn.addActionListener(this); //why doesn't work=?=
    }
    public void actionPerformed(ActionEvent e){

    }
    }

    class Pannello extends JPanel{
    Line2D linea=null;
    ArrayList pixels;

    public Pannello(){
    super();
    setBackground(Color.black);
    setVisible(true);
    mouseHandler();
    pixels=new ArrayList();
    }


    public void mouseHandler(){

    addMouseListener(new MouseAdapter(){

    public void mousePressed(MouseEvent me){
    Point p = me.getPoint();
    int x=me.getX()/(1000/32);
    int y=me.getY()/(1000/32);
    System.out.println("Coordinata X:"+x+" Coordinata Y:"+y);
    System.out.println(me.getPoint());

    pixels.add(new Rectangle2D.Double((1000/32)*x, (1000/32)*y, 1000/32, 1000/32)); //aggiungo un quadrato all'array
    repaint();
    }//mousePressed
    public void mouseClicked(MouseEvent me){//x ora inutile
    if(me.getClickCount()>1){
    }
    }
    });
    }

    public void paint(Graphics g2){
    Graphics2D g=(Graphics2D)g2;
    super.paint(g2);
    int k=getWidth()/32;
    int j=k;
    int h=k;

    g2.setColor(Color.magenta);

    for(int i=0; i<32; i++){
    g2.drawLine(0, j, getWidth(), j);
    j=k+j;
    }
    for(int i=0; i<32; i++){
    g2.drawLine(h, getHeight(), h, 0 );
    h=k+h;
    }
    Color x= Color.WHITE;
    g.setColor(x);
    for(int i=0; i<pixels.size(); i++){

    g.draw((Rectangle2D)(pixels.get(i)));
    g.fill((Rectangle2D)(pixels.get(i)));
    }
    }
    }



    grazie in anticipo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Cosa, di quanto scritto in questa discussione, non ti è chiaro, visto che hai riaperto la stessa identica discussione, nello stesso identico modo, cambiando solo il titolo?


    Per favore, leggi bene il regolamento e cerca di applicarlo. Inoltre, come già detto precedentemente, richieste di questo tipo ("darmi una mano a continuare con il resto") non sono ammesse. Se il tuo scoop è quello di ottenere del codice già pronto, c'è il forum "Offro Lavoro / Collaborazione".

    Se il tuo intento è ottenere dei suggerimenti su come disporre l'algoritmo, sii chiaro e posta secondo quanto indicato nel regolamento linkato nella discussione precedente.

    Chiudo anche questa.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.