Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как бы сконвертировать Double в int? "double cannot be dereferenced" 
:(
    Опции темы
Proger10
Дата 9.3.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



У меня координаты для отрисовки хранятся в Double. Не спрашивайте почему  smile Действительно так надо. Эти даблы, они ОЧЕНЬ близки к координатам, т.е. по ним в принципе можно координировать чего-нибудь smile

Проблема возникает вот здесь:
Код
bufferedImage.getGraphics().drawRect( dbl[0].intValue(), dbl[1].intValue(), Math.round( dbl[2] ), Math.round( dbl[3] ) );

И на первые две попытки я получаю ошибку: double cannot be dereferenced
Ну а Math.round вообще только float принимает на входе.

Не подскажите ли, как привести double к int?

Добавлено через 4 минуты и 29 секунд
Блин, опять нашёл ответ чуть ли не вперёд вопроса smile

Весь гугл перерыл в поисках конвертации, ничего не подходило. Наобум попробовал:
Код

bufferedImage.getGraphics().drawRect( (int) y[0], (int) y[1], (int) y[2], (int) y[3] );

проканало. А насколько такое решение корректно?
PM MAIL   Вверх
kamre
Дата 9.3.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 24.3.2006

Репутация: 1
Всего: 13



Цитата(Proger10 @ 9.3.2009,  14:58)
У меня координаты для отрисовки хранятся в Double. Не спрашивайте почему  smile Действительно так надо. Эти даблы, они ОЧЕНЬ близки к координатам, т.е. по ним в принципе можно координировать чего-нибудь smile

Если координаты хранятся действительно в double, и это по существу, то почему бы тогда и не рисовать с точностью double (и со сглаживанием)?
Например вот так:
Код

double x = 20.6;
double y = 10.5;
double w = 101.25;
double h = 60.33;
Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                     RenderingHints.VALUE_ANTIALIAS_ON);
g2d.draw(new Rectangle2D.Double(x, y, w, h));



PM MAIL   Вверх
Proger10
Дата 9.3.2009, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.12.2008

Репутация: нет
Всего: нет



Ухты, ещё интереснее! smile Спасибо за решение!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.