Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Своими руками

Своими руками Завершенные и текущие проекты, хард & софт

Ответ
 
Опции темы Опции просмотра
Старый 09.12.2012, 06:17   #1
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Скриншот с дисплея устройства: модуль для генерации bmp

Всем привет.

Решил поделиться своим модулем, который облегчает мне жизнь.

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

То есть, для составления красивой документации нужно иметь возможность "сфотографировать" содержимое дисплея в любой момент времени, и сохранить получившуюся картинку в файл. Ну и потом уже можно вставлять эту картинку в саму инструкцию по эксплуатации. Например, вот такие скриншоты с дисплея зарядного устройства:




Для облегчения этой задачи в будущем, я написал универсальный модуль, который генерирует картинку в формате bmp, а данные изображения берет из пользовательской callback-функции (которая и должна вернуть цвет пикселя в определенной точке дисплея).

Отличительной особенностью этого модуля является то, что данные генерируются маленькими частями (максимум - 4 байта) и возвращаются по одному байту, а не сразу вся картинка целиком. Такой алгоритм работает несколько медленнее, но он обладает существенным преимуществом: он дает вам полную свободу выбора в том, что именно и как именно вы будете делать с этими данными. То есть, для генерации изображения абсолютно любого размера и любой глубины цвета, в RAM будет выделено одно и то же количество памяти: 46 байт! (плюс еще около 20 байт стека)

Как эти 46 байт будут выделены (из кучи, из стека или статически) - также зависит от вас. Конечно, если вы захотите поместить всю сгенерированную картинку в массив в RAM, то размер этого массива таки будет напрямую зависеть от размера изображения. Но в условиях ограниченных ресурсов микроконтроллера обычно имеет смысл, например, сразу передавать сгенерированные данные по UART (на ПК, или еще куда-нибудь), или, скажем, записывать во flash. Короче, делайте с ними что хотите.
---

Размер кода: около 2 Кб в режиме оптимизации для наименьшего размера кода.
Поддерживаемая глубина цвета: 1, 4, 8, 16, 24, 32 бит на пиксель.

---

Вот, например, пользовательский код, генерирующий простенькую картинку. Здесь мы генерируем 24-битную картинку 256 x 50 пикселей, залитую градиентом из зеленого в синий:

Код:
#include "bmp_writer/bmp_writer.h"

/**
 * Пользовательская callback-функция, возвращающая цвет в определенной точке.
 * В реале здесь должен быть код, возвращающий цвет пикселя на экране,
 * но в этом примере мы просто генерим градиент.
 */
static T_BmpWr_Color32 _bmp_pix_color_get_32(
      uintptr_t user_data,
      T_BmpWr_Coord x,
      T_BmpWr_Coord y
      )
{
   return BMP_WR__COL_RGB_32bit(0x00, 0xff - x, x);
}


int main(void)
{

   //-- Создаем структуру с параметрами для генератора картинки
   T_BmpWriter_CtorParams writer_ctor_params = {

      //-- Основные параметры изображения: глубина цвета, размер
      .color_depth = BMP_WR_COL_DEPTH__24,
      .width       = 256,
      .height      = 50,

      //-- Пользовательские callback-функции
      .callback = {
         //-- здесь нам нужна только одна пользовательская функция:
         //   возвращающая цвет для 24- и 32-битных изображений
         .func = {
            .bpp_24_32 = {
               .p_pix_color_get = _bmp_pix_color_get_32,
            },
         },
      },
   };

   //-- Создаем объект T_BmpWriter с нужными параметрами
   T_BmpWriter *p_bmp_writer = new_bmp_writer(&writer_ctor_params);

   //-- Теперь, байт за байтом, запрашиваем все данные!

   while (bmp_writer__available_data_len__get(p_bmp_writer) > 0){
      char cur_char = bmp_writer__next_byte__get(p_bmp_writer);

      //-- сейчас cur_char содержит очередной байт изображения.
      //   мы можем сделать с ним все, что захотим: или накапливать
      //   данные в буфер для записи во флеш (когда буфер будет
      //   заполнен, то произвести запись, а потом продолжить
      //   запрос данных изображения) или, может быть, передавать
      //   куда-нибудь по UART (например, на ПК, где он будет сохранен)
   }

   //-- Все, картинка сгенерирована.
   //   Удаляем объект
   delete_bmp_writer(p_bmp_writer);

   return 0;
}
Если интересно, вот тут можно прочитать подробную инструкцию с примерами и скачать сам модуль.

Последний раз редактировалось tester; 09.12.2012 в 22:46. Причина: по просьбе автора
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 12:00   #2
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/113
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

А просто сфоткать не?
__________________
read only
Machine slave вне форума   Ответить с цитированием
Старый 09.12.2012, 12:05   #3
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Machine slave Посмотреть сообщение
А просто сфоткать не?
Дык качество изображения получается несолидное. Скриншот значительно лучше, кмк
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 13:05   #4
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,724
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от dimonomid Посмотреть сообщение
Всем привет. Решил поделиться своим модулем, который облегчает мне жизнь.

Занимаясь разработкой различных устройств, я неоднократно сталкивался с типовой задачей: когда приходит время писать инструкцию для устройства, появляется необходимость делать скриншоты.
Для облегчения этой задачи в будущем, я написал универсальный модуль, который генерирует картинку в формате bmp. Для получения цвета в определенной точке изображения используются пользовательские callback-функции.
Два раза перечитал статью и ничего не понял. Конкретно:

Цитата:
писать инструкцию для устройства
Какую инструкцию?
Цитата:
появляется необходимость делать скриншоты
Снимок экрана (как кнопка PrtScr на клавиатуре)? Речь идет о ПК или МК c GDI?
Цитата:
универсальный модуль, который генерирует картинку в формате bmp
Так скриншот и есть картинка, она уже есть в памяти. Зачем её генерировать ещё раз.
Вы думаете, что все используют функции обратного вызова?

На мой взгляд, статью нужно переписать, чтобы было понятно: что это такое, область применения, как этим пользоваться, какие есть преимущества.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 09.12.2012, 13:20   #5
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Какую инструкцию?
Эээ.. инструкцию для устройства под управлением МК, которое мы разрабатываем. Если это, скажем, автомобильный бортовой компьютер, то речь идет об инструкции для этого автомобильного бортового компьютера. Что неясно?

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Снимок экрана (как кнопка PrtScr на клавиатуре)? Речь идет о ПК или МК c GDI?
В заголовке темы указано: "Скриншот с дисплея устройства". Ну конечно, речь идет о скриншоте с дисплея этого самого бортового компьютера, а не ПК.

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Вы думаете, что все используют функции обратного вызова?
Этого вообще не понял. Если даже кто-то никогда в жизни не использовал функций обратного вызова, то что мешает сделать это? Какая-то религиозная подоплека?
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 13:26   #6
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,724
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Инструкция - это кусок исполняемого кода? Получил по интерфейсу связи код, поместил его в ОЗУ, передал ему выполнение? Выполнил. Ждем следующую инструкцию. Так?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 09.12.2012, 13:31   #7
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,887
Вес репутации: 5611/171
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Инструкция - это кусок исполняемого кода?
нет, это такой бумажный документ типа брошюры. Обычно большая проблема, как в неё вставить похожие на правду картинки нормального качества.
Greg вне форума   Ответить с цитированием
Старый 09.12.2012, 13:31   #8
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Инструкция - это кусок исполняемого кода? Получил по интерфейсу связи код, поместил его в ОЗУ, передал ему выполнение? Ждем следующую инструкцию. Так?
Аааа, вот вы о чем.

Таки нет!

Речь идет об инструкции по эксплуатации прибора. Для пользователей, которые потом купят этот прибор.

Извините, никак не мог предположить, что это останется неочевидным. В статье я уже уточнил это (добавил словосочетание "по эксплуатации"), но первый пост я отредактировать уже не могу :-/
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 13:37   #9
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,533
Вес репутации: 4887/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от dimonomid Посмотреть сообщение
Аааа, вот вы о чем.

Таки нет!

Речь идет об инструкции по эксплуатации прибора. Для пользователей, которые потом купят этот прибор.

Извините, никак не мог предположить, что это останется неочевидным. В статье я уже уточнил это (добавил словосочетание "по эксплуатации"), но первый пост я отредактировать уже не могу :-/
купи фотошоп. Да дорого. Но он того стоит. И корел ещё.
ampersant вне форума   Ответить с цитированием
Старый 09.12.2012, 13:38   #10
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,724
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Так нужно писать "Инструкцию по эксплуатации". А то я, получив сообщение от Greg-а, вообще ничего не понял. Подумал, причем тут бумага. Сижу и думаю: какая инструкция (запрос по какому-нибудь протоколу) или кусок исполняемого кода (для МК, умеющих выполнять код из ОЗУ). Извините.
Я скриншоты из ПК Paint-а обрезаю и вставляю в документ, а потом конвертирую его в *.pdf. А у вас нужны скриншоты из дисплея, подключенного к МК, вставить в документ. Во как.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 09.12.2012, 13:51   #11
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,533
Вес репутации: 4887/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от dimonomid Посмотреть сообщение
Аааа, вот вы о чем.

Таки нет!

Речь идет об инструкции по эксплуатации прибора. Для пользователей, которые потом купят этот прибор.

Извините, никак не мог предположить, что это останется неочевидным. В статье я уже уточнил это (добавил словосочетание "по эксплуатации"), но первый пост я отредактировать уже не могу :-/
кстати это был тест на возможность донести в инструкции то что ты хотел донести. Умение кратко изложить суть, чтобы поняли - искусство.
Ты прожил, изобретая устройство, кусок жизни, вынянчил его, а потребитель нет. Он понятия не имеет чёкаво. Да ещё и туп по определению. Если ты не заложился на тупость - увы.
ampersant вне форума   Ответить с цитированием
Старый 09.12.2012, 13:59   #12
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,533
Вес репутации: 4887/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Вообще дело полезное делаешь, но оно все равно пишется каждый раз под нужды заново.
Вот к примеру у меня в виртуальной индикации светодиоды по кругу были, и прога в билдере создавала тексты по кругу. Шрифт был измененный Courier, т.е. даже просто так напечатать в буфере нельзя было, надо было сначала из знакогенератора буквы кидать по одной в линеный буфер, потом программно переносить в радиальную систему координат.
Понадобится вдруг тебе такое сам же начнешь заново все строить. А кому польза от такого решения - кому оно может пригодиться? Только тебе.

А так даже Ворд позволяет нарисовать примерный вид LED матрицы не высокого разрешения.
ampersant вне форума   Ответить с цитированием
Старый 09.12.2012, 14:01   #13
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от ampersant Посмотреть сообщение
кстати это был тест на возможность донести в инструкции то что ты хотел донести. Умение кратко изложить суть, чтобы поняли - искусство.
Ты прожил, изобретая устройство, кусок жизни, вынянчил его, а потребитель нет. Он понятия не имеет чёкаво. Да ещё и туп по определению. Если ты не заложился на тупость - увы.
Ну дык, век живи - век учись. Правильные слова говоришь.

Цитата:
Сообщение от ampersant Посмотреть сообщение
купи фотошоп. Да дорого. Но он того стоит. И корел ещё.
Чево?
Похоже, ты не прошел тест на возможность донести в посте то, что ты хотел донести. Изложено кратко, спору нет. Но увы, я не понял.

Что фотошопом делать-то в этой связи?
Есть только одно предположение - приводить к приемлемому виду фотографии, сделанные с устройства. Так? Или нет?
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 14:14   #14
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от ampersant Посмотреть сообщение
Вообще дело полезное делаешь, но оно все равно пишется каждый раз под нужды заново.
Вот к примеру у меня в виртуальной индикации светодиоды по кругу были, и прога в билдере создавала тексты по кругу. Шрифт был измененный Courier, т.е. даже просто так напечатать в буфере нельзя было, надо было сначала из знакогенератора буквы кидать по одной в линеный буфер, потом программно переносить в радиальную систему координат.

Понадобится вдруг тебе такое сам же начнешь заново все строить.
Из твоего описания я опять не понял, что за устройство такое. Фотку покажешь?

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

Если эти требования выполнены, то ничего не нужно заново строить. Нужно только написать пользовательскую callback-функцию. Собственно, для этого модуль и писался. По-моему, устройство с каким-либо матричным дисплеем - это один из самых распространенных вариантов дизайна.

