谁可以帮忙改个方法啊~~~~~~

zeus406 2009-12-07 09:21:01
这是我在网上找到的一个颜色由深入浅渐变效果的方法,我想改成有浅入深的效果,自己没改明白,请高手帮忙改一下!小弟在此先谢谢了!



/**
* 绘制渐变色选择条
*
* @param g
* @param color
* @param x
* @param y
* @param width
* @param height
*/
public final static void drawRGBRect(Graphics g, int color, int x, int y,
int width, int height) {
int[] rgb = getRGBColor(color, width);
for (int by = y; by < y + height; by += 4) {

int nTemp = y + height - (by - y);

nTemp = nTemp > 4 ? 4 : nTemp;
g.drawRGB(rgb, 0, width, x, by, width, nTemp, true);
}

}

/**
* 获取颜色渐变RGB数组,
*
* @param width
* @return
*/
public final static int[] getRGBColor(int color, int h) {
int[] rgb;

int RGB_L = h;
int nRgbData = RGB_L * 4;

rgb = new int[nRgbData];

int alpha = -127;
for (int i = 0; i < RGB_L; i++) {
alpha = -127 + i;

int col = color | (128 - alpha << 24);
rgb[i] = col;
rgb[i + RGB_L] = col;
rgb[i + RGB_L * 2] = col;
rgb[i + RGB_L * 3] = col;

}

return rgb;
}
...全文
164 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeus406 2009-12-08
  • 打赏
  • 举报
回复
我想要一个在我贴的源代码改的~但还是感谢楼上的~!就是渐变的谁能给一个啊!
shine333 2009-12-07
  • 打赏
  • 举报
回复
这个其实不是由深入浅,而是透明度的变化
alpha = 127 - i;
daisycool 2009-12-07
  • 打赏
  • 举报
回复
你把整个代码贴出来改好了给你
zeus406 2009-12-07
  • 打赏
  • 举报
回复
没有人知道吗?顶起来!
  • 打赏
  • 举报
回复
zeus406
cicigl 2009-12-07
  • 打赏
  • 举报
回复
帮顶
ikaoni 2009-12-07
  • 打赏
  • 举报
回复
上面画的是由红到蓝渐变的
ikaoni 2009-12-07
  • 打赏
  • 举报
回复

import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;

public class DrawRGBRect extends JPanel{
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D)g;
int x=50,y=50,lastx=200,lasty=100;
GradientPaint r2b = new GradientPaint(x, y, Color.red, lastx,lasty,Color.blue);
g2.setPaint(r2b);
int width=150,height=50,arcw=10,arch=10;
g2.fill(new RoundRectangle2D.Double(x,y,width,height,arcw, arch));
}

public static void main(String args[]){
JFrame jf=new JFrame("画渐变填充矩形");
jf.getContentPane().add(new DrawRGBRect());
jf.setSize(300,200);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