![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
Yugine |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.3.2006 Репутация: нет Всего: нет |
Эмулятор картинку грузит, а телефон нет. (телефон у меня Siemens CX70)?
гружу картинку так: Image I1; //........ try { I1 = Image.createImage("/1.png"); } catch (IOException ioe){} пользуюсь Wirelles Toolkit 2.0 в WTK картинка лежит в папке res если открываь jar архив, то она лежит сразу там, никуда не вложена. |
|||
|
||||
W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
а что значит "грузит"?
добавь в блок catch вывод на экран какого-нидь сообщения типа "can't load picture '1.png' ". Может картинка загружается, а при отображении какие-нидь проблемы возникают. -------------------- iOS developer |
|||
|
||||
Yugine |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.3.2006 Репутация: нет Всего: нет |
я так и делал. добавлял сообщение. на эмуляторе норм. а на телефоне оно вылазит
|
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
а так пробовал?
-------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Так правильнее Но вряд ли это поможет. Он не может найти файл. А как его считать, то уже другое дело. -------------------- iOS developer |
|||
|
||||
Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: 3 Всего: 5 |
Yugine приведи весь код, мало ли что написал... и каких размеров картинка вообще?
--------------------
|
|||
|
||||
Yugine |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.3.2006 Репутация: нет Всего: нет |
вот такой у меня код, проверки и т.п. я оттуда убрал, ну и переписал, как мне Dancer посоветовал:
import javax. microedition.lcdui.Canvas; import javax. microedition.lcdui.Command; import javax. microedition.lcdui.CommandListener; import javax. microedition.lcdui.Display; import javax. microedition.lcdui.Displayable; import javax. microedition.lcdui.Graphics; import javax. microedition.lcdui.Image; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.game.*; import java.io.IOException; import java.io.*; public class TryCanvas extends MIDlet{ MyCanvas C1; public static TryCanvas midlet; InputStream input = getClass().getResourceAsStream("/bear.png"); Image I1; Display d; public TryCanvas(){super(); midlet=this;} public void destroyApp(boolean destroy) { C1 = null; notifyDestroyed(); } public void pauseApp(){} public void startApp(){ C1 = new MyCanvas(); try { I1 = Image.createImage(input); } catch (IOException ioe){} d=Display.getDisplay(this); d.setCurrent(C1); } } class MyCanvas extends Canvas implements CommandListener{ int width; int height; Command exit = new Command("exit", Command.EXIT,1); int x; public MyCanvas(){ super(); width=getWidth(); height=getHeight(); addCommand(exit); setCommandListener(this); } public void paint (Graphics g){ int cx = g.getClipX(); int cy = g.getClipY(); int ch = g.getClipHeight(); int cw = g.getClipWidth(); int color = g.getColor(); g.setColor(58, 162, 211); g.fillRect(cx, cy, cw, ch); //g.setColor(253, 251, 118); g.drawImage(TryCanvas.midlet.I1, 0, 0, Graphics.TOP | Graphics.LEFT); } public void commandAction (Command c, Displayable d){ if (c==exit){TryCanvas.midlet.destroyApp(true);} } } картинка в формате png имеет размер 30x90 точек |
|||
|
||||
Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: 3 Всего: 5 |
Понимаешь в чем может быть дело, ведь когда ты загружаешь изображение в image, то код дальше исполняется, и получается так, что ты вызываешь дальше d=Display.getDisplay(this);, а потом d.setCurrent(C1);. Когда происходит вызов d.setCurrent(C1);, тогда и происходит вызов метода paint (1 раз, потом просто идет простОй мидлета), который пытается вывести изображение, еще полностю не загрузившееся (это на эмуляторе картинки почти влет грузятся,а на телефоне все по-другому несколько). Это первое что бросилось мне в глаза. Могу посоветовать вынести процедуру загрузки картинки в конструктор TryCanvas(), но честно говоря несколько необычная структура программы, не в обиду будет сказано.
Скажи, а заливка срабатывает? g.setColor(58, 162, 211); g.fillRect(cx, cy, cw, ch); --------------------
|
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
Yugine,
Положи картинку в папку с сырцами, не клади в res, и первый вариант у тебя заработает. Ты случаем не перенёс проект из WTK в некое IDE (или наоборот)? Размер картинки какой? -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
Yugine |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.3.2006 Репутация: нет Всего: нет |
картинку я положил уже везде и в паку с ресурсами и с исходником.
когда я делаю так как советовал dancer, у меня срабатывает NullPointer exception когда делаю так как я написал в первом случае, тогда просто не загружается картинка. to Nemesis: заливка срабатывает. загрузку изображения я поместил в конструктор канваса - не помогло. может у кого-нить есть телефон siemens и уже писали для него чего-нибудь - киньте пожалуйста рабочий исходник или дайте ссылку |
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
Yugine, скачай пример по этой ссылке Imager.rar и положи его в папку apps своего WTK, заупусти, а потом сообщи нам, отобразилась картинка или нет.
Пример рабочий. -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
Yugine |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.3.2006 Репутация: нет Всего: нет |
Спасибо огромнейшее, проблема была в том, что у картинки расширение .PNG, а я написал маленькими png.
|
|||
|
||||
W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
странно как-то... у меня была такая же проблема, но наоборот. нужно было использовать нижний регистр для расширения...
-------------------- iOS developer |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |