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

Windows Presentation Foundation Discussion :

Dessin d'un rectange


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut Dessin d'un rectange
    Bonjour,

    (débutant WPF mais vous le verrai)
    Je cherche à redessiner ça :


    J'ai placé un Rectangle côté XAML et y suis arrivé pour le dégrader :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    LinearGradientBrush myBrush = new LinearGradientBrush();
    myBrush.StartPoint = new Point(0.5, 0);
    myBrush.EndPoint = new Point(0.5, 1);
     
    myBrush.GradientStops.Add(new GradientStop(Color.FromRgb(215, 209, 245), 0.0));
    myBrush.GradientStops.Add(new GradientStop(Color.FromRgb(104, 78, 249), 1.0));
     
    rectangle1.Fill = myBrush;
    Mais comment faire pour y ajouter le rectangle jaune ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    L'exemple suivant devrait répondre à ta question :
    http://msdn.microsoft.com/en-us/library/ms752315.aspx

    Il faut créer un Canvas dans lequel tu vas placer tes rectangles et les positionner avec les propriétés Canvas.Left et Canvas.Top. Le dernier ajouté sera au premier plan.

  3. #3
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Sinon tu les places tous deux dans une "Grid", le jaune en deuxième.

    Et y a t'il une raison particulière pour laquelle tu effectues le dégradé via le code-behind ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    Bonjour, la raison et que j'ai plusieurs vignettes comme cela à afficher suivant le choix d'un combobox (un carré, un triangle, un trapèze, un arc de cercle).
    Actuellement j'ai mis dans \Ressources\ les .jpg qui l'affiche dans une Image.Source =...
    La qualité vectorielle m'interesse plus.
    D'autre part, cacher (Visibility.hidden) des 8 ou 9 vignettes faite en XAML me semble pa, scomment dire, "propre" non ?
    Après je pensais, mais avec plus d'expérience, passer par Expression, créer une vignette animée dans un "modèle", et l'afficher je ne sais pas encore trop comment mais l'idée me parait jouable.
    Ici dans un premier temps, en code behind me paraisser pas compliqué; je me suis quelque peu trompé

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    Si un jour ça interesse quelqu'un, j'ai trouvé en faisant cela:
    Coté XAML : le Canvas avec le dégradé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Canvas Height="133" Name="canvas1" Width="134" >
        <Canvas.Background>
            <LinearGradientBrush EndPoint="0,0" StartPoint="0,1">
                <GradientStop Color="#DACDE9" Offset="0" />
                <GradientStop Color="#8A576A" Offset="1" />
            </LinearGradientBrush>
        </Canvas.Background>
    </Canvas>
    Côté C# (car dans le cas présent le dessin est fait dynamiquement):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Rectangle r = new Rectangle();
    r.Fill = new SolidColorBrush(Colors.Cyan);
    r.Width = 75;
    r.Height = 75;
    r.StrokeThickness = 2;
    r.Stroke = Brushes.Black;
    r.SetValue(Canvas.LeftProperty, (double)29);
    r.SetValue(Canvas.TopProperty, (double)29);
    r.IsHitTestVisible = false;
    r.Cursor = Cursors.Hand;
    canvas1.Children.Add(r);

+ 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. moteur de particules :Dessiner un point
    Par houssa dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/06/2003, 22h13
  4. Dessiner un rectangle avec bords et texte ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 17h17
  5. 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