Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > проблемы с createImage


Автор: Yugine 9.8.2006, 20:56
Image screen = Image.createImage(132, 176);

возвращается значение null

подскажите пожалуйста, почему такое может быть?

Автор: Orex 9.8.2006, 22:14
132 и 176-это что?

Автор: Yugine 9.8.2006, 23:22
ширина и высота

Добавлено @ 23:24 
createImage(int width, int height) 

Creates a new, mutable image for off-screen drawing.

Автор: Orex 10.8.2006, 08:47
Возможно я ошибусь.Но в createImage нужно указывать имя изображения, например Image img=Image.createImage("/Image.png"), а затем рисовать это изображение с поvощью drawImage(img,x,y,anchor), где img-изображение, х и у-координаты верхнего левого угла изображения, anchor-анкер.

Автор: Samuil 10.8.2006, 09:36
Вот все способы создания картинки:

1. createImage(byte[] imageData, int imageOffset, int imageLength) 
          Creates an immutable image which is decoded from the data stored in the specified byte array at the specified offset and length.

2. createImage(Image source) 
          Creates an immutable image from a source image.

3. createImage(Image image, int x, int y, int width, int height, int transform) 
          Creates an immutable image using pixel data from the specified region of a source image, transformed as specified.

4. createImage(int width, int height) 
          Creates a new, mutable image for off-screen drawing.

5. createImage(String name) 
          Creates an immutable image from decoded image data obtained from the named resource.

6. createRGBImage(int[] rgb, int width, int height, boolean processAlpha) 
          Creates an immutable image from a sequence of ARGB values, specified as 0xAARRGGBB.

Автор: Yugine 10.8.2006, 10:53
мне как раз четвертый способ и нужен, только почему-то не работает. вместо объекта картинки возвращается null.

Автор: Dancer 10.8.2006, 11:22
попробуй с другими размерами (например 10х10), возможно производитель вшил ограничение какое-нибудь, ну или просто глюк в KVM.
На чём пробуешь это дело делать то? (что за аппарата, или что за эмулятор)

Автор: Yugine 10.8.2006, 12:40
эмулятор из WTK2.2 - стандартный цветной телефон.

на сколько я знаю, картинку можно делать любого размера не зависимо от размера экрана, потому что она используется как внеэкранный буфер.

я на ней как раз и собираюсь рисовать карту, которая должна быть больше экрана.

Автор: Samuil 10.8.2006, 13:53
А почему именно 4 способом?
Помоему 3-й даже лучше, сам его использую

Автор: Dancer 10.8.2006, 14:12
Код


        widthBox = width;
        heightBox = height;
        boxImg = Image.createImage(widthBox, heightBox);
        boxGr = boxImg.getGraphics();


Вот это у меня нормально работает на WTK2.2 эмуляторе, а так же и на самсунговском эмуляторе. Ошибка где-то в ..... (наверное голове. покажи код)

Автор: W0LF 10.8.2006, 17:55
Цитата(Samuil @ 10.8.2006,  13:53)
А почему именно 4 способом?
Помоему 3-й даже лучше, сам его использую

Потому, что 4 возвращает mutable картинку, а 3 - нет. Он же написал, что картинка у него используется, как внеэкранный буфер. А если делать 3 способом, то нифига ты на нее положить не сможешь.

Добавлено @ 17:56 
Цитата(Yugine @ 9.8.2006,  20:56)
Image screen = Image.createImage(132, 176);

возвращается значение null

подскажите пожалуйста, почему такое может быть?

У меня все работало. Загружалась картинка, которая по размерам равнялась 4 экранам этого эмулятора...
Так что, как сказал Dancer, давай код smile

Автор: AndriyTyurnikov 12.8.2006, 21:04
Цитата

Image screen = Image.createImage(132, 176);
возвращается значение null
подскажите пожалуйста, почему такое может быть? 


этот вопрос сродни вопросу
2+2 не равно 4, что делать?

во первых предлагаю сразу вслед за строкой 

Код

Image screen = Image.createImage(132, 176);


добавить код

Код

if(null ==screen) {
    System.out.println("Got unusual bug!");
    System.out.println("2+2 is 5 ;)");
}


Если ты увидишь этот текст - подробно(!) расскажи нам о модели телефна, эмуляторе и прочем - тут какой-то редкий баг.
Но скорее всего - дело в другом.

Отладчики и мозг гораздо быстрее форумов, и не снижают самооценку =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)