begin process at 2012 02 15 01:05:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Api

 > DÉGRADÉ DE COULEUR

DÉGRADÉ DE COULEUR


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Api Classé sous :dégradé, couleur, rectangle, classe, canvas Niveau :Débutant Date de création :11/03/2007 Date de mise à jour :07/08/2007 10:16:47 Vu :21 131

Auteur : gergouille

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Voila juste une petite classe pour créer un rectangle de couleur dégradé.
Vous choisissez la couleur de départ et d'arrivée, de toutes les manière que vous voulez !
J'ai surchargé le constructeur a mort ;)

Source

  • import java.awt.*;
  • /**
  • * Rectangle dégradé de couleur
  • * Choix des couleurs en :
  • * RVB
  • * Hexa
  • * Decimal
  • * Composante
  • * */
  • public class Shade extends Canvas{
  • final int LARGEUR = 600;
  • int x;
  • int y;
  • int hauteur;
  • int red1;
  • int red2;
  • int green1;
  • int green2;
  • int blue1;
  • int blue2;
  • /**
  • * Crée un dégradé de noir sur blanc
  • */
  • public Shade(){
  • red1 = 0;
  • green1 = 0;
  • blue1 = 0;
  • red2 = 255;
  • green2 = 255;
  • blue2 = 255;
  • }
  • /**
  • * Crée un dégradé avec les valeurs hexadécimales des couleurs
  • * @param hexa1 valeur hexa premiere couleur
  • * @param hexa2 valeur hexa deuxieme couleur
  • */
  • public Shade(String hexa1,String hexa2){
  • red1 = Integer.parseInt(hexa1.substring(0, 2), 16);
  • green1 = Integer.parseInt(hexa1.substring(2, 4), 16);
  • blue1 = Integer.parseInt(hexa1.substring(4, 6), 16);
  • red2 = Integer.parseInt(hexa2.substring(0, 2), 16);
  • green2 = Integer.parseInt(hexa2.substring(2, 4), 16);
  • blue2 = Integer.parseInt(hexa2.substring(4, 6), 16);
  • }
  • /**
  • * Dégradé avec les composantes décimales des couleurs
  • * @param r1 Composante rouge de la premiere couleur
  • * @param v1 Composante verte de la premiere couleur
  • * @param b1 Composante bleu de la premiere couleur
  • * @param r2 Composante rouge de la deuxieme couleur
  • * @param v2 Composante verte de la deuxieme couleur
  • * @param b2 Composante bleu de la deuxieme couleur
  • */
  • public Shade(int r1,int v1,int b1,int r2,int v2,int b2){
  • red1 = r1;
  • green1 = v1;
  • blue1 = b1;
  • red2 = r2;
  • green2 = v2;
  • blue2 = b2;
  • }
  • /**
  • * Dégradé vers le blanc avec composantes Décimales
  • * @param r Composante rouge
  • * @param v Composante verte
  • * @param b Composante bleu
  • */
  • public Shade(int r,int v, int b){
  • red1 = r;
  • green1 = v;
  • blue1 = b;
  • red2 = 0;
  • green2 = 0;
  • blue2 = 0;
  • }
  • /**
  • * Obtenir un dégradé depuis deux couleurs de la classe Color
  • * @param c1 Couleur 1
  • * @param c2 Couleur 2
  • */
  • public Shade(Color c1,Color c2){
  • red1 = c1.getRed();
  • green1 = c1.getGreen();
  • blue1 = c1.getBlue();
  • red2 = c2.getRed();
  • green2 = c2.getGreen();
  • blue2 = c2.getBlue();
  • }
  • public void paint(Graphics g) {
  • int i;
  • for(i=0; i<LARGEUR; i++) {
  • g.setColor(new Color((red1*(LARGEUR-i)+red2*i)/LARGEUR,(green1*(LARGEUR-i)+green2*i)/LARGEUR,(blue1*(LARGEUR-i)+blue2*i)/LARGEUR));
  • g.drawLine(x+i,y,x+i,y+hauteur);
  • }
  • }
  • }
import java.awt.*;
		
		
/**
 * Rectangle dégradé de couleur
 * Choix des couleurs en :
 *           RVB
 *           Hexa
 *           Decimal
 *           Composante
 * */
