Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Java Processamento Gradiente de cor
gradientes são esteticamente agradáveis ​​transições entre as cores . Java processa automaticamente diversos tipos de gradientes entre as cores especificadas pelo usuário . Você pode definir um gradiente como uma cor ao desenhar em Java para criar formas, texto e outros objetos com um efeito degradê. Se as classes de gradiente padrão do Java não são flexíveis o suficiente , você pode processar seus próprios gradientes em Java com loops aninhados . GradientPaint Classe

A classe GradientPaint fornece o método mais simples de criar um gradiente simples. O construtor de GradientPaint aceita dois pontos, duas cores e um valor booleano opcional. O gradiente resultante irá mudar a partir da primeira cor no primeiro ponto para a segunda cor no segundo ponto . Se você passar o valor booleano verdadeiro , o gradiente vai repetir o gradiente em qualquer direção passado os pontos de início e fim , a criação de um padrão cíclico . Um objeto GradientPaint que percorre azul e branco é instanciado como tal :

GradientPaint p = new GradientPaint ( new Point ( 0,0), Color.BLUE , new Point ( 100,100 ) , Color.WHITE , true) ;
LinearGradientPaint Classe

LinearGradientPaint é semelhante ao GradientPaint , mas pode criar um gradiente através de mais de duas cores e permite que os usuários definam a largura de cada seção colorida o gradiente deve ser . O construtor de LinearGradientPaint aceita dois pontos, uma série de carros alegóricos , uma variedade de cores e um valor opcional para indicar como o gradiente deve percorrer cores. Cada valor float corresponde a uma cor e indica em que ponto o gradiente que a cor deve ser predominante. Por exemplo, se o gradiente deve ser azul de um terço do caminho através de seu ciclo de 0.3f devem corresponder com a cor azul. Um objeto LinearGradientPaint que cria um gradiente através de azul , preto e branco , sem repetir usa o seguinte construtor :

float [ ] x = { 0.0f , 0.3f , 1.0f }; Cor [ ] c = {Color . PRETO, Color.BLUE , Color.WHITE }; LinearGradientPaint lp = new LinearGradientPaint ( new Point ( 0,0), new Point ( 100,100 ), x, c);
RadialGradientPaint Classe

RadialGradientPaint cria gradientes circulares que se estende a partir de um único ponto. O construtor tem um único ponto que representa o centro do círculo , de um valor de flutuação representando o raio do círculo , uma série de flutuadores para representar a taxa de variação entre cores e uma variedade de cores . Opcionalmente, ele pode aceitar um ponto de foco que desloca o centro do gradiente para criar gradientes elípticos e um valor para determinar como os ciclos de gradiente através de cores . Instanciar um objeto RadialGradientPaint é semelhante à criação de um LinearPaintObject :

float [ ] x = { 0.0f , 0.3f , 1.0f }; Cor [ ] c = { Color.BLACK , Color.BLUE , Color.WHITE }; LinearGradientPaint lp = new LinearGradientPaint ( new Point ( 50,50 ) , (float ) 25 , x, c);
Pintar um Gradient

Você pode criar mais elaborado gradientes personalizados em Java processando seu próprio gradiente através de loops aninhados . Em cada etapa do ciclo, criar uma nova cor com base em sua posição no circuito. No laço mais interno , desenhe um quadrado em uma posição definida por sua posição no circuito na cor atual . O código no exemplo abaixo cria um retângulo gradiente que começa no ponto (0,0) e é de 400 pixels de largura e 500 pixels de altura. Os valores r1 flutuador, g1 e b1 definir os r , G e B valores da cor inicial. Os valores de R2 , G2 e b2 definir os valores de R , G e B para a segunda cor . As primeiras pistas de laço a partir das iniciais x coordenar com a largura do retângulo. As pistas loop interno do y inicial de coordenadas para a altura do retângulo. Assim , no circuito interno , o ponto ( i , j ) corresponde sempre a um ponto diferente no rectângulo gradiente . Cada vez que os ciclos de programa através do loop aninhado, ele modifica o r e valores de b como uma fração dos atuais coordenada x ; quanto mais próximo o ponto é o valor inicial x , mais próximo dos valores R e B estarão com seus valores iniciais . O programa modifica o valor de b em relação à y coordenada atual , criando o mesmo efeito sobre um eixo diferente . Em seguida, cria uma nova cor a partir da r modificado, g e valores de b , e desenha um retângulo de exatamente um pixel de largura e altura no atual coordenar na nova cor

int x = 0; . Int y = 0; int width = 400; altura int = 500; flutuador r1 = 0; flutuar g1 = 0; flutuador b1 = 1; flutuador r2 = 1; flutuar g2 = 1; flutuador b2 = 0; flutuar rs = ( Math.abs r2 -r1 ); flutuar GP = Math.abs ( g2 -g1 ); flutuar bs = Math.abs (b2 -b1 ); for (int i = x , i < largura ; i + +) {for (int j = y , j < altura, j + +) {float r, g , b; if ( r1 < r2) {r = (( (RS) /largura ) * i ) + r1 ;} else { R = ( R1- ( (rs ) /largura ) * i );} if ( g1 < g2) { g = ((( gS) /largura ) * i ) + g1 ;} else { g = (g1 -( (GS) /largura ) * i) ;} if ( b1 < r2) {b = (( (BS) /largura ) * i ) + b1 ;} else { b = (B1- ( (BS) /largura ) * i );} Cor c = new Color (r, g , b, (float ) 0.5 ); g2d.setColor ( c); g2d.fillRect (i, j , 1, 1 );}}

Anterior :

Próximo : No
  Os artigos relacionados
·Como enviar um e-mail automático após uma data especí…
·Como saber se o servidor tiver JavaMail 
·Como definir diferentes valores para cada linha de uma …
·Criptografia Usando Java 
·Como usar o JCreator Com um Android 
·Limitações thread em Java 
·As diferenças entre JSP & JSPF 
·Como devolver um campo oculto em JSP 
·Tomada de Monitoramento Com Java 
·Como incluir um prefixo para um gravador de tapeçaria 
  Artigos em destaque
·Como atualizar Data Grid 
·Como criar um banco de dados no NetBeans 
·Como executar CScript 
·Como instalar um pacote de idioma árabe 
·Como converter UTF8 Textos 
·Como Cypher criptografia para computadores 
·Como escrever Valores de entrada GData como uma String 
·Como fazer engenharia reversa no Visual C 
·Como codificar Black & White em X264 
·Apue.H não encontrado no Ubuntu 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados