IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Dessin 2D démarrer ?


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 43
    Points
    43
    Par défaut Dessin 2D démarrer ?
    Bonjour,
    J'ai cherché comment faire du simple dessin 2D (rectangle, cercle,..), j'avoue que j'ai bien du mal à démarrer avec les canvas, graphics,..
    Je travaille sur Android Studio et suis parti d'un exemple trouvé sur un autre site.

    J'ai créé un "FrameLayout" sous l'éditeur graphique, identificateur f_g., et je veux mettre un canvas dedans, puis créer un graphique et faire mon dessin.
    Que dois je faire:

    1- les imports ? (y en t-il assez ou trop)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import java.awt.*;
    import javax.swing.*
    2- Je déclare mon "FrameLayout" mon " Canvas" mon "Graphics"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FrameLayout f;
    Canvas canvas1;
    Graphics g=canvas1.getGraphics();
    Là Graphics pas connu !!

    3- Dimensionner le canvas et le mettre dans le "FrameLayout"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     f= (FrameLayout) findViewById(R.id.f_g);
    canvas1.setSize(300;300); 
    f.add(canvas1);
    là aussi ça marche pas.
    Certes je m'y prends mal !

    Une bonne âme aurait-elle un exemple ?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Déjà commencer par les documentations officiel plutôt que des sites douteux peut être utile

    http://developer.android.com/guide/t...-graphics.html

    Et un exemple basique mettant ceci en oeuvre :

    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class DrawView extends View {
        Paint paint = new Paint();
     
        public DrawView(Context context) {
            super(context);            
        }
     
        @Override
        public void onDraw(Canvas canvas) {
            paint.setColor(Color.BLACK);
            paint.setStrokeWidth(3);
            canvas.drawRect(30, 30, 80, 80, paint);
        }
    }
    Qu'il suffit ensuite d'appeler dans une activity :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
     
            drawView = new DrawView(this);
            drawView.setBackgroundColor(Color.WHITE);
            setContentView(drawView);
     
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    C'est vrai qu'il faut toujours se référer à la documentation source, mais on veut aller un peu vite et on pense faire l'économie d'une étude approfondie.
    J'ai donc potassé la question ce weekend. J'ai essayé la méthode layout/bitmap/canvas, cela fonctionne mais j'ai un problème de rafraîchissement du graphique. Mon sujet est de construire une courbe de mesure à partir de données que je récupère sur un serveur TCP. Toutes mes données s'affichent à la fin du cycle de N mesures alors que je voudrai les voir point à point.
    J'ai lu que la technique des SurfaceView permettait de redessiner en permanence le graphique grâce à son propre thread de tracé. Je vais donc tester cette méthode. Je rouvrirai un autre post si problème avec la mise en oeuvre de SurfaceView.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Graphic] Dessiner des hachures
    Par sylverspoon dans le forum 2D
    Réponses: 7
    Dernier message: 22/03/2006, 21h46
  2. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 14h38
  3. Dessiner un rectangle avec bords et texte ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 17h17
  4. Réponses: 3
    Dernier message: 12/06/2002, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo