Попытка создать DvbBufferedImage, но его ширина и высота 0

Я пытаюсь создать постепенную анимацию, используя DvbBufferedImage для моего приложения BD-J, изменяя альфа-значение изображений,

doubleBuffer = new DVBBufferedImage(1920, 2180, DVBBufferedImage.TYPE_ADVANCED);

но после того, как он создает буфер, его ширина и высота равны 0, а когда я пытаюсь получить графику:

DVBGraphics bufferGraphics = doubleBuffer.createGraphics();

Возвращает ноль.

после этого я хочу нарисовать изображения в буфер и получаю NullPointerException, Есть ли у вас и предложение? Я думаю, что это связано с моими библиотеками, потому что, когда я заменил DvbBufferedImage с BufferedImage используя этот код:

protected BufferedImage bufImage = new BufferedImage(1920, 2180, BufferedImage.TYPE_INT_ARGB );

это говорит:

Конструктор BufferedImage (int, int, int) не определен

Я упоминаю, что я использую настраиваемое затмение для разработки 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

Ваша помощь будет оценена по этой проблеме, заранее спасибо!

1 ответ

Это может быть связано с проблемой памяти.

Проигрыватели Blu-ray должны иметь только 4 МБ памяти в соответствии со спецификацией. Это включает пространство для фактического загруженного файла JAR. Так что, если вы используете изображение 1920x2180 пикселей в высоком качестве, то ваш JAR, вероятно, уже занимает 1-2 Мб. Тогда загрузка этого изображения в память может вызвать OutOfMemoryExceptionЭто означает, что изображение не будет загружено, поэтому вы получаете NullPointerException,

Blu-ray Disc Java - это JavaME. Мы имеем дело с ограниченной платформой.;-)

Другие вопросы по тегам