import javax.microedition.lcdui.Graphics;
public class CrystalRGB {
/**
* 竖直方向的颜色渐变
* @param g
* @param color
* @param x
* @param y
* @param width
* @param height
*/
public final static void drawRGBVRect(Graphics g, int color, int x, int y,int width, int height)
{
int[] rgb = getRGBVColor(color, height);
for (int i = 0; i < width; i += 4) {
int nTemp = x + width - (i - x);
nTemp = nTemp > 4 ? 4 : nTemp;
g.drawRGB(rgb, 0, 4, i, y, nTemp, height, true);
}
}
/**
* 竖直方向获取颜色渐变RGB数组,
*
* @param width
* @return
*/
public final static int[] getRGBVColor(int color, int h)
{
int[] rgb;
int RGB_L = h;
int nRgbData = RGB_L * 4;
int a;
rgb = new int[nRgbData];
for (int i = 0; i < RGB_L; i++) {
a = i;
if (a > 255) {
a = 255;
}
int col = color | (a << 24);
rgb[i * 4] = col;
rgb[i * 4 + 1] = col;
rgb[i * 4 + 2] = col;
rgb[i * 4 + 3] = col;
}
return rgb;
}
/*========================================================================*/
/**
* 水平方向颜色渐变
*/
public final static void drawRGBSRect(Graphics g, int color, int x, int y,int width, int height) {
int[] rgb = getRGBSColor(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[] getRGBSColor(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;
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/laigb/archive/2009/03/24/4019144.aspx
分享到:
相关推荐
算法二采用了一种不同的方法,通过创建一个包含所有渐变颜色的RGB数组,然后使用`Graphics.drawRGB`方法绘制整个区域。实现代码如下: ```java public final static int[] getRGBShadeColor(int w, int h, int ...
"testgradient.rar实现颜色渐变的一个J2ME程序"这个标题指出,我们关注的是一个Java Micro Edition (J2ME) 应用程序,它专门设计用于创建颜色渐变效果。J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...
《J2ME飞机游戏开发详解》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为移动设备、嵌入式系统等资源有限的环境设计。本篇文章将深入探讨如何利用J2ME技术开发一款简单的飞机游戏,以此帮助初学者理解...
**J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...
在J2ME(Java 2 Micro Edition)平台上开发游戏时,地图的设计与绘制是至关重要的一个环节。J2ME作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑,用于实现各种应用程序,特别是游戏。本...
**J2ME中文版教程——全面解读移动设备编程** J2ME(Java 2 Micro Edition)是Java平台的一个重要组成部分,专为嵌入式设备、移动电话和其他资源有限的设备设计。这个J2ME中文版教程是针对初学者和有一定经验的...
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
j2me 开发框架介绍 j2me 是一种用于开发无线应用程序的平台,它提供了一个灵活、强大和开放的开发环境。随着 j2me 的普及,出现了许多开源框架,旨在简化开发过程,提高开发效率。下面将介绍这些框架,並分析它们的...
J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏
**J2ME教材:J2ME&Gaming中文版** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的...
Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...
Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发手机游戏、应用程序和服务。"j2me游戏.rar"很可能是包含了一系列使用J2ME技术开发的游戏资源包。在本文中,我们将深入探讨J2ME...
【标题】"Tank_J2ME.rar_j2me" 指的是一个关于J2ME(Java 2 Micro Edition)平台的项目,其中包含了实现“塔克大战”游戏的源代码和资源文件。J2ME是Java的一个子集,主要用于开发在移动设备、嵌入式系统等小型设备...
Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发和部署移动设备、嵌入式设备上的应用程序。这款"j2me经典游戏源码"提供了一个绝佳的学习平台,帮助开发者深入理解J2ME游戏编程的核心概念和技术。 ...
Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,主要针对嵌入式设备和移动设备,如手机、智能电表、机顶盒等。这个“j2me课件.rar”压缩包包含了浙江工业大学软件工程专业2009年的J2ME课程相关材料,...
**j2ME手机移动开发** Java 2 Micro Edition(j2ME)是Java平台的一个重要分支,主要用于开发在小型设备上运行的应用程序,如手机、智能手表和家用电器等。j2ME为移动设备提供了丰富的功能,使得开发者可以构建功能...
通过这些代码,学习者可以学习到如何组织MIDlet类,如何处理用户输入,如何使用图形和颜色,以及如何实现网络通信。此外,还可以看到如何使用RMS存储数据,如何调试和优化J2ME代码。 总的来说,《郭克华 J2ME 视频 ...
【标题】"J2ME移植Android引擎"涉及的是将基于Java Micro Edition (J2ME) 开发的游戏或应用转换到Android平台的过程。J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,而Android则是一个开源的操作系统,...
渲染时要考虑颜色、透明度以及字体大小等因素。 4. **优化与内存管理**:由于J2ME设备资源有限,字库的大小和内存占用是需要考虑的重要因素。开发者可能需要对字库进行压缩,或者在运行时动态加载部分字库,以减少...