Цитата:
Сообщение от ampersant Посмотреть сообщение
А кому польза от такого решения - кому оно может пригодиться? Только тебе.
Я так не думаю, но даже если ты окажешься прав - что ж, мне урок, в следующий раз подумаю, выкладывать что-нибудь или зажать. Опять жеж, век живи - век учись.

Цитата:
Сообщение от ampersant Посмотреть сообщение
А так даже Ворд позволяет нарисовать примерный вид LED матрицы не высокого разрешения.
Дык вот не хочу ничего "нарисовать", не хочу "примерный вид". Хочу картинку точь-в-точь как на дисплее, причем быстро и без гемора. Хочу нажать кнопку и получить результат.
И у меня, по-моему, получилось.
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 14:21   #15
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,724
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Я так не думаю, но даже если ты окажешься прав - что ж, мне урок, в следующий раз подумаю, выкладывать что-нибудь или зажать.
Зажимать не нужно. А то получится "Жил он богато, собрал два котла денег — один закопал в овине, другой в воротах. Вот помер этот мужик, а про деньги никому не сказал."
Просто будьте готовы к "тупым" вопросам и критике. А вещь хорошая и интересная. Ещё бы пару примеров с проектиком для наиболее распространенного дисплея (минимальное решение: МК+дисплей), структурная схема, рисунки. В общем, как презентация.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 09.12.2012, 14:39   #16
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,533
Вес репутации: 4887/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от dimonomid Посмотреть сообщение
Из твоего описания я опять не понял, что за устройство такое. Фотку покажешь?
сайт на ньюмыле лежит, не покажу пока. Речь шла об виртуальной индикации по типу боба блика. по 16 светодиодов красных и зеленых на двух лопастях, по окружности рисовали буквы и прочее. Итого 3 цвета.

Цитата:
Дык вот не хочу ничего "нарисовать", не хочу "примерный вид". Хочу картинку точь-в-точь как на дисплее, причем быстро и без гемора. Хочу нажать кнопку и получить результат.
И у меня, по-моему, получилось.
Что главное в твоем изделии? Рюшечки (например если ты делаешь iphone) - тогда да, очень важно как именно в цвете отобразится то или иное меню. Если устройство жизненно важно своими другими свойствами, то какого цвета переливается меню никому не важно.
Это я тебе говорю как "тупой эксплуататор" чужого весьма сложного и дорогого оборудования. Я этим занят 99.99% рабочего времени с 18 лет стажем. Мне в инструкции не важно даже наличие цвета.
ampersant вне форума   Ответить с цитированием
Старый 09.12.2012, 14:48   #17
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,533
Вес репутации: 4887/116
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Просто будьте готовы к "тупым" вопросам и критике. А вещь хорошая и интересная. Ещё бы пару примеров с проектиком для наиболее распространенного дисплея (минимальное решение: МК+дисплей), структурная схема, рисунки. В общем, как презентация.
2TC
Ну я как бы да, помочь критикой от лица эксплуатации. Просто так смешно выглядит когда на передатчик 1кВт попросил протокол связи с их интерфейсом. Нет говорят секрет. Заказывай нам прогу - сделаем.
Они (программисты) реально думали, что самое важное это их интерфейс? А не параметры ДМВ передатчика? Видимо да. Итог- всего через каких то 5 лет им больше ничего не заказывали вообще. Просто у них все неверно задумано. Решительно все с ног на голову. предприятие их в упадке, и не потому что аналоговое вещание станет ну нужным. В других предприятиях до сих пор "аналог" заказывается.

Главное в изделии можно и нужно как ноухау хранить, а ещё важно хранить лояльность к потребителю во второстепенных вопросах.
ampersant вне форума   Ответить с цитированием
Старый 09.12.2012, 14:53   #18
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 34
Сообщений: 98
Вес репутации: 1112/50
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от ampersant Посмотреть сообщение
сайт на ньюмыле лежит, не покажу пока. Речь шла об виртуальной индикации по типу боба блика. по 16 светодиодов красных и зеленых на двух лопастях, по окружности рисовали буквы и прочее. Итого 3 цвета.
Ну, я уже писал: расчет был на "обычные" матричные дисплеи. Конечно, тут этот модуль бесполезен, он и не рассчитан на подобные вещи.

Цитата:
Сообщение от ampersant Посмотреть сообщение
Что главное в твоем изделии? Рюшечки (например если ты делаешь iphone) - тогда да, очень важно как именно в цвете отобразится то или иное меню. Если устройство жизненно важно своими другими свойствами, то какого цвета переливается меню никому не важно.
Это я тебе говорю как "тупой эксплуататор" чужого весьма сложного и дорогого оборудования. Я этим занят 99.99% рабочего времени с 18 лет стажем. Мне в инструкции не важно даже наличие цвета.
Неважно, что главное в изделии, но, так или иначе, если в инструкции по эксплуатации есть скриншоты, точно отображающие, что именно будет на дисплее в тот или иной момент, то это хорошо. Если ты с этим не согласен - не буду спорить: сколько людей, столько и мнений.

Если цвет не важен (действительно, обычно цвет не важен), то эта брошюра будет вообще напечатана в черно-белом виде, и скриншоты будут черно-белыми, ну и что? Информацию они донесут.
dimonomid вне форума   Ответить с цитированием
Старый 09.12.2012, 15:21   #19
Вова
Senior Member
 
Регистрация: 20.09.2008
Адрес: Гродно, Беларусь
Возраст: 32
Сообщений: 1,680
Вес репутации: 1971/76
Вова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant future
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от ampersant Посмотреть сообщение
купи фотошоп. Да дорого. Но он того стоит. И корел ещё.
Тут бесплатного gimp'а должно за глаза хватить, если ты имеешь в виду рисовать по пикселям. А в вектор потом чуть что легко перегнать, есть куча бесплатных перекодировщиков (дочке так разукрашки делаю, а то в растре при увеличении нужных найденных картинок некрасиво выходит).

А вещь, на мой взгляд, нужная. На работе к автоматике позапозапрошлой линии поляки малевали руководство уже на заводе. Так вот, сфотканные экраны сенсорной панели выглядят, мягко говоря, не очень

А цвет - дык це ж начальству надо показать, что всё колеровое. Рабочему после пары недель эксплуатации пофигу, он на автомате будет тыкать в нужную кнопку на экране... (это я про своих баранов)
__________________
Железяка должна быть такой: нажал кнопку — работает
Вова вне форума   Ответить с цитированием
Старый 09.12.2012, 15:42   #20
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,724
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Что-то вы всё про рисование. По-моему тут другая задача: вот работает какое-то устройство и на его дисплей выводятся какие то данные (текст, картинки), причем в разном сочетании, а его (ТС) методика позволяет счяитать содержимое дисплея и отправить на ПК для сохранения в формате *.bmp. Интересная штука.

Конкретный пример: сохранение осциллограмм на ПК (читаем картинку через USB и сохраняем в формате рисунка на ПК, только там форматов больше). У меня такая функция есть в OWON.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 09.12.2012, 15:43   #21
Вова
Senior Member
 
Регистрация: 20.09.2008
Адрес: Гродно, Беларусь
Возраст: 32
Сообщений: 1,680
Вес репутации: 1971/76
Вова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant future
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Прошу прощения за уж полный оффтоп, модераторы, удалите потом, если сочтёте нужным. Просто ситуация похожа.

Цитата:
Сообщение от ampersant Посмотреть сообщение
так смешно выглядит когда на передатчик 1кВт попросил протокол связи с их интерфейсом. Нет говорят секрет. Заказывай нам прогу - сделаем.
Когда моя контора решила сама делать автоматику гальванических линий (для чего, собственно, я и был нанят), встал вопрос, у кого заказывать силовые выпрямители тока. Было три варианта: поляки, белорусы и россияне. У всех свои плюсы и минусы с технической точки зрения, но не о том сейчас. Россияне отпали по совокупности некоторых причин.

Мы сообща написали типа ТЗ (на самом деле никто ради нас не стал бы с нуля разрабатывать, максимум - доработал бы то, что есть). Поляки изначально себя в грудь ногой - да что угодно! Любой каприз за ваши деньги! Однако, когда реально пообщались, когда они посмотрели, что я от них хочу, началось: "А вот у нас сделано вот так... А может, вот это оставим, как у нас есть?.. Нет, ну мы, конечно, можем сделать так, как вам нужно..." В итоге с ними ничего не вышло. Подоплёка - им выгоднее продавать выпрямители в комплексе с линией.
А с белорусами сказка вышла. Написал таблицу регистров модбас, как видел, так потом оказалось, что на 90% у них так изначально и было сделано Съездил в Минск, согласовал с их программистами наши требования.
В итоге всё было сделано так, как оговорено нами изначально.
Встаёт конечно ещё вопрос надёжности... Время покажет.

Цитата:
Сообщение от ampersant Посмотреть сообщение
Главное в изделии можно и нужно как ноухау хранить, а ещё важно хранить лояльность к потребителю во второстепенных вопросах.
Совершенно согласен. У белорусов, в частности, ноухау в том, что сами мотают высокочастотные трансформаторы. И алгоритм регулятора, по словам главного технолога, вылизывался годами. Зато теперь (демонстрировал) можно на 1600 А закоротить катод и анод, и только лёгкие искры будут
__________________
Железяка должна быть такой: нажал кнопку — работает
Вова вне форума   Ответить с цитированием
Старый 09.12.2012, 15:44   #22
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/113
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Хз, все больше убеждаюсь, что инструкции никто читает. А что, лучше на форуме задавать дурацкие вопросы или даже позвонить, чем открыть инструкцию и прочитать.
__________________
read only
Machine slave вне форума   Ответить с цитированием
Старый 09.12.2012, 15:49   #23
Вова
Senior Member
 
Регистрация: 20.09.2008
Адрес: Гродно, Беларусь
Возраст: 32
Сообщений: 1,680
Вес репутации: 1971/76
Вова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant future
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Machine slave Посмотреть сообщение
Хз, все больше убеждаюсь, что инструкции никто читает. А что, лучше на форуме задавать дурацкие вопросы или даже позвонить, чем открыть инструкцию и прочитать.
Это хорошо, когда инструкция охватывает изделие целиком, со всеми возможными нюансами, во всех возможных условиях работы. А такое всегда бывает?
Работаю с ПЛК Owen, ответы на некоторые вопросы не найдёшь ни в одном официальном документе с офсайта. Только у техподдержки (или на их форуме), что и приходится делать.
__________________
Железяка должна быть такой: нажал кнопку — работает
Вова вне форума   Ответить с цитированием
Старый 09.12.2012, 15:52   #24
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от ampersant Посмотреть сообщение
Что главное в твоем изделии? Рюшечки (например если ты делаешь iphone) - тогда да, очень важно как именно в цвете отобразится то или иное меню. Если устройство жизненно важно своими другими свойствами, то какого цвета переливается меню никому не важно.
Важно не назначение устройства, а целевая аудитория. Ты техник, и на доку смотришь как на источник информации. А обычные люди в некрасивой доке разбираться не будут (они и в красивую-то только полюбоваться заглядывают).
tester вне форума   Ответить с цитированием
Старый 09.12.2012, 16:03   #25
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/113
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Скриншот с дисплея устройства: модуль для генерации bmp

Цитата:
Сообщение от Вова Посмотреть сообщение
Это хорошо, когда инструкция охватывает изделие целиком, со всеми возможными нюансами, во всех возможных условиях работы. А такое всегда бывает?
Работаю с ПЛК Owen, ответы на некоторые вопросы не найдёшь ни в одном официальном документе с офсайта. Только у техподдержки (или на их форуме), что и приходится делать.
Ладно когда некоторые вопросы не освещены в инструкции, но обычно спрашивают то, что расписано в инструкциях.
__________________
read only

Последний раз редактировалось Greg; 16.12.2012 в 15:43.
Machine slave вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39
Проект автономки для авто на pic16f84a Томас Продукция MICROCHIP 14 11.03.2012 21:37
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
Модуль дисплея на базе PIC18F4685 atmicandr Продукция MICROCHIP 11 04.08.2010 09:55


Часовой пояс GMT +3, время: 05:58.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot