`
zj360202
  • 浏览: 29843 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

J2ME 颜色渐变

    博客分类:
  • j2me
阅读更多
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
分享到:
评论

相关推荐

    J2ME颜色渐变算法分析

    算法二采用了一种不同的方法,通过创建一个包含所有渐变颜色的RGB数组,然后使用`Graphics.drawRGB`方法绘制整个区域。实现代码如下: ```java public final static int[] getRGBShadeColor(int w, int h, int ...

    testgradient.rar实现颜色渐变的一个J2ME程序

    "testgradient.rar实现颜色渐变的一个J2ME程序"这个标题指出,我们关注的是一个Java Micro Edition (J2ME) 应用程序,它专门设计用于创建颜色渐变效果。J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,...

    J2ME开发 J2ME开发 J2ME开发

    J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...

    j2me_plane.rar_j2me_j2me 飞机_j2me 飞机 游戏_飞机游戏

    《J2ME飞机游戏开发详解》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为移动设备、嵌入式系统等资源有限的环境设计。本篇文章将深入探讨如何利用J2ME技术开发一款简单的飞机游戏,以此帮助初学者理解...

    J2ME API 2.0 J2ME使用手册 J2ME帮助文档

    **J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...

    J2ME_Map.rar_J2ME 地图_J2ME游戏_j2me 游戏_j2me_m_绘制地图

    在J2ME(Java 2 Micro Edition)平台上开发游戏时,地图的设计与绘制是至关重要的一个环节。J2ME作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑,用于实现各种应用程序,特别是游戏。本...

    J2ME中文版教程 J2ME教程

    **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小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏

    J2ME教材:J2ME&Gaming中文版

    **J2ME教材:J2ME&Gaming中文版** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的...

    j2me手机浏览器/j2me手机浏览器

    Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...

    j2me游戏.rar

    Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发手机游戏、应用程序和服务。"j2me游戏.rar"很可能是包含了一系列使用J2ME技术开发的游戏资源包。在本文中,我们将深入探讨J2ME...

    Tank_J2ME.rar_j2me

    【标题】"Tank_J2ME.rar_j2me" 指的是一个关于J2ME(Java 2 Micro Edition)平台的项目,其中包含了实现“塔克大战”游戏的源代码和资源文件。J2ME是Java的一个子集,主要用于开发在移动设备、嵌入式系统等小型设备...

    j2me经典游戏源码

    Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发和部署移动设备、嵌入式设备上的应用程序。这款"j2me经典游戏源码"提供了一个绝佳的学习平台,帮助开发者深入理解J2ME游戏编程的核心概念和技术。 ...

    j2me课件.rar

    Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,主要针对嵌入式设备和移动设备,如手机、智能电表、机顶盒等。这个“j2me课件.rar”压缩包包含了浙江工业大学软件工程专业2009年的J2ME课程相关材料,...

    j2ME手机移动开发

    **j2ME手机移动开发** Java 2 Micro Edition(j2ME)是Java平台的一个重要分支,主要用于开发在小型设备上运行的应用程序,如手机、智能手表和家用电器等。j2ME为移动设备提供了丰富的功能,使得开发者可以构建功能...

    郭克华 J2ME 视频 源码

    通过这些代码,学习者可以学习到如何组织MIDlet类,如何处理用户输入,如何使用图形和颜色,以及如何实现网络通信。此外,还可以看到如何使用RMS存储数据,如何调试和优化J2ME代码。 总的来说,《郭克华 J2ME 视频 ...

    j2me移植Android引擎

    【标题】"J2ME移植Android引擎"涉及的是将基于Java Micro Edition (J2ME) 开发的游戏或应用转换到Android平台的过程。J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,而Android则是一个开源的操作系统,...

    j2me点阵字库

    渲染时要考虑颜色、透明度以及字体大小等因素。 4. **优化与内存管理**:由于J2ME设备资源有限,字库的大小和内存占用是需要考虑的重要因素。开发者可能需要对字库进行压缩,或者在运行时动态加载部分字库,以减少...

Global site tag (gtag.js) - Google Analytics