Как нарисовать линейку
Ну и ладно Все равно корел открываю только ради хайпа на форуме. Оформляете пост для соцсетей себе или заказчику? Продавец рекомендует. Рисуем человека карандашом поэтапно для начинающих в полный рост. Как бы банально это не звучало, но чем больше ты тренируешься рисовать прямые линии, то тем лучше у тебя это выходит.
Я пишу векторный графический редактор для специальной задачи , возник интересный вопрос: "Как нарисовать линейку? Линейка должна выглядеть примерно так: 10 20 30 40 50 60 70 Нужно придумать алгоритм, который подберет оптимальную комбинацию: 1. Расстояние в пикселах между делениями должно быть целым дробных пикселей не бывает , причем не меньшим 3.
Числовые отметки должны быть "красивыми", то есть быть степенями десятки, произведениями чисел 2,5,10,,, и т. Так что имеем условие 3: 3. Масштаб должен как можно более близок к заданному.
Не подскажет ли кто-нибудь, как такое реализовать? Re: Рисуем линейку. Вычисления лучше проводить в рациональных дробях, чтобы не получить всякую ботву с округлением, ведь десятичные дроби — бесконечные в двоичной системе счисления. Далее — рисуем линейку. Пусть мы хотим отобразить её на отрезке [p1,p2 пикселов. Обычно, это или Перекуём баги на фичи! Re[2]: Рисуем линейку. Некрасиво получится — штрихи будут неравномерно распределены.
Кстати, как раз час назад я дописал линейку — алгоритм тот же, но я еще ограничиваю изменения масштаба такими значениями, что в один пиксель будет помещаться только целое число логических единиц.
ЗЫ: Спасибо за ответ! Re[3]: Рисуем линейку. По-моему, самым разумным было бы завести набор фиксированных масштабов, в которых все условия выполняются. Ну или как сделано — корректировать произвольный масштаб к ближайшему "красиво-линеечному". Re[4]: Рисуем линейку.
Так там много вариантов получается. У меня просто поле ввода будет корректироваться после того, как пользователь нажмет "enter".
А при масштабирвоании колесиком мышки пользователю вообще обычно неважно числовое значение. Re[5]: Рисуем линейку. Сам недавно использовал самопальный вариант, очень похожий на предложенный.
Re[6]: Рисуем линейку. Это понятно, до этого мы тут сами дошли, еще до того как запостить вопрос сюда. Возникла другая проблема — не каждый масштаб позволяет нарисовать линейку красиво — в некоторых случаях деления линейки приходятся на нецелые пиксели, что выглядит на экране как неровные деления. Re[7]: Рисуем линейку.
Так я же и сказал: антиалиасинг. И здравый смысл.
В предложенном алгоритме — интервал между штрихами составляет от 3 до 6 или 15 пикселов. Большее значение — заставит перейти к следующему масштабу.
Штриховка достаточно частая, причём степень "прицельности" по линейке низка. Поэтому можно позволить себе антиалиасинг.
Re[8]: Рисуем линейку. Не подойдет нам антиалиасинг — нужно точное позиционирование по линейке.
Глазом заметна даже нерегулярность в 1 пиксель. Думаю, что здесь оно не уместно. Насколько я понял, надо не просто нарисовать шкалу, но и выставить такой масштаб картинки, чтобы позиционирование курсора всегда четко соответствовало делениям.
И чтобы расстояние между делениями было всегда одинаковым. Можно, конечно сделать субпиксельное позиционирование и делений и курсора, но я как-то слабо представляю себе, как с этим можно будет работать Я бы заранее, отдельной программкой, просчитал набор масштабов, при которых получается и красивая шкала и ровные цифры.
Пусть их будет хоть сотня, хоть две — память для такого дела — не ресурс. Re[9]: Рисуем линейку. Если кликнуть по пикселу между штрихами линейки — то будет заведомо некрасивое и при большом увеличении — нецелое значение в единицах.
Это фича, от которой не отпихаться. Выбор штриха клик мышкой по линейке даст необязательно целое, но красивое значение в единицах, которому к тому же соответствует нецелое значение в пикселах.
Ну и что, что оно нецелое Пикселы — это же только для отображения. Поменяешь масштаб — снова будет целое. Вот, например, я ввожу прямоугольник четыремя кликами по линейке Шашечки или ехать?
Насколько эта нерегулярность, режущая глаз, приоритетнее неудобства в выборе масштабов? Вкладка «Вставка» может содержать различные команды и функции, которые позволяют добавлять различные элементы в документ, в том числе и линейку. В открывшемся меню найдите раздел «Фигуры».
Обратите внимание, что этот раздел может быть различным в зависимости от версии Word и установленных дополнений. Чтобы нарисовать линейку, нажмите левую кнопку мыши на месте, где хотите начать линейку, затем, удерживая кнопку, проведите линию в нужном направлении. Отпустите кнопку мыши, чтобы закончить линию.
Если необходимо изменить длину или положение линейки, выделите ее и используйте вкладку «Формат» для настройки ее параметров. После того как линейка нарисована и настроена, вы можете перемещать ее по странице или изменять ее параметры при необходимости. После того, как вы создали свою линейку в Word , вы можете выбрать ее расположение на странице. Есть несколько способов сделать это:.
Для того чтобы разместить линейку в верхней или нижней части страницы, необходимо выполнить следующие действия:. Нажмите правую кнопку мыши на выделенной линейке и выберите пункт «Расположение линейки».
В появившемся меню выберите один из пунктов «Верх», «Вниз» или «Вне страницы». В разделе «Изображение» нажмите на кнопку «Рисунок», а затем выберите пункт «Файл» или «Онлайн-изображения». Вы можете изменить размер и положение линейки, перемещая или изменяя ее размер с помощью мыши и различных инструментов форматирования. Теперь, когда вы знаете как расположить линейку на странице, вы можете создавать профессионально оформленные документы в Word После создания линейки в Word вы можете изменить ее параметры в соответствии с вашими требованиями.
Для этого выполните следующие действия:. Для выбора линейки нажмите на нее левой кнопкой мыши. Вы увидите, что линейка будет выделена синим цветом.
Для изменения длины линейки удерживайте левую кнопку мыши и перетаскивайте курсор вправо или влево. Когда длина линейки будет соответствовать вашим требованиям, отпустите кнопку мыши. Если вам нужно переместить линейку, просто удерживайте левую кнопку мыши и перетаскивайте линейку в нужное место документа. Чтобы изменить цвет линейки, нажмите правой кнопкой мыши на линейке и выберите пункт «Свойства линейки».
В появившемся диалоговом окне вы сможете выбрать цвет из предложенных вариантов или задать свой собственный цвет. Если вам нужно изменить ориентацию линейки, щелкните правой кнопкой мыши на линейке и выберите пункт «Вертикальная линейка».
Линейка изменит свое положение с горизонтального на вертикальное. После внесения всех необходимых изменений, вы можете сохранить документ или продолжить работу с линейкой в Word Перейти к содержанию.