2006年05月16日 星期二 17:46
在尝试按照J2ME的游戏例子做个PYS60版的....累死... 现在遇到的困难是PNG图如何透明?我导入的背景透明的PNG图放到PYS60里不是带黑色背景就是白色背景....请各位高手帮忙解决. 代码和截图在这里 http://bbs.chinaunix.net/viewthread.php?tid=756242&pid;=5165003&page;=1&extra;=page%3D2#pid5165003 -- ==推荐== 优享-烧炙对胃口的Feed 烧录 分享 挖掘你的兴趣 推荐更好的Blog 地址-http://www.ushared.com Demo Feed - http://www.ushared.com/qingfeng/1143981110.xml -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060516/7c61174e/attachment.htm
2006年05月16日 星期二 19:38
前一段时间研究j2me得看过png格式得图片,他里面是包含透明信息得。我把资料整理一下发一下: /* ================================== * || 重点技术讲解:png图片透明处理 || * ================================================================================================ * 在PNG里每个象素是一个ARBG格式,是一个8位的十六进制的数字,比如0xff121212,这个东西描述了图片的一个象素, * 我们可以通过Image类中的getRGB(int[] rgbData, int offset, int scanlength, int x, int y, int width, * int height) 方法获得一个rgbData,这个rgbData就保存了图片所对应的象素信息,取出象素信息之后我们需要对其 * 进行透明效果的处理,透明效果的值是保存在8位中的最高2位,你可以把这个象素值转换成16进制输出,一般情况下最 * 高2位应该都是为FF,也就是不透明,我们现在需要把这个FF改成一个比他小的值,那么我们的图片就透明了,最高位 * 为00的时候图片就全透明了。 * 其实8位16进制对应了32位的2进制,那么我们可以通过下面的方法取出他的最高2位: * A = Argb>>24//把这个数向右移动24位,那么剩下的8位就是我们要的最高位了 * 修改之后我们再通过下面的方法可以把他存回去 Argb = a<<24 |( argb & 0x00FFFFFF); * 那么我们通过循环把这个图片的所有象素信息都改变之后,在用改变的象素信息来构造一个图片,或者这个通过我们的 * Graphics 下面的drawRGB方法直接画出来的就是一个半透明效果的图片了,你可以在画这个图片之前先画一个其他的 * 图片,这样你就可以很明显地看到效果了. * ================================================================================================== */ -- /********************************************************** * Love in Gentoo-Linux J2ME and Python * Look at my website and my blog * http://www.jnlinux.org * 希望宝宝可以永远快乐,你是最棒的。 **********************************************************/
2006年05月18日 星期四 09:07
谢谢但是似乎PYS60自带的Image类里没有getRGB这种方法,我用PS建立了一个索引模式的PNG图应该和这个做法 差不多但是PYS60读取后还是不行,背景色变成了白色 在06-5-16,prolibertine <prolibertine at gmail.com> 写道: > > 前一段时间研究j2me得看过png格式得图片,他里面是包含透明信息得。我把资料整理一下发一下: > > /* ================================== > * || 重点技术讲解:png图片透明处理 || > * > ================================================================================================ > * 在PNG里每个象素是一个ARBG格式,是一个8位的十六进制的数字,比如0xff121212,这个东西描述了图片的一个象素, > * 我们可以通过Image类中的getRGB(int[] rgbData, int offset, int scanlength, int > x, int y, int width, > * int height) 方法获得一个rgbData,这个rgbData就保存了图片所对应的象素信息,取出象素信息之后我们需要对其 > * 进行透明效果的处理,透明效果的值是保存在8位中的最高2位,你可以把这个象素值转换成16进制输出,一般情况下最 > * 高2位应该都是为FF,也就是不透明,我们现在需要把这个FF改成一个比他小的值,那么我们的图片就透明了,最高位 > * 为00的时候图片就全透明了。 > * 其实8位16进制对应了32位的2进制,那么我们可以通过下面的方法取出他的最高2位: > * A = Argb>>24//把这个数向右移动24位,那么剩下的8位就是我们要的最高位了 > * 修改之后我们再通过下面的方法可以把他存回去 Argb = a<<24 |( argb & 0x00FFFFFF); > * 那么我们通过循环把这个图片的所有象素信息都改变之后,在用改变的象素信息来构造一个图片,或者这个通过我们的 > * Graphics 下面的drawRGB方法直接画出来的就是一个半透明效果的图片了,你可以在画这个图片之前先画一个其他的 > * 图片,这样你就可以很明显地看到效果了. > * > ================================================================================================== > */ > > > -- > /********************************************************** > * Love in Gentoo-Linux J2ME and Python > * Look at my website and my blog > * http://www.jnlinux.org > * 希望宝宝可以永远快乐,你是最棒的。 > **********************************************************/ > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -- ==注意== 我的第一个S60手机小游戏发布 详见BLOG ==推荐== 优享-烧炙对胃口的Feed 烧录 分享 挖掘你的兴趣 推荐更好的Blog 地址-http://www.ushared.com Demo Feed - http://www.ushared.com/qingfeng/1143981110.xml -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060518/f43bfa49/attachment.htm
2006年05月18日 星期四 22:58
楼主最近在研究PYS60么?在PC模拟器上运行程序速度还行,,但我在NG上测试感觉运行速度很慢,感觉比KJAVA的程序还慢(不过没准确测试过)不知到你用的是什么解释器啊,想向你学习PYS60的游戏设计`~ 在06-5-18,瞄瞄 <icejmx at gmail.com > 写道: > > 谢谢但是似乎PYS60自带的Image类里没有getRGB这种方法,我用PS建立了一个索引模式的PNG图应该和这个做法 > 差不多但是PYS60读取后还是不行,背景色变成了白色 > > 在06-5-16,prolibertine <prolibertine at gmail.com > 写道: > > > > 前一段时间研究j2me得看过png格式得图片,他里面是包含透明信息得。我把资料整理一下发一下: > > > > /* ================================== > > * || 重点技术讲解:png图片透明处理 || > > * > > ================================================================================================ > > * 在PNG里每个象素是一个ARBG格式,是一个8位的十六进制的数字,比如0xff121212,这个东西描述了图片的一个象素, > > * 我们可以通过Image类中的getRGB(int[] rgbData, int offset, int scanlength, int > > x, int y, int width, > > * int height) 方法获得一个rgbData,这个rgbData就保存了图片所对应的象素信息,取出象素信息之后我们需要对其 > > * 进行透明效果的处理,透明效果的值是保存在8位中的最高2位,你可以把这个象素值转换成16进制输出,一般情况下最 > > * 高2位应该都是为FF,也就是不透明,我们现在需要把这个FF改成一个比他小的值,那么我们的图片就透明了,最高位 > > * 为00的时候图片就全透明了。 > > * 其实8位16进制对应了32位的2进制,那么我们可以通过下面的方法取出他的最高2位: > > * A = Argb>>24//把这个数向右移动24位,那么剩下的8位就是我们要的最高位了 > > * 修改之后我们再通过下面的方法可以把他存回去 Argb = a<<24 |( argb & 0x00FFFFFF); > > * 那么我们通过循环把这个图片的所有象素信息都改变之后,在用改变的象素信息来构造一个图片,或者这个通过我们的 > > * Graphics 下面的drawRGB方法直接画出来的就是一个半透明效果的图片了,你可以在画这个图片之前先画一个其他的 > > * 图片,这样你就可以很明显地看到效果了. > > * > > ================================================================================================== > > */ > > > > > > -- > > /********************************************************** > > * Love in Gentoo-Linux J2ME and Python > > * Look at my website and my blog > > * http://www.jnlinux.org > > * 希望宝宝可以永远快乐,你是最棒的。 > > **********************************************************/ > > > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > -- > ==注意== > 我的第一个S60手机小游戏发布 详见BLOG > ==推荐== > 优享-烧炙对胃口的Feed > 烧录 分享 挖掘你的兴趣 推荐更好的Blog > 地址- http://www.ushared.com > Demo Feed - http://www.ushared.com/qingfeng/1143981110.xml > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060518/3f03c2d0/attachment.htm
2006年05月19日 星期五 09:47
汗 我是地道的全新人 PYTHON初学 PYS60也是兴趣初学 我没测试过在我手机上的运行速度但是我感觉还可以吧 你用什么测试的 可以让我试试吗? 我的是N70 我用的就是PYS601.3 NOKIA现在提供下载的是1.2 去SOURCEFORGE有最新的 在06-5-18,费振华 <feizhenhua at gmail.com> 写道: > > > 楼主最近在研究PYS60么?在PC模拟器上运行程序速度还行,,但我在NG上测试感觉运行速度很慢,感觉比KJAVA的程序还慢(不过没准确测试过)不知到你用的是什么解释器啊,想向你学习PYS60的游戏设计`~ > > 在06-5-18,瞄瞄 < icejmx at gmail.com > 写道: > > > 谢谢但是似乎PYS60自带的Image类里没有getRGB这种方法,我用PS建立了一个索引模式的PNG图应该和这个做法 > > 差不多但是PYS60读取后还是不行,背景色变成了白色 > > > > 在06-5-16,prolibertine <prolibertine at gmail.com > 写道: > > > > > > 前一段时间研究j2me得看过png格式得图片,他里面是包含透明信息得。我把资料整理一下发一下: > > > > > > /* ================================== > > > * || 重点技术讲解:png图片透明处理 || > > > * > > > ================================================================================================ > > > * 在PNG里每个象素是一个ARBG格式,是一个8位的十六进制的数字,比如0xff121212,这个东西描述了图片的一个象素, > > > * 我们可以通过Image类中的getRGB(int[] rgbData, int offset, int scanlength, int > > > x, int y, int width, > > > * int height) 方法获得一个rgbData,这个rgbData就保存了图片所对应的象素信息,取出象素信息之后我们需要对其 > > > * 进行透明效果的处理,透明效果的值是保存在8位中的最高2位,你可以把这个象素值转换成16进制输出,一般情况下最 > > > * 高2位应该都是为FF,也就是不透明,我们现在需要把这个FF改成一个比他小的值,那么我们的图片就透明了,最高位 > > > * 为00的时候图片就全透明了。 > > > * 其实8位16进制对应了32位的2进制,那么我们可以通过下面的方法取出他的最高2位: > > > * A = Argb>>24//把这个数向右移动24位,那么剩下的8位就是我们要的最高位了 > > > * 修改之后我们再通过下面的方法可以把他存回去 Argb = a<<24 |( argb & 0x00FFFFFF); > > > * 那么我们通过循环把这个图片的所有象素信息都改变之后,在用改变的象素信息来构造一个图片,或者这个通过我们的 > > > * Graphics 下面的drawRGB方法直接画出来的就是一个半透明效果的图片了,你可以在画这个图片之前先画一个其他的 > > > * 图片,这样你就可以很明显地看到效果了. > > > * > > > ================================================================================================== > > > */ > > > > > > > > > -- > > > /********************************************************** > > > * Love in Gentoo-Linux J2ME and Python > > > * Look at my website and my blog > > > * http://www.jnlinux.org > > > * 希望宝宝可以永远快乐,你是最棒的。 > > > **********************************************************/ > > > > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > > > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > -- > > ==注意== > > 我的第一个S60手机小游戏发布 详见BLOG > > ==推荐== > > 优享-烧炙对胃口的Feed > > 烧录 分享 挖掘你的兴趣 推荐更好的Blog > > 地址- http://www.ushared.com > > Demo Feed - http://www.ushared.com/qingfeng/1143981110.xml > > > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request at lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060519/16bd217d/attachment-0001.html
Zeuux © 2025
京ICP备05028076号