2016-11-08 2 views
1

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

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) не определено

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

'1920x2180'? Какая резолюция? – Kayaman

+0

Я хочу использовать это изображение 1920x2180 в качестве моей карты, загрузить его в буфер (dvbbufferedimage bufferedimage), затем нарисовать часть его в этот буфер и сгенерировать свое окончательное изображение. то я использую это изображение для запуска анимации (путем изменения его альфа-значения) – Arvin

ответ

0

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

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

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

Смежные вопросы