Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Сдвиг картинки на маленькое расстояние.


Автор: Orange 25.12.2007, 18:43
Доброе время суток всем!
Такая вот проблема - загружаю картинки на JPanel и каждую последующюю, при её отрисовке нужно сдвигать на маленькое расстояние(<1), а drawImage хочет видеть в параметрах int. Ну вобщем-то логично, так как это координаты картинки..
Подскажите как это обойти?

А программа пишется для генерации штрих кодов по запрошенным у пользователя символам(A-Z, 0-9)
Ну и может быть у кого-нибудь из вас есть какие-то другие идеи, решения)? 
Я, кроме как генерить последовательность 4-ёх видов линий для каждой полученной буквы(цифры) ничего лучше не смог придумать((

Автор: nornad 25.12.2007, 20:13
Цитата(Orange @  25.12.2007,  21:43 Найти цитируемый пост)
drawImage хочет видеть в параметрах int. Ну вобщем-то логично, так как это координаты картинки.

И как ты себе представляешь дробные пикселы? Пиксел на то и пиксел, чтобы быть неделимым. smile
Цитата(Orange @  25.12.2007,  21:43 Найти цитируемый пост)
А программа пишется для генерации штрих кодов по запрошенным у пользователя символам(A-Z, 0-9)
Ну и может быть у кого-нибудь из вас есть какие-то другие идеи, решения)? 

То есть ты сдвигаешь вертикальные линии чтобы получать линии разной ширины? А не проще сделать отрисовку по возможности корректно (корректность будет зависеть от масштаба в первую очередь), а вот печать уже делать точной. Друг рисовал на сях штрих-коды, но была куча проблем. На разных машинах с разным разрешением экрана штрих-коды выглядели по-разному. Печатались одинаково на одинаковых принтерах, а на разных... на разных ему приходилось проверять и корректировать настройки печати, чтобы штрих-код отпечатался корректно. smile

Автор: Orange 26.12.2007, 12:33
Цитата

А не проще сделать отрисовку по возможности корректно (корректность будет зависеть от масштаба в первую очередь), а вот печать уже делать точной.


nornad, не совсем понял тебя.

Сама отрисовка у меня как раз сделана коректно(если ты это имеешь ввиду под отрисовкой). То есть у меня есть четыре джепег картинки, на каждой из которой нарисованны эти полосочки разной толщины и цвета. Проблема как раз - как их расположить друг за другом на JPanel-е. То есть к примеру если я кладу на панель первую картинку, шириной скажем 0.5 мм, то чтобы положить вплотную к первой вторую, мне её надо сдвигать ровно на ширину первой. А вот как её сдвинуть на 0.5 мм непонятно..

Автор: nornad 26.12.2007, 15:00
Понятно. smile
В общем, думаю, стоит прояснить.
Есть пикселы, а есть миллиметры.
Пикселы - точки на экране. Они являются мерой величины отображаемой картинки.
Миллиметры - это мера длины (ширины и глубины) предметов в реальном мире.
Естественно, что пикселы и миллиметры можно сопоставить лишь в каких-то определённых условиях. Например, можешь вывести на экран квадрат 100х100 пикселов и измерить его линейкой по вертикали и горизонтали (часто эти величины разнятся). Теперь ты знаешь, соотношение пикселов и миллиметров на своём мониторе при текущем видеорежиме и разрешении экрана. Но! Смени разрешение и у тебя будет в итоге не такая же картинка (в смысле, не в точности такая же по виду).

Добавлено через 1 минуту и 56 секунд
Поэтому для просмотра сильно не заморачивайся. Никто не будет сканером по экрану водить. А вот печататься должно ровненько. Рекомендую не писать свою печать, а найти и прицепить к джаве готовую нативную библиотеку.

Автор: Orange 26.12.2007, 15:05
Цитата

На разных машинах с разным разрешением экрана штрих-коды выглядели по-разному. Печатались одинаково на одинаковых принтерах, а на разных... на разных ему приходилось проверять и корректировать настройки печати, чтобы штрих-код отпечатался корректно.

Да, именно с этим я сейчас и столкнулся..
Кстате, скачал с сорсфорджа готовый проект с названием barbecue-1.5-beta1, так вот, всё прекрасно работает, но !чёрт!! там отсутствует стандарт Code 39, который как раз мне и нужен. Обидно, блин..

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