如何在JavaME中创建透明可变图像?
有没有办法在JavaME(CLDC 1.1,MIDP 2.0)中创建透明可变图像?
public static Image createImage(int width, int height)
创建可变图像,但不是透明图像(至少不是在诺基亚手机上!)
任何其他 Image.create*
创建不可变图像,我不知道从不可变图像创建可变图像的任何方法。
我需要它来创建“预渲染”功能。 将多个图像合并为一个以使渲染速度更快(我可以将这些图像合并一次,然后在一次调用中将它们全部绘制出来。它可以节省时间和内存,因为我不需要保留原始图像)。
也许有人可以想到任何其他方法来实现相同的效果?
Is there any way of creating transparent mutable images in JavaME (CLDC 1.1, MIDP 2.0) ?
public static Image createImage(int width, int height)
Creates mutable image but not transparent one (at least not on Nokia phones!)
Any other Image.create*
creates immutable images and I don't know any way of creating mutable image from immutable one.
I need this to create "prerendering" functionality. Join several images into one to make rendering faster (I could join this images once and then draw them all in one call. It saves time and memory since I don't need to keep original images).
Maybe someone can think of any other way of accomplishing the same effect?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 Image.getRGB() 以 int 数组形式获取图像数据并处理 alpha 分量,然后使用 Graphics.drawRGB() 将该 int[] 绘制到 Graphics。 这可能不适用于不支持 Alpha 透明度的手机
You can use the Image.getRGB() to get the image data as an int array and process the alpha component and then draw that int[] to the Graphics using Graphics.drawRGB(). This might not work on phones that dont support alpha transparency
不幸的是没有。 MIDP 不支持透明可变图像。 您仍然可以使用图像来预渲染某些内容,但您必须解决没有透明像素的问题。
Unfotunately no. MIDP does not support transparent mutable Images. You can stil use Image for pre-rendering some content, but you have to work around not having transparent pixels.