public class Shade extends Canvas{

	final int LARGEUR = 600;
	int x;
	int y;
	int hauteur;
	int red1;
	int red2;
	int green1;
	int green2;
	int blue1;
	int blue2;

	/**
	 * Crée un dégradé de noir sur blanc
	 */
	public Shade(){
		red1   = 0;
		green1 = 0;
		blue1  = 0;
		red2   = 255;
		green2 = 255;
		blue2  = 255;
	}
	
	/**
	 * Crée un dégradé avec les valeurs hexadécimales des couleurs
	 * @param hexa1 valeur hexa premiere couleur
	 * @param hexa2 valeur hexa deuxieme couleur
	 */
	public Shade(String hexa1,String hexa2){
		red1   = Integer.parseInt(hexa1.substring(0, 2), 16);
		green1 = Integer.parseInt(hexa1.substring(2, 4), 16);
		blue1  = Integer.parseInt(hexa1.substring(4, 6), 16);
		red2   = Integer.parseInt(hexa2.substring(0, 2), 16);
		green2 = Integer.parseInt(hexa2.substring(2, 4), 16);
		blue2  = Integer.parseInt(hexa2.substring(4, 6), 16);
	}
	
	/**
	 * Dégradé avec les composantes décimales des couleurs
	 * @param r1 Composante rouge de la premiere couleur
	 * @param v1 Composante verte de la premiere couleur
	 * @param b1 Composante bleu de la premiere couleur
	 * @param r2 Composante rouge de la deuxieme couleur
	 * @param v2 Composante verte de la deuxieme couleur
	 * @param b2 Composante bleu de la deuxieme couleur
	 */
	public Shade(int r1,int v1,int b1,int r2,int v2,int b2){
		red1   = r1;
		green1 = v1;
		blue1  = b1;
		red2   = r2;
		green2 = v2;
		blue2  = b2;
	}
	
	/**
	 * Dégradé vers le blanc avec composantes Décimales
	 * @param r Composante rouge
	 * @param v Composante verte
	 * @param b Composante bleu
	 */
	public Shade(int r,int v, int b){
		red1   = r;
		green1 = v;
		blue1  = b;
		red2   = 0;
		green2 = 0;
		blue2  = 0;
	}
	
	/**
	 * Obtenir un dégradé depuis deux couleurs de la classe Color
	 * @param c1 Couleur 1
	 * @param c2 Couleur 2
	 */
	public Shade(Color c1,Color c2){
		red1   = c1.getRed();
		green1 = c1.getGreen();
		blue1  = c1.getBlue();
		red2   = c2.getRed();
		green2 = c2.getGreen();
		blue2  = c2.getBlue();
	}
	

	public void paint(Graphics g) {
		int i;
		for(i=0; i<LARGEUR; i++) {
			g.setColor(new Color((red1*(LARGEUR-i)+red2*i)/LARGEUR,(green1*(LARGEUR-i)+green2*i)/LARGEUR,(blue1*(LARGEUR-i)+blue2*i)/LARGEUR));
			g.drawLine(x+i,y,x+i,y+hauteur);
		}
	}
}



 Historique

07 août 2007 10:16:47 :
kk

 Sources de la même categorie

Source avec une capture AUTO FOLLOW/UNFOLLOW AVEC JTWITTER/OAUTHSIGNPOSTCLIENT ET SW... par GeroXXXX
Source avec Zip LOGICIEL MESSAGERIE par layeure
Source avec Zip Source avec une capture CRÉER DES GRAPHIQUES : UTILISATION DE JFREECHART par Julien39
EJB3-BEAN ENTITÉ : RELATIONS BIDIRECTIONNELLES par SoftDeath
Source avec Zip Source avec une capture LETMESEE : CAPTURE D'ÉCRAN À INTERVALLE RÉGULIER : UTILISATI... par pyo656

 Sources en rapport avec celle ci

