我正在尝试通过更改图像的alpha值为我的BD-J应用程序使用DvbBufferedImage创建一个淡入动画,
doubleBuffer = new DVBBufferedImage(1920, 2180, DVBBufferedImage.TYPE_ADVANCED);
但在创建缓冲区后,其宽度和高度为0,当我试图获取图形时:
DVBGraphics bufferGraphics = doubleBuffer.createGraphics();
返回null。
之后,我想在缓冲区上绘制图像,然后得到NullPointerException
。
你有什么建议吗?
我认为它与我的库有关,因为当我使用此代码替换DvbBufferedImage
BufferedImage
时:
protected BufferedImage bufImage = new BufferedImage(1920, 2180, BufferedImage.TYPE_INT_ARGB );
它说:
构造函数BufferedImage(int,int,int)未定义
我提到我正在使用自定义eclipse开发Bd-j应用程序,而我的java版本是jre1.8.0_77
。
下面列出的此应用程序使用的类:
basis.jar
btclasses.zip
j2me_xml_cdc.jar
javatv.jar
jsse-cdc.jar
pbp_1_0.jar
SonicBDJ.jar
您的帮助将在此问题上受到赞赏,提前致谢!
答案 0 :(得分:0)
这可能与内存问题有关。
根据规格,蓝光播放器只需要有4 MB的内存。这包括当前加载的实际JAR文件的空间。因此,如果您使用高质量的1920x2180像素的图像,那么您的JAR可能已经占用了1-2 MB。然后将该图像加载到内存中可能会导致File Real Path: /private/var/folders/d0/b3zwsx7530l115k5rrj0zkx80000gn/T/phpdDRwaz
,这意味着图片无法加载,这就是您获得OutOfMemoryException
的原因。
Blu-ray Disc Java是JavaME。我们正在处理有限的平台。 ; - )