![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| criolit |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Привет всем!
Пишу графическую прогу. Пользователь может рисовать там всякое. Но вот встала проблема: как эти художества получить из Canvas? Была идея создать изображение через createImage(int rgb[], ....). Но изображение получается намного меньше, чем экран. Вот что я делаю:
И уже в главном коде создаю объект этого класса:
Может быть есть еще какой вариант? Прошу помочь. Заранее спасибо. |
||||
|
|||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
i < width && k < height;
получим квадрат со строной либо width либо height в зависимости от того, "кто" из них меньше не совсем правильно сделан цикл. разберитесь с ограничением значений. Лучше для проверки залить всё цветом, так сразу будет понятнее.
Это сообщение отредактировал(а) Dancer - 28.9.2006, 12:23 -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| criolit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Когда массив инициализируется все его элементы имеют значение 0. Рисуется просто черный квадрат. А линию это я для проверки рисую, просто посмотреть рисует ли он вообще что-то. Если я делаю заливку методом fillRect() используя значения width и height, то весь экран нормально заливается, а через createImage() только часть почему-то. Может есть какие-то ограничения?
|
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
ага, есть ограничения!!!!
g.drawImage(image, 0, 0, g.HCENTER | g.VCENTER); не желаешь поправить на g.drawImage(image, 0, 0, g.LEFT | g.TOP); Это сообщение отредактировал(а) Dancer - 28.9.2006, 15:28 -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| criolit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Ну и толку с этого? Да на весь экран залил изображение. Но мне надо чтобы рисунок был в объекте класса Image. Этот рисунок надо сохранить потом в виде графического файла. Поэтому я и городил:
|
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
g.drawImage(image, 0, 0, g.HCENTER | g.VCENTER);
заменить на g.drawImage(image, 0, 0, g.LEFT | g.TOP); или на g.drawImage(image, (int)(width/2), (int)(height/2), g.HCENTER | g.VCENTER); -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| criolit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Отлично. Заработало. Огромное спасибо. Только если не сложно, поясни почему мой вариант не работает.
|
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Ды работает твой вариант, работает
Если же ты сделаешь g.TOP|g.LEFT , то ты будешь выводить свою картинку из левого верхнего угла твоей картинки в левый верхний угол экрана (координата 0, 0). В документации вроде бы это объясняется. Посмотри про Anchor получше. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| criolit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 29.6.2006 Репутация: нет Всего: нет |
Спасибо. Был невнимателен. Вопрос закрыт.
|
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |