begin process at 2012 02 17 10:58:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > GRADIENTDIALOG - SÉLECTION DE DÉGRADÉS LINÉAIRES

GRADIENTDIALOG - SÉLECTION DE DÉGRADÉS LINÉAIRES


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Source .NET ( DotNet ) Classé sous :Dialog, Dégradé, Sérialisation, Interface, Brush Niveau :Expert Date de création :27/05/2009 Vu / téléchargé :3 089 / 287

Auteur : Mayzz

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Tous les plus grand logiciels de traitement d'image tel que Photoshop ou Gimp, on une boite de dialogue de sélection pour les couleurs dégradés.

Les composants fournis avec Visual Studio comportent une boîte de dialogue de sélection de couleur, mais aucune ne permet de sélectionner un dégradé. Ce qui m'a amené à développer ce contrôle.

Ce composant ne prend en charge que les dégradés linéaires, si vous êtes amené à votre tour à développer un projet utilisant la classe "System.Drawing.Drawing2D.LinearGradientBrush" (comme un paint par exemple), ce contrôle vous sera forcément d'une grande utilité.

Il permet de gérer plusieurs points de couleur (voir "ColorBlend "), le rayon du dégradé, ainsi que la correction des Gama offerte par l'objet LinearGradientBrush du Framework.

Il comporte aussi plusieurs modes d'ouverture simple ou dégradé multiple, gère l'enregistrement de votre collection de dégradés dans un fichier (comme Photoshop).

Coté code:

Ce projet à été conçu sous Visual Studio 2008

Il comporte plusieurs thèmes pédagogiques, vous pourrez y retrouver notamment :

- Une démonstration des différentes méthodes de l'espace de nom "System.Drawing.Drawing2D"

- La sérialisation binaire personnalisé via l'implémentation de "ISerializable", Pour sérialiser manuellement une classe qui ne possède pas d'attribut sérialisable (ce qui est le cas de "System.Drawing.Drawing2D.ColorBlend")

- Vous y trouverez aussi comment créer et implémenter une Interface (IGradient)

je suis ouvert à tout commentaires pour l'amélioration de cette source !

Source

  • '**************************************************
  • '**** Sélectionne de dégradés pré-enregistrés *****
  • '**************************************************
  • '
  • 'Mode d'ouverture de la boite de dialogue
  • '
  • 'Dialog_Allow_NewDeleteEdit = Affiche le bouton permettant les modification du fichier de dégradés
  • 'Dialog_Allow_SaveLoad = Autorise l'utilisateur à changer de fichier de dégradés et à le sauvegarder
  • 'Dialog_MultiSelect = Autorise la multisélection de dégradés
  • '
  • GradientDialog1.flags = GradientDialog.CollectorDialogFlags.Default_Dialog
  • '
  • 'Spécifie le filtre de la boite de dialogue Ouvrir/Sauver (Dialog_Allow_SaveLoad doit être spécifié)
  • GradientDialog1.Filters = "Fichier de dégradé (*.deg)|*.deg|Tous fichiers (*.*)|*.*"
  • '
  • 'Facultatif => Vous pouvez spécifier un emplacement de fichier à la boîte de dialogue
  • 'GradientDialog1.FileName = "c:\dégradés.deg"
  • '
  • 'Affiche la boîte de dialogue
  • If GradientDialog1.ShowCollector = Windows.Forms.DialogResult.OK Then
  • '
  • 'On regarde le nombre d'éléments sélectionnés dans la boîte de dialogue
  • If GradientDialog1.SelectedItems.Items.Count > 0 Then
  • '
  • 'On récupère l'objet Gradient, que l'on convertit en
  • 'System.Drawing.Drawing2D.LinearGradientBrush()
  • 'via la méthode ToBrush
  • '
  • Dim LinearGradient As LinearGradientBrush = _
  • GradientDialog1.SelectedItems.Items(0).ToBrush(0, 0, 10, 10)
  • '
  • End If
  • '
  • End If
  • '**************************************************
  • '************ Sélection d'un dégradé **************
  • '**************************************************
  • '
  • 'Facultatif => Vous pouvez spécifier un dégradé à charger dans la boîte de dialogue
  • 'GradientDialog1.Gradient = MyGradient' (Objet Gradient)
  • 'Affiche la boîte de dialogue
  • If GradientDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  • '
  • 'On récupère l'objet Gradient, que l'on convertit en
  • 'System.Drawing.Drawing2D.LinearGradientBrush()
  • 'via la méthode ToBrush
  • '
  • Dim LinearGradient As LinearGradientBrush = _
  • GradientDialog1.Gradient.ToBrush(0, 0, 10, 10)
  • '
  • End If
        '**************************************************
        '**** Sélectionne de dégradés pré-enregistrés *****
        '**************************************************
        '
        'Mode d'ouverture de la boite de dialogue
        '
        'Dialog_Allow_NewDeleteEdit = Affiche le bouton permettant les modification du fichier de dégradés
        'Dialog_Allow_SaveLoad = Autorise l'utilisateur à changer de fichier de dégradés et à le sauvegarder
        'Dialog_MultiSelect = Autorise la multisélection de dégradés
        '
        GradientDialog1.flags = GradientDialog.CollectorDialogFlags.Default_Dialog
        '
        'Spécifie le filtre de la boite de dialogue Ouvrir/Sauver (Dialog_Allow_SaveLoad doit être spécifié)
        GradientDialog1.Filters = "Fichier de dégradé (*.deg)|*.deg|Tous fichiers (*.*)|*.*"
        '
        'Facultatif => Vous pouvez spécifier un emplacement de fichier à la boîte de dialogue
        'GradientDialog1.FileName = "c:\dégradés.deg"
        '
        'Affiche la boîte de dialogue
        If GradientDialog1.ShowCollector = Windows.Forms.DialogResult.OK Then
            '
            'On regarde le nombre d'éléments sélectionnés dans la boîte de dialogue
            If GradientDialog1.SelectedItems.Items.Count > 0 Then
                '
                'On récupère l'objet Gradient, que l'on convertit en
                'System.Drawing.Drawing2D.LinearGradientBrush()
                'via la méthode ToBrush
                '
                Dim LinearGradient As LinearGradientBrush = _
                    GradientDialog1.SelectedItems.Items(0).ToBrush(0, 0, 10, 10)
                '
            End If
            '
        End If

        '**************************************************
        '************ Sélection d'un dégradé **************
        '**************************************************
        '
        'Facultatif => Vous pouvez spécifier un dégradé à charger dans la boîte de dialogue
        'GradientDialog1.Gradient = MyGradient' (Objet Gradient)
 
        'Affiche la boîte de dialogue
        If GradientDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            '
            'On récupère l'objet Gradient, que l'on convertit en
            'System.Drawing.Drawing2D.LinearGradientBrush()
            'via la méthode ToBrush
            '
            Dim LinearGradient As LinearGradientBrush = _
                    GradientDialog1.Gradient.ToBrush(0, 0, 10, 10)
            '
        End If

 Conclusion

Je compte peut être l'améliorer en ajoutant une gestion d'autre type de dégradés via la classe "System.Drawing.Drawing2D.PathGradientBrush", et un implémentation d'un contrôle gérant la couleur des pics via son code ARGB.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) AUTODELETE - UNE APPLICATION QUI S'AUTO SUPPRIME À SA FERMET...
Source avec Zip Source avec une capture Source .NET (Dotnet) INFORMATIONS SUR LES INTERFACES RÉSEAUX
Source avec Zip Source .NET (Dotnet) [TUTO] CRÉATION / CONSOMMATION DE SERVICE WEB ASP.NET
Source avec Zip Source avec une capture Source .NET (Dotnet) [TUTO] GESTION DES DONNÉES VIA SQL CE
Source avec Zip Source avec une capture Source .NET (Dotnet) MM CHECKBOX .NET V.2009

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) ROCHE PAPIER CISEAUX À 5 ÉLÉMENTS par drakemaster
Source avec une capture Source .NET (Dotnet) DÉGRADÉ DE DEUX COULEURS AVEC TRANSPARENCE ET ANGLE par jaljalil2010
Source avec Zip Source .NET (Dotnet) SÉRIALISTION - DÉSERIALISATION DE TABLEAUX ET COLLECTIONS par AlexMS
Source avec Zip Source avec une capture VELLEMAN K8055 PROGRAMME POUR COMPRENDRE ET UTILISER LE CODE... par nono7380
Source avec Zip Source avec une capture Source .NET (Dotnet) EXLISTVIEW- LISTVIEW PERSONNALISÉ par Mayzz

Commentaires et avis

Commentaire de Arnal88 le 27/05/2009 18:12:38 10/10

Programme intéressant, code bien structuré... Bon boulot !  10/10

Une suggestion : créer un contrôle utilisateur pour choisir l'orientation du dégradé avec la souris (à la manière Photoshop). Pourquoi appelles-tu ceci "Rayon" ?

Commentaire de Mayzz le 27/05/2009 18:35:18

Oui tu as raison c'est en fait l'axe...

Mais bizarement j'ai garder cela d'une fonction d'un SDK pour symbian OS, qui elle nomme le paramètre radius au lieu d'axis...

Alors j'ai simplement gardé l'appellation.

Commentaire de Renfield le 29/05/2009 09:10:19 administrateur CS

manque plus que le HSB et le CMYB ^^

Commentaire de Mayzz le 29/05/2009 09:31:43

Rentenu, pour la prochaine mise à jour.

Merci.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Interface Pointer-Cliquer... [ par Ben ] Existe-t-il un moyen pas trop trop lourd pour réaliser un programme possédant cette interface?Est-il possible de rendre les objets boutons invisibles, Appel de C avec VB [ par Aurel ] Je voudrais savoir s'il etait possible d'appelerun programme C avec une interface en VBEn fait il s'agit d'une messagerie dont toutes les fonctions so Dégradé dans caption d'une form ? [ par amstel ] Comment créer un dégradé de couleurs dans le caption d'une fenêtre (comme windows 98) ? Merci common dialog controls [ par The Biker ] Je possède une version 5.0 en anglais de VB et je cherche à utiliser les common dialog control de comm*.dll mais le problème c que je n'y arrive pas j Connaitre la source d'une base de données. [ par kaleidon ] Bonjour,Est-il possible de connaitre la source d'une base de données (Oracle, Access, SQL...) autrement qu'en demandant au développeur (qui ne veut pa Comment choisir la position d'affichage d'un Common Dialog Control de type Open [ par n_twan ] Voilà lorsque l'on fait un showOpen d'un contrôle comme COMDLG32.DLL par exemple, je ne vois pas comment procéder pour qu'il apparaisse àun autre endr Créer une interface Outlook pour envoyer des mails depuis une appli [ par Brouz ] Bijour bijour,j'ai une petite appli en interne et je souhaite créer une interface avec Outlook sous VB6 pour envoyer des mails.dans l'idée, suite à un URGENT / controle common dialog [ par doud ] Sous VB5, le controle common dialog control 5.0 n'existe plus !Il a été remplacé par la version 6.0 qui ne fonctionne pas !!!Help.......!!!!!!! FAIRE BOUGER UNE FEUILLE [ par wojc ] Bonjours....Je voudrais réaliser une interface graphique, j'ai le corps principal de l'interface sur une FORM, mais je voudrais que lorsque je clique


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales