Форум программистов, компьютерный форум, киберфорум
Наши страницы

Микроконтроллеры

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.95
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
#1

Графический редактор ЖК дисплеев (от Rius) - Микроконтроллер

20.06.2015, 00:04. Просмотров 5025. Ответов 15

LCD Image Converter.

Назначение - создание изображений и шрифтов в формате исходников "C" (и не только) для встраиваемых приложений.
Промежуточные данные хранятся в формате XML, так что однажды созданный шрифт можно впоследствии доработать.
Преобразование в формат исходников осуществляется с помощью настраиваемых пользователем шаблонов, что позволяет, в некоторых пределах, получить нужный формат данных, под желаемый тип контроллера дисплея и распределение памяти.

Программа кроссплатформенна (Qt), бесплатна, opensource. На домашней страничке имеются документация и примеры (исходных данных, результатов, исходных кодов для МК).
  • Создание отдельного изображения;
  • Создание шрифтов (набор изображений - символов):
    • Включая кодировку юникода.
  • Создание структур данных для дисплеев:
    • Монохромных, градаций серого и цветных;
    • С вертикальной и горизонтальной ориентацией байт;
    • 8, 16, 24, 32 бит данных;
    • 1...32 бит на пиксел;
    • Сжатие RLE;
    • С различными контроллерами дисплеев, не ограничиваясь одной конкретной моделью.
9
Миниатюры
Графический редактор ЖК дисплеев (от Rius)   Графический редактор ЖК дисплеев (от Rius)   Графический редактор ЖК дисплеев (от Rius)  

Графический редактор ЖК дисплеев (от Rius)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2015, 00:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Графический редактор ЖК дисплеев (от Rius) (Микроконтроллер):

Графический редактор ЖК дисплеев (от wmclik) - Микроконтроллер
Тестовая программка для редактирования, создания, графических элементов, графити, шрифта и прочее для ЖК дисплеев. Не знаю нужна она для МК...

Преобразователь текста в коды ЖКИ-дисплеев с контроллером HD44780 - Микроконтроллер
на скорую руку написал на php простейший преобразователь. вводите строку, получаете набор 16-х кодов скрипт также подменяет символы...

Графический редактор двумерных таблиц - Электроника
Нужен редактор таблиц двумерных и одномерных впринципе тоже. Функции нужны такие: 1) Для таблицы типа вектор строилась кривая с...

Описание дисплеев - Электроника
При покупке плеера столкнулся с такими понятиями: Dual color OLED и (White) Monochrome OLED. Объясните, пожалуйста свойства каждого из...

ДЕКОРАТИВНЫЕ РАМКИ ДЛЯ ДИСПЛЕЕВ - Электроника
Постоянная проблема в аккуратном оформлении лицевой панели. Особенно если еще используется дисплей... Мож кто где видел? Интересуют...

Картинка для обнаружения мерцания ЖК дисплеев. - Электроника
Создал картинку которая показывает развертку ЖК монитора (мерцание), на ней видна бегущая развертка. Смотреть в истинном размере т.е....

15
Витальич
20.06.2015, 00:19
  #2

Не по теме:

Эко как Вас задело

0
Rius
20.06.2015, 00:21  [ТС]
  #3

Не по теме:

Витальич, лучше тему прикрепите

0
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
20.06.2015, 10:28  [ТС] #4
2015-06-20

Графический редактор ЖК дисплеев (от Rius)

Редактор изображений.
Простейшие операции:
  • установка точки указанного цвета;
  • поворот;
  • инверсия;
  • изменение размеров;
  • импорт/экспорт в файлы популярных форматов.

Редактор изображений очень простой, необходимости делать что-то типа Paint .Net не было. Если понадобится сложное редактирование, можно настроить вызов внешнего редактора, типа gimp, через меню программы. Также, все эти функции доступны для каждого символа шрифта.

Графический редактор ЖК дисплеев (от Rius)

Редактор шрифтов.
  • Поддерживает импорт из операционной системы, с указанием семейства, стиля, размера;
  • Выбор нужных символов, а не только целого диапазона;
  • Выбор кодировки (в том числе Юникод);
  • Моноширинность или пропорциональность;
  • Сглаживание (средствами прорисовки символов из операционной системы, применимо не ко всем шрифтам);
  • Сведение символов в одно изображение, если требуется такой формат хранения шрифта;

Графический редактор ЖК дисплеев (от Rius)

Настройки.
Самое сложное. В них же, точнее в нижележащем алгоритме преобразования, коренное отличие от всех остальных программ данного назначения.
Так как в проектах можно использоваться несколько различных индикаторов, настройки сгруппированы в предустановки, легко переключаемые через выпадающий список.
Диалог настройки предустановок разбит на 6 частей:
  • Подготовка;
  • Матрица;
  • Перестановка;
  • Изображение;
  • Шрифт;
  • Шаблоны;

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

Графический редактор ЖК дисплеев (от Rius)

Матрица.
Список условий для выбора битов данных из точек изображения, их порядка упаковки.
В отличие от остальных программ, здесь пользователь может сам настроить желаемый порядок точек, а не просто выбрать радиокнопками один из предусмотренных (лишь) вариантов.

Графический редактор ЖК дисплеев (от Rius)

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

Изображение.
Определяет формирование текстового результата преобразования - построчное разбиение блоков данных, размера блока, сжатие, порядок байт, префикс/суффикс/разделитель.

Графический редактор ЖК дисплеев (от Rius)

Шрифт.
Позволяет включить байт индкации порядка байт (BOM) для юникода, выбрать кодировку и порядок сортировки символов в итоговом файле шрифта.

Шаблоны.
Здесь выбираются файлы шаблонов. Отдельно для шрифтов и изображений. В программу встроены 2 шаблона по умолчанию, в качесте примера. Они прописаны по умолчанию, но могут быть изменены.

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

Графический редактор ЖК дисплеев (от Rius)

Файлы шаблона.
Второе основное отличие от аналогичных программ.
Представляет собой текстовый файл со специальными тегами $(имя_тега), взамен которых программа размещает информацию об изображении/шрифте.
Пользователь может изменить этот файл под свои нужды и получить другой формат вывода, в том числе и для другого языка программирования, отличного от "C".

Пример шаблона для изображения:
Кликните здесь для просмотра всего текста
Код
$(start_block_header)
/*******************************************************************************
* $(doc_data_type)
* filename: $(doc_filename)
* name: $(doc_name)
*
* preset name: $(out_preset_name)
* data block size: $(img_data_block_size) bit(s), uint$(img_data_block_size)_t
* RLE compression enabled: $(img_rle)
* conversion type: $(pre_conv_type), $(pre_mono_type) $(pre_mono_edge)
* bits per pixel: $(out_bpp)
*
* preprocess:
*  main scan direction: $(pre_scan_main)
*  line scan direction: $(pre_scan_sub)
*  inverse: $(pre_inverse)
*******************************************************************************/

/*
 typedef struct {
     const uint$(img_data_block_size)_t *data;
     uint16_t width;
     uint16_t height;
     uint8_t dataSize;
     } tImage;
*/
#include <stdint.h>
$(end_block_header)

$(start_block_images_table)
static const uint$(img_data_block_size)_t image_data_$(doc_name_ws)[$(out_blocks_count)] = {
    $(out_image_data)
};
const tImage $(doc_name_ws) = { image_data_$(doc_name_ws), $(out_image_width), $(out_image_height),
    $(img_data_block_size) };
$(end_block_images_table)


Пример шаблона для шрифта:
Кликните здесь для просмотра всего текста
Код
$(start_block_header)
/*******************************************************************************
* $(doc_data_type)
* filename: $(doc_filename)
* name: $(doc_name)
* family: $(fnt_family)
* size: $(fnt_size)
* style: $(fnt_style)
* included characters: $(fnt_string)
* antialiasing: $(fnt_antialiasing)
* type: $(fnt_width_type)
* encoding: $(fnt_encoding)
* unicode bom: $(fnt_use_bom)
*
* preset name: $(out_preset_name)
* data block size: $(img_data_block_size) bit(s), uint$(img_data_block_size)_t
* RLE compression enabled: $(img_rle)
* conversion type: $(pre_conv_type), $(pre_mono_type) $(pre_mono_edge)
* bits per pixel: $(out_bpp)
*
* preprocess:
*  main scan direction: $(pre_scan_main)
*  line scan direction: $(pre_scan_sub)
*  inverse: $(pre_inverse)
*******************************************************************************/

/*
 typedef struct {
     long int code;
     const tImage *image;
     } tChar;
 typedef struct {
     int length;
     const tChar *chars;
     } tFont;
*/

#include <stdint.h>
$(end_block_header)

$(start_block_images_table)
static const uint$(img_data_block_size)_t image_data_$(doc_name_ws)_0x$(out_char_code)[$(out_blocks_count)] = {
    $(out_image_data)
};
static const tImage $(doc_name_ws)_0x$(out_char_code) = { image_data_$(doc_name_ws)_0x$(out_char_code),
    $(out_image_width), $(out_image_height), $(img_data_block_size)};
$(end_block_images_table)

static const tChar $(doc_name_ws)_array[] = {
$(start_block_images_table)
  // character: '$(out_char_text)'
  {0x$(out_char_code), &$(doc_name_ws)_0x$(out_char_code)}$(out_comma)
$(end_block_images_table)
};

$(start_block_font_def)
const tFont $(doc_name_ws) = { $(out_images_count), $(doc_name_ws)_array };
$(end_block_font_def)


Полный список тегов шаблона приведён в документации.

Пример XML файла для хранения данных:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="utf-8"?>
<data type="font" name="fontUbuntu">
    <family>Ubuntu</family>
    <size>14</size>
    <style>Regular</style>
    <widthType>proportional</widthType>
    <antialiasing>false</antialiasing>
    <string> !"#$%&amp;'()*+,-./0123456789:;&lt;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяё</string>
    <converted>/home/vladimir/workspace/lcd-image-converter-wiki/images/examplesfonts/font-ubuntu.c</converted>
    <chars>
        <char character=" " code="0020">
            <picture format="png">iVBORw0KGgoAAAANSUhEUgAAAAQAAAAWCAIAAABojaq5AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAFklEQVQYlWP8//8/AwwwMSCBUQ4DAwBqiwMpgV3W6wAAAABJRU5ErkJggg==</picture>
        </char>
        <char character="!" code="0021">
            <picture format="png">iVBORw0KGgoAAAANSUhEUgAAAAUAAAAWCAIAAACHT8GHAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAKklEQVQYlWP8//8/AxJgYkAFZPIZGRkZGRmpZx7RfEbi/EO0+4g0DycfAJ86CS1Un25bAAAAAElFTkSuQmCC</picture>
        </char>
        <char character="&quot;" code="0022">
            <picture format="png">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAWCAIAAABysUo3AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAKUlEQVQokWP8//8/AzbAhFUUnwTD////4aYhM0g3inQJRur5Y1QCAwAATfYSF7bK+PkAAAAASUVORK5CYII=</picture>
        </char>
        <char character="#" code="0023">
            <picture format="png">iVBORw0KGgoAAAANSUhEUgAAAAwAAAAWCAIAAAB7WupNAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATElEQVQokWP8//8/AyHARFDFwCtiZGRkZGREY5NuEkQfJFCQ2QxUCydGZJNwWceEpgKTjcU6ZIMRbBo4HGcgwU3Co4J06yh1OPUUAQAz0zAfsdiNaAAAAABJRU5ErkJggg==</picture>
        </char>
 
        ...
 
        <char character="ё" code="0451">
            <picture format="png">iVBORw0KGgoAAAANSUhEUgAAAAoAAAAWCAIAAAB2RJoKAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAUklEQVQoka2QQQ7AIAgEGeL/v7y9tBWN4gE5LdkwLCDJ9uWJd9EGgCjO05SStwH1rTSzlyppx5fUpj5iAP+byOj6UvIlZnjqYjw/zPOAtZ/X7AfriDAV+eNqOgAAAABJRU5ErkJggg==</picture>
        </char>
    </chars>
</data>


Пример результата в формате "C":
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*
 typedef struct {
     long int code;
     const tImage *image;
     } tChar;
 typedef struct {
     int length;
     const tChar *chars;
     } tFont;
*/
 
#include <stdint.h>
 
 
static const uint8_t image_data_fontUbuntu_0x20[22] = {
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0, 
    0xf0
};
static const tImage fontUbuntu_0x20 = { image_data_fontUbuntu_0x20, 4, 22};
static const uint8_t image_data_fontUbuntu_0x21[22] = {
    0xf8, 
    0xf8, 
    0xf8, 
    0xf8, 
    0xf8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xf8, 
    0xf8, 
    0xc8, 
    0xc8, 
    0xc8, 
    0xf8, 
    0xf8, 
    0xf8, 
    0xf8
};
static const tImage fontUbuntu_0x21 = { image_data_fontUbuntu_0x21, 5, 22};
static const uint8_t image_data_fontUbuntu_0x22[22] = {
    0xff, 
    0xff, 
    0xff, 
    0xc9, 
    0xc9, 
    0xc9, 
    0xc9, 
    0xc9, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff, 
    0xff
};
 
...
 
static const tImage fontUbuntu_0xd18f = { image_data_fontUbuntu_0xd18f, 10, 22};
static const uint8_t image_data_fontUbuntu_0xd191[44] = {
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xe4, 0xc0, 
    0xe4, 0xc0, 
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xf0, 0xc0, 
    0xc0, 0x40, 
    0xce, 0x00, 
    0x9f, 0x00, 
    0x80, 0x00, 
    0x80, 0x00, 
    0x9f, 0xc0, 
    0x8f, 0xc0, 
    0xc0, 0x40, 
    0xe0, 0x40, 
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xff, 0xc0, 
    0xff, 0xc0
};
static const tImage fontUbuntu_0xd191 = { image_data_fontUbuntu_0xd191, 10, 22};
 
static const tChar fontUbuntu_array[] = {
 
// character: ' '
  {0x20, &fontUbuntu_0x20},
// character: '!'
  {0x21, &fontUbuntu_0x21},
// character: '"'
  {0x22, &fontUbuntu_0x22},
// character: '#'
  {0x23, &fontUbuntu_0x23},
// character: '$'
  {0x24, &fontUbuntu_0x24},
 
...
 
// character: 'ё'
  {0xd191, &fontUbuntu_0xd191}
};
 
const tFont fontUbuntu = { 161, fontUbuntu_array };


Также, есть возможность преобразования не только в форматы исходников, но и в бинарный, для использования в виде отдельного файла.

Демонстрация работы с программой


Скачать программу последней версии, ознакомится с документацией и примерами можно на домашней странице проекта.
0
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
28.06.2015, 22:27  [ТС] #5
2015-06-24

Добавлен импорт/экспорт предустановок в формат XML. Для обмена настройками, размещения под управлением систем контроля версий (VCS), сохранения и переноса.
0
Voland_
1448 / 951 / 92
Регистрация: 04.01.2010
Сообщений: 3,078
28.06.2015, 22:57 #6
..дабы не оскорбить кого, но...
чем вам GIMP не понравился? http://www.gimphelp.org/formats.shtml

Не по теме:

ЗЫ: хотя, свой редактор под рукой, естественно, удобнее. я и сам делал подобный на дельфях. Но каждый проект графики и шрифтов требовал каких-то изменений в этой программке. Потому что вывод букав и графики на OLED'ах, LCD-шках везде разный. Он похож, но чем-то различается... То сдвиг не тот, то направление, то маску приходилось добавлять еще.

0
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
28.06.2015, 23:04  [ТС] #7
Да, я знаком с GIMP. Классная программа для изображений, но это иное назначение. Хоть он и сохраняет в "С", но настроек там - кот наплакал. Просто сравните.

Вот от тех самых изменений я и уходил.
0
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
28.06.2015, 23:15  [ТС] #8
Вот. Макрос/структура, RLE, альфа-канал и r5g6b5. И всё...
Графический редактор ЖК дисплеев (от Rius)
0
Voland_
1448 / 951 / 92
Регистрация: 04.01.2010
Сообщений: 3,078
29.06.2015, 10:57 #9
Rius, ну я с вами согласен. И это большое дело - расшарить свой редактор графических ресурсов, спасибо. Разрисовка шрифтов в тетрадках, с устным подсчетом 16тиричных или битовых значений и их внесение в сишный код - дело очень кропотливое и длительное.
Просто вы бы тогда создали бы некий "мастер" по созданию пиктограммы в памяти контроллера из пиктограммы реальной картинки (или картинок). Ведь битовые/байтовые сдвиги, расстояние между символами в шрифте, направление битов как по вертикали, так и по горизонтали, битность формата символов (1, 2, 3 бита (для полутонов), 8 бит, 12бит, 16бит, 24бита для цветных), разрядность данных в памяти - это в 90% удобно подтачивать именно "ручками" из кода, т.к. на все случаи жизни еще не приходилось мне видеть ни одного редактора.
Если жалко выкладывать исходники - попробуйте "вычленить" какую-нить часть именно по формированию данных из источника в получатель, например, в виде DLL и опишите интерфейс к ней. Это для разработчика станет удобной "форточкой", чтобы мастерить произвольные форматы результирующего файла.
1
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
29.06.2015, 11:24  [ТС] #10
Voland_, задача создания Мастера в таком виде слишком сложна, чтобы пытаться охватить все варианты. А так - всё уже реализовано в настройках. Код же всегда ручками подтачивается. Здесь же вполне достаточно возможностей, чтобы смастерить произвольный формат результирующего файла, без изменения исходников программы.
Это попытка создания такого редактора, хотя анимации, например, ещё нет. Есть ещё как минимум 2 хороших проекта аналогичного назначения: один платный (не буду его тут рекламировать), другой от mikroe для своих компиляторов.
Исходники были открыты с самого основания проекта.
0
Voland_
1448 / 951 / 92
Регистрация: 04.01.2010
Сообщений: 3,078
29.06.2015, 11:26 #11
Цитата Сообщение от Rius Посмотреть сообщение
Исходники были открыты с самого основания проекта.
Сорри, слона-то и не приметил...
0
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
19.03.2016, 18:08  [ТС] #12
2015-11-03
Альфа-канал сделан опциональным. Для удобства в отдельных случаях.
Имя документа предлагается в качестве имени файла.

2016-03-15
Исправлены ошибки в предпросмотре.

2016-03-19
Добавлена возможность объединения одинаковых символов для уменьшения занимаемой памяти.
Исправлена очистка не преобразованных (по условиям) символов.
0
bodya_men
Нарушитель
44 / 52 / 7
Регистрация: 01.07.2014
Сообщений: 1,007
Завершенные тесты: 3
30.05.2016, 11:09 #13
Хотел в очередной раз минусовать, но прога полезная все же, формат в C какой? Массив пикселей?
0
Витальич
1205 / 1116 / 160
Регистрация: 02.12.2013
Сообщений: 4,570
30.05.2016, 11:15 #14
В строке поиска наберете "Пример результата в формате "C":" и там искомое
1
Rius
Эксперт .NET
2937 / 2046 / 479
Регистрация: 25.05.2015
Сообщений: 6,665
Записей в блоге: 8
Завершенные тесты: 4
21.07.2016, 20:41  [ТС] #15
2016-07-21
  • Альфа-канал при генерации шрифта сделан постоянным, не отключаемым.
  • Реализовано указание и использование альфа-компонент в цветах кисти/фона.
  • Улучшена поддержка прозрачного фона в символах.
  • Указание цветов кисти/фона шрифта в командной строке.
  • Добавлен вывод параметров ascent/descent для шрифта в выходной файл.
  • Переделан диалог настройки шрифта.
  • Диапазон символов юникода исправлен на Qt-шный, 16-битный, 0x0000...0xffff.
  • Обновлён формат лога изменений.
  • Исправлены некоторые случаи падения приложения при ошибочных пользовательских скриптах.
2
21.07.2016, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2016, 20:41
Привет! Вот еще темы с ответами:

Калькулятор, редактор списка строк, графический редактор - Delphi
Калькулятор:

Калькулятор, редактор списка строк, графический редактор - Delphi
Помогите, кто чем может! Очень надо,хотя бы что то из этого сделать!

графический редактор - ActionScript
требуется сделать простой графический редактор flash(рисовать кистью и все). что почитать на эту тему? может есть исходники у...

Графический редактор - Delphi
Всем доброго времени суток. На данный момент сложилась два вопроса. 1. Как сделать заливку 2. Как убрать мигание (не рисование полной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru