us4llu 0 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба Здравствуйте! есть задача сделать стрелочный индикатор на экране жки. Со шкалой примерно понятно - или вывести рисунок, или нарисовать дуги с делениями. Как рисовать стрелку в динамике? Вопрос второй. есть набор символов. как повернуть символ на произвольный угол? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба Самый очевидный ответ - использовать ГОТОВОЕ решение - какую нить GUI, где есть уже нужный набор функционала и даже виджетов )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба самый очевидный, не значит самый простой. Подкиньте хотя бы идеи как рисуется стрелка в движении и как повернуть символ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба https://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма а про символ повернуть - такое на малопиксельных жки не делают чтобы не ухудшать читаемость. кто вас такое просит сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 (изменено) · Жалоба хорошо, линию-стрелку нарисовал под текущим углом. Линия-стрелка нарисована на каком то фоне. Что бы рисовать линию-стрелку под новым углом, нужно ее стереть под старым. Как сохранять фон под стрелкой, и как его восстанавливать? именно в этом проекте пытался найти функцию, которая поворачивает символы, но не нашел ничего по-моему похожего. или не так искал, или не то. Изменено 8 октября, 2021 пользователем us4llu Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба рисуете линию-стрелку по тем же координатам, но цветами из фонового изображения. оно же у вас все покоординатно есть на видео - не жки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 (изменено) · Жалоба TFT. это как-то меняет постановку задачи? видео с тфт, я хочу стелать на чб жки или олед. Изменено 8 октября, 2021 пользователем us4llu Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба пиеселей больше, объем данных на экране больше, размер фонового изображения, являющегося куском самой программы больше. эдак можно и FullHD моник прицепить, а потом плакаться что места в памяти микроконтроллера не хватает. по знакогенератору тоже разная постановка задачи может быть. для жки это жестро вбитые пиксельные шрифты, а для tft может уже и truetype надо с растр превращать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 (изменено) · Жалоба 160х128 - вполне малопиксельный экран. Есть примерно такие же олед и монохромные жки по разрешению. Сам принцип поворота интересен. об обьеме памяти контроллера пока разговор не идет. Изменено 8 октября, 2021 пользователем us4llu Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 25 minutes ago, us4llu said: Как сохранять фон под стрелкой, и как его восстанавливать? Если Вы можете отрисовывать быстро (незаметно для глаза) весь фон, то не проще ли его перерисовать? Если это невозможно по этой или другим причнам, то перерисовывайте половину фона, где есть стрелка. Если и это долго или заметно, то найдите прямоугольник, диагональю которого является стрелка, и перерисовывайте фон только в этом прямоугольнике. Как найти - задача для 7 класса по геометриии. Думаю, что почитаете и вспомните. 46 minutes ago, us4llu said: Подкиньте хотя бы идеи как рисуется стрелка в движении и как повернуть символ? Стрелка рисуется в движении циклическим стиранием (см. выше) и отрисовкой новой стрелки. Угол поворота пропорционален величине, которую Вы отображаете. По повороту символов ничего готового не подскажу, но полагаю, что надо взять учебник геометрии или просто посидеть подумать. Можно в инете поискать. Задача специфическая... Хотя, можно нарисовать символ заранее, повёрнытым на различные углы и отрисовывать нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 (изменено) · Жалоба Со стрелкой понятно, спасибо за подсказки. Это если стрелка рисуется на однородном фоне. А если стрелка движется по шкале, пересекая риски на дуге и цифры? Наверно надо по точкам будущей стрелки сохранять точки фона? А потом затирать стрелку, выводя эти точки обратно на экран, так? это вариант - набить таблицу символов под нужными углами. Судя по видео угол поворота до 90 градусов, через 1 градус если делать, то штук по 45 в каждую сторону. если ничего лучшего не придумается - придется пробовать такой вариант. Изменено 8 октября, 2021 пользователем us4llu Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба Во-первых, откуда дуги? Стрелочных навалом линейных. А во-вторых, убедиться, что затея бесполезная, можно на каждом углу — полно мультиметров с такими ч/б дугами, и пары секунд работы с ними достаточно, чтобы понять, что это абсолютно неработоспособное решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 1 hour ago, us4llu said: так? Здесь сложно однозначно ответить. Слишком много переменных: скорость обновления экрана, разрешение этого экрана, наличие других задач у микроконтроллера (в контексте ОСРВ или без ОСРВ). Возможно, что Вам нужно будет поставить эксперименты. Можно использовать концепцию фреймбуффера, и рисовать сначала всё в ОЗУ, это будет очень быстро, если делать это грамотно. Там можно всё перерисовывать. А потом бросать дисплею весь буфер. Но если интерфейс медленный, то нужно рисовать кусками. Поверьте, однозначного ответа нет. Я много раз наблюдал за коллегами, которые занимаются "гуями" (GUI, графический интерфейс пользователя). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
us4llu 0 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба Да, есть мысль собирать буфер экрана, а потом по dma выливать его через spi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 45 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 7 часов назад, us4llu сказал: как повернуть символ на произвольный угол? http://mymcu.ru/storage/content/articles/FTDI/APP_EFO_FT800_Indikator.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться