j2me 颜色渐变与透明处理
来源:互联网 发布:武汉软件新城 工作 编辑:程序博客网 时间:2024/05/20 06:27
final class MagicColorsUtiles
{
//grain ==是渐变的粒度
public static final void drawStateBar(Graphics g,int rgb,int x,int y,int wid,int hig,int grain)
{
int[] Rgb1={(rgb&0xff0000)>>>16,(rgb&0x00ff00)>>>8,rgb&0x0000ff};
int[] xyz=new int[3];
for (int j = 0, k = 0; j <= hig/2; j++, k+=grain)
{
if((Rgb1[0]+k)<0xff)
xyz[0]=Rgb1[0]+k;
else
xyz[0]=0xff;
if((Rgb1[1]+k)<0xff)
xyz[1]=Rgb1[1]+k;
else
xyz[1]=0xff;
if((Rgb1[2]+k)<0xff)
xyz[2]=Rgb1[2]+k;
else
xyz[2]=0xff;
g.setColor(xyz[0],xyz[1],xyz[2]);
g.drawLine(x, y + j, x + wid, y + j);
g.drawLine(x, y + hig - j, x + wid, y + hig - j);
}
}
public final static void drawShadeRect(Graphics g, int color, int x , int y, int width, int height)
{
int[] rgb = getShadeColor(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);
}
}
public final static int[] getShadeColor(int color , int width)
{
int[] rgb;
int shadeWidth = width;
int nRgbData = shadeWidth<<2; //shadeWidth*4
rgb = new int[nRgbData];
int alpha = -127;
for (int i = 0; i < shadeWidth; i++)
{
alpha = -127 + i;
//主要算法在这里。
int col = color | (128 - alpha << 24);
rgb[i] = col;
rgb[i + shadeWidth ] = col;
rgb[i + shadeWidth * 2] = col;
rgb[i + shadeWidth * 3] = col;
}
return rgb;
}
}
- j2me 颜色渐变与透明处理
- j2me 颜色渐变与图像透明效果
- J2ME 颜色渐变
- J2ME 颜色渐变
- j2me绘制渐变颜色
- 转:J2ME 颜色渐变
- CSS颜色透明渐变
- J2ME:颜色渐变(转)
- SWING透明窗体,颜色渐变。
- iOS文字颜色渐变透明
- 颜色渐变处理
- CAGradientLayer 处理颜色渐变
- j2me图片颜色处理
- NGUI 图片字体 颜色渐变 或者 透明
- 颜色渐变 与闪光
- UINavigationBar 背景透明与渐变
- CAGradientLayer处理颜色渐变效果
- J2ME 渐变色的处理方法
- ASP.NET与GMail免费SMTP服务器
- fork的精彩讨论整理
- Linux 进程间通信 - 信号灯
- MID:徘徊在功能与便携之间
- 各服务器配置数据源时JNDI的不同。。
- j2me 颜色渐变与透明处理
- Date对象的使用(比较)
- Test blog title
- PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
- [数据恢复答疑]不同的RAID方案都适合于什么环境?
- 经典言论
- WEB系统中加密/解密URL传输参数.
- php连接sql server查询text字段丢失数据解决方法
- opensolaris推广(济南站)