请问在手机上怎么画半透明的图片

bohemianren 2006-04-12 04:05:04
那天看到一个 JAVA游戏,可以调节游戏的对话框的 半透明度,请问怎么去实现呢
有代码可以参考吗?
API是1.0的还是2.0的啊
...全文
332 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sahara_whm 2007-04-03
  • 打赏
  • 举报
回复
或者ALPHA混合技术也可以..........而且很不错.......
sahara_whm 2007-04-03
  • 打赏
  • 举报
回复
哈哈,,,用ALPHA通道,,,,,搜一下很多的,,,,,
xueyong1203 2006-04-13
  • 打赏
  • 举报
回复
http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=2016
zengcity 2006-04-13
  • 打赏
  • 举报
回复
alpha_fade(...)的用法,就是在一个图片上添加一层颜色
比如alpha_fade(0,0,20,20,0xff0000,8) 就会在屏幕上0,0,20,20这个方块内,添加一层半透明的红色

//x,y,width,height,需要绘制的坐标,宽高
//color,添上去的颜色
//transparence,半透明的程度 [0,16]
private void alpha_fade(int x, int y, int width, int height, int color,
int transparence) {
int i;

//把RGB颜色,转换成4444格式的颜色
int r = (color & 0xff0000) >> 20; //得到添加颜色的高位R
int g = (color & 0x00ff00) >> 12; //得到添加颜色的高位G
int b = (color & 0x0000ff) >> 4; //得到添加颜色的高位B
short m_color = (short) ((r << 8) | (g << 4) | b);

short pixels[] = new short[width];
for (i = 0; i < width; i++) {
pixels[i] = (short) ((transparence << 12) + m_color);
}

//再绘制到屏幕上
for (i = 0; i < height; i++) {
dg.drawPixels(pixels, true, 0, width, x, i + y, width, 1, 0, 4444);
}
pixels = null;
}
wag1_1 2006-04-13
  • 打赏
  • 举报
回复
drawimage()这个函数里有一个是设定透明度的参数,看看哦
还有一个函数,它里面不用操作位,直接就能设定透明度,大家找找,我忘了是哪个了!!呵呵
feijunjun 2006-04-12
  • 打赏
  • 举报
回复
R,G,B都只剩下4位, 不是都成了16以内的值了吗?
0xEEEEEE
80%透明
变成 0x5EEE
不理解...唉,
feijunjun 2006-04-12
  • 打赏
  • 举报
回复
O, 不对, 是剩下最后4位.. 不过这是干什么啊, 不理解
直接 (short)(transparence + (m_color & 0xFFFFFF)) 不行吗?
feijunjun 2006-04-12
  • 打赏
  • 举报
回复
上面那位的代码我都看不懂...

int b = (color & 0x0000ff) >> 4;
这样操作完后还剩下什么? 不是绝对为0的吗?
zengcity 2006-04-12
  • 打赏
  • 举报
回复
看到过这么个源代码。
不过要用Nokia的dg
private void alpha_fade(int x, int y, int width, int height, int color,
int transparence) {
int i;
int r = (color & 0xff0000) >> 20;
int g = (color & 0x00ff00) >> 12;
int b = (color & 0x0000ff) >> 4;
short m_color = (short) ((r << 8) | (g << 4) | b);

short pixels[] = new short[width];
for (i = 0; i < width; i++) {
pixels[i] = (short) ((transparence << 12) + m_color);
}
for (i = 0; i < height; i++) {
dg.drawPixels(pixels, true, 0, width, x, i + y, width, 1, 0, 4444);
}
pixels = null;
}
old_man 2006-04-12
  • 打赏
  • 举报
回复
不懂!~等待其他人怎么说!
liujun999999 2006-04-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/liujun999999/archive/2006/04/01/646644.aspx
mxch 2006-04-12
  • 打赏
  • 举报
回复
可以 用photoshop 做成 半透明,然后直接画在上面!
zxh998 2006-04-12
  • 打赏
  • 举报
回复
嘿!关注!

13,100

社区成员

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

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