Source avec Zip CIRCULAIRE par patdimby
Source avec Zip TRIANGLE RECTAGLE ET ANNEAU par patdimby
Source avec Zip CLASS DEMINEUR par Niidhogg
Source avec Zip Source avec une capture CLASSEXPLORER : EXPLORATEUR DE CLASSES JAVA par Chatbour
Source avec une capture GRAPHIQUE EN BÂTON par tlaloctzin

Commentaires et avis

Commentaire de loloof64 le 11/03/2007 22:04:44

Merci beaucoup :)
Seul hic, il faut penser à attribuer un acesseur pour la hauteur, ou lui en assigner une soi-même (Mais pour moi la classe reste parfaite)

Commentaire de loloof64 le 11/03/2007 22:14:51

(Mais pour qui il se prend celui-là ... j'anticipe un peu :( Apologizing ...)
Je te remercie parceque j'ai appris une bonne technique avec cette source, et que je n'oublie pas tout de même de te féliciter car l'idée me semble à la fois simple, astucieuse et pratique.

Commentaire de DARKSIDIOUS le 12/03/2007 07:10:22 administrateur CS

C'est quand même dommage de se donner tout ce mal alors que l'api standard de java fait cà très bien avec Java2D, de façon plus souple (ne se limite pas à un simple rectangle) et sûrement de façon plus optimisée : les GradientPaint de Java2D.

Pourquoi réinventer la roue ?

Commentaire de gergouille le 05/04/2007 23:31:18

lol completement vrai
réinventer la roue non, mais se dire qu'on sait au moins en faire une soi-même, même si c'est une roue un peu carrée, ca motive pour faire le vélo derriere.

je vais tenter d'apprendre Java2D et ses joyeuseries, promis !

Commentaire de Julien39 le 06/10/2010 11:10:29 administrateur CS 4/10

Je suis d'accord, ca n'apporte rien par rapport aux gradientPaint. Mais bon, ne revenons pas dessus.

Je voulais te dire que tu pourrais améliorer ton code en modifiant un peu tes constructeurs, tu en fais un "de base" avec tous les attributs et pour les autres, tu te sert de celui là en faisant un this(..., )

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Faire d'un Canvas un bouton [ par ceeno ] Voilà j'ai créé 2 Canvas sur un GridPanel dans un Applet, et je voudrais que lorsque je clic sur un des Canvas, celui-ci ai sa couleur de fond qui cha Probleme avec getWidth() (Canvas ou Panel) [ par SLaYerS ] Voila, j'me suis fait une classe qui derive de la classe Canvas Dans mon constructeur j'apelle une m&#233;thode createScreen qui est cens&#233; me tra Probleme Méthode Paint et ActionListener [ par Karibou95 ] Bonjour à tous :) Voici mon probleme : J'ai une class Repere_Canavas dans laquelle j'ai la méthode paint, jusqu'a la tout va bien mon canvas s'affic probleme avec le changement de couleur [ par sparetime ] bonjourj'ai une classe qui fait du graphique et dans laquelle je modifie la couleur selon l'etat d'une variable qui se trouve dans une deuxieme classe couleur de texte [ par javateux ] bonjour, je voudrai savoir si il est possible de surligner en couleur un texte (une string par exemple).Merci. Probleme avec les MouseListener et MouseMotionListener [ par vinceP ] Bonjour, Voila j'ai ecris 2 classes une qui contient la jframe Main (swing donc ...) et une autre classe Photo qui affiche une image avec les coordon couleur dans une applet [ par asx9 ] asx9bonjour,je dois mettre une couleur de fond à mon applet et cette couleur correspond en HTML à : #CD853FJava ne reconnais pas ce genre de code, com probleme avec les listeners [ par seb87 ] J'ai créé 3 classes pour gérer une interface graphique en swing.J'ai séparé parceque cela me semblait plus simple que de faire une seule "grosse clas boite de confirmation [ par Frouf85 ] bonjour,j'utilise java 1.4 et je sais qu'il existe une classe permettant d'afficher des boite de confirmation du style:"êtes vous sûr de vouloir tout Comment on change la couleur d'un texte [ par Azdruyel ] Salut :)Je me prend en ce moment la tete a faire un JTextArea avec un petit bouton pour changer les couleurs du texts... Le probleme est que je n'arri


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,998 sec (4)

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