高分请教图像透明问题!

widows 2005-08-12 02:35:06
小弟刚刚接触j2me,现在做一个小游戏,在处理图像时,我将一个人物的几个动作放在一个png文件中(图片背景是透明的),读取时一次读一个动作,但是这是图片的透明部分却成了白色的。很是难看。
请问各位有没有较好的解决办法。
注:我知道要将每个动作放在一个单独的png文件就不会有问题,但是现在动作太多,要是在拆分图片过于麻烦。所以我决定不用这种方法。请问各位有没有较好的办法。
小弟先谢谢各位!
...全文
264 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaAndJava 2005-08-16
  • 打赏
  • 举报
回复
说的很清楚了,在1。0中是无法实现创建小图片透明的,不管你的图片本身是否透明,在n40中运用nokia的api可以创建小图片透明的,但你可以运用setclip的方法画出一张大图片,在特定位置的图片有效。
nokia的api的原代码中无法看到他是怎么实现透明!
yyworld 2005-08-16
  • 打赏
  • 举报
回复
把你绘制的代码贴出来,这样空讲讲不清楚
thincterii 2005-08-16
  • 打赏
  • 举报
回复
你是不是自己定义了调色板之类的东西?
delphiseabird 2005-08-16
  • 打赏
  • 举报
回复
不能透明是因为你的图片没做好,至于多个帧可以用setclip实现.

www.coderpub.com
widows 2005-08-16
  • 打赏
  • 举报
回复
哈哈哈哈
搞定了
谢谢各位
下面是我的新代码
public void MydrawRegion(Graphics graphics,Image imgSrc,
int SrcX,int SrcY,
int TargetX, int TargetY,
int TargetWidth,int TargetHeight)
{

graphics.setClip(TargetX, TargetY, TargetWidth, TargetHeight);
graphics.drawImage(imgSrc, TargetX-SrcX, TargetY-SrcY, Graphics.LEFT | Graphics.TOP);

}
谢谢各位!
congliu 2005-08-16
  • 打赏
  • 举报
回复
PNGDecodeParam.setSuppressAlpha
widows 2005-08-16
  • 打赏
  • 举报
回复

public void Mydraw(Graphics graphics,Image imgSrc,
int SrcX,int SrcY,
int TargetX, int TargetY,
int TargetWidth,int TargetHeight)
{
imgEmpty = Image.createImage(TargetWidth, TargetHeight);

imgEmpty.getGraphics().setClip(0, 0, TargetWidth, TargetHeight);
imgEmpty.getGraphics().drawImage(imgSrc, -SrcX, -SrcY, Graphics.LEFT | Graphics.TOP);
graphics.drawImage(imgEmpty, TargetX, TargetY, Graphics.LEFT | Graphics.TOP);
}
这个方法是跟一个源码上学的.
goldAlex 2005-08-15
  • 打赏
  • 举报
回复
g.setClip(),然后画吧,小图不用createImage()的,如果用createImage()创建的是mutable的Image,是用不了透明色的。
javafaq2004 2005-08-15
  • 打赏
  • 举报
回复
理论上来说上述办法应该无用。
javafaq2004 2005-08-15
  • 打赏
  • 举报
回复
不是很明白你的意思,试试PNGDecodeParam.setSuppressAlpha这个看看。
xueyong1203 2005-08-15
  • 打赏
  • 举报
回复
可以试一下setClip画透明全图的一部分(子图)
widows 2005-08-15
  • 打赏
  • 举报
回复
我觉得模拟器既然支持全图透明
就没理由不支持子图透明
所以我觉得应该有解决的办法
因此像各位大侠请教!
widows 2005-08-15
  • 打赏
  • 举报
回复
我试过的呀
全图的是透明的
子图就不是透明的了
ransion 2005-08-14
  • 打赏
  • 举报
回复
是没有图片没有透明的原因
ransion 2005-08-14
  • 打赏
  • 举报
回复
我的图像是透明的,但只读取这张透明图像的一部分时(也就是子图像),本来透明的部分画出来却是白色了!还请各位在给些意见!!


---------------------------------------------------

如果你说的是setclip+drawImage的话,不能透明只能是模拟器不支持 还有是图片问题

你可以看看如果画全图的画是不是能透明
prok 2005-08-14
  • 打赏
  • 举报
回复
你用的模拟器吧.透明图像是需要机器支持的.目前大多机器都支持的.你传到实机上.活着用nokia的模拟器看就没问题了.不要担心
widows 2005-08-14
  • 打赏
  • 举报
回复
我晕了,各位
我会用photoshop的(至少有一年的经验) 而且也会压缩.
大家是不是没看明白我的意思.
我的图像是透明的,但只读取这张透明图像的一部分时(也就是子图像),本来透明的部分画出来却是白色了!还请各位在给些意见!!
gezzzzx 2005-08-14
  • 打赏
  • 举报
回复
对了,如果你图原来是透明的,用CTRL+ALT+SHIFT+S压一下应该可以,我每次这样做,没问题的.
gezzzzx 2005-08-14
  • 打赏
  • 举报
回复
对了,如果你图原来是透明的,用CTRL+ALT+SHIFT+S压一下应该可以,我每次这样做,没问题的.
gezzzzx 2005-08-14
  • 打赏
  • 举报
回复
其实图片本身是透明的就可以解决.用PHOTOSHOP创建一个现在 用的图片大小的文件,选择透明图,把你原来的图截进去,存成PNG的,直接用就可以了.在存的时候可以用CTRL+ALT+SHIFT+S把图的容量压得比较小.注意图片的颜色位数,可以自己选择,这跟图的质量有关.这样无问题.MIDP1.0,2.0都可以用.
加载更多回复(5)

13,100

社区成员

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

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