|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
Формат хранения изображения в графическом редакторе20.05.2006, 17:04. Показов 7934. Ответов 14
Метки нет (Все метки)
Нужно сделать графический редактор, но сделать свой собственный формат хранения. Причем, его можно было бы переводить, например, в JPEG и обратно.
Подскажите, плиз, или дайте линк. :oops:
0
|
|
| 20.05.2006, 17:04 | |
|
Ответы с готовыми решениями:
14
В графическом редакторе при открытии изображения, поверх него прошлые рисунки Ноутбук до 26.000 р. для работы в графическом редакторе или видео-редакторе Часы в графическом редакторе |
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 20.05.2006, 22:20 | |
|
Поясни насчет JPG и обратно. Этим же редактором что ли?
Текст могу подсказать, если в Дельфи, но будет очень примитивно... но рисовать можно В Паскале не смогу
0
|
|
|
|
|
| 20.05.2006, 22:34 | |
|
Т.е. формат для хранения рисунка должен быть мой. Чтобы работать как с объектом. Код, в Delphi. Буду признательна! :oops:
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 20.05.2006, 22:36 [ТС] | |
|
Ups!.. =) Т.е. формат для хранения рисунка должен быть мой. Чтобы работать как с объектом. Код, в Delphi. Буду признательна! :oops:
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 20.05.2006, 22:46 | |
|
Ну, в JPG не сделаешь так просто... чтобы можно было в БМП устроит?
И еще, сколько цветов желательно?
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 22.05.2006, 03:28 [ТС] | |
|
Можете пояснить почему это будет так сложно? Точное количество цветов мне ещё не установили, так что насколько это возможно. :oops:
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 22.05.2006, 13:05 | |
|
В JPG идет двойное сжатие, и там сложна структура файла. Поэтому лучше в БМП.
Но можно свой формат сжимать, тогда будет что-то вроде PNG.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 22.05.2006, 14:55 [ТС] | |
|
Если можно это как-то наглядно, с кодом показать, я хотя бы принцип пойму.
Просто, я подобным заданием ещё не сталкивалась.
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 25.05.2006, 11:31 | |
Сообщение было отмечено ildwine как решение
Решение
Могу подкинуть пару идей, как это сделать.
Во-первых, естесственно, пользовательский интерфейс. Помести панель инструментов и палитру на форму. Наверняка юзал Паинт, вот сделай что-то похожее. И еще - изображение. Желательно типа TImage, если с VCL, или что-то подобное. Размером - как максимально возможный рисунок. А его полностью накрой невидимыми кнопками размером 1*1 пиксел, причем программным способом (т. е. напиши код вручную). Теперь - собственно рисование. Точку сделать легко - доступ к свойству Pixels изображения у нас есть. Прямоугольник. По двум координатам считаем еще две и проводим четыре линии. Закрашенный - еще проще, есть процедура, не помню какая. Овал. Так же, как и с прямоугольником, ищем центр и радиусы, после чего вызываем Ellipse( ) . Линия. Процедура Line. Заливка. Здесь алгоритм следующий: [i:5908bb32b1] определить цвет точки ПОВТОРЯТЬ перекрасить ее ДЛЯ всех соседних точек ЕСЛИ цвет совпадает с запомненным, повторить процедуру для нее ПОКА можно закрасить хоть одну точку[/i:5908bb32b1] Думаю, это можно сделать в цикле, но на псевдокоде оказалось проще записать рекурсивно. Выбор цвета. Клик по пикселу делает основным его цвет. Выделение. Прямоугольник между соответствующими точками выносит его на невидимый объект, где будет существовать до снятия выделения. Размеры объекта можно корректировать по ходу программы. Кисть. Вокруг указанной точки отмечаешь соседние пиксели в соответствии с формой кисти. Повернуть. Точка (х, у) переместится в: -точку (махх-у, х) (90 градусов); -точку (махх-х, маху-у) (180 градусов); -точку (у, махх-х) (270 градусов). Растянуть. Попробуй применить матричные действия: умножь координаты точек на матрицу Sx 0 0 0 0 Sy 0 0 0 0 0 0 0 0 0 1, где Sx и Sy- соответствующие множители. Пробелы между точками заполни цветом или цветами, промежуточными между ними. Отразить. По горизонтали: точка (х, у) перейдет в точку (махх-х, у) По вертикали - аналогично. Меняется только не х, а у. Ну в общем-то этого может хватить. О формате расскажу попозже. Ну вот и все. Будут проблемы с кодом - пиши.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 25.05.2006, 20:31 [ТС] | |
|
Spasibo bol'shoe!!
No mne imenno format i nuzhen. =)
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 25.05.2006, 21:28 | |
|
А я вот так с лету не вспомню даже БМП как делать
потом напишу как сохранять
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 25.05.2006, 23:44 [ТС] | |
|
В любом случае, огромное спасибо! Мне тут разъяснили:
т.е., например, мы что-то нарисовали, квадрат, который немного закрывает круг. Чтобы мы могли работать с каждым как с объектом отдельно, при этом и после сохранения а потом открытия файла, мы всё ещё могли работать с каждым отдельно(например, растянуть квадрат). Т.е. если бы это был JPEG, то эта информация бы потерялась. =)
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 26.05.2006, 11:49 | |
|
А, так тебе нужен векторный редактор? так бы сразу и сказала. Извини, в векторной графике не разбираюсь.
Хотя некоторые мои идеи будут продолжать работать. Просто сохранять надо не через Объект.Picture.SaveToFile(), а записать в файл массив, в котором содержатся описания графпримитивов.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2006
Сообщений: 7
|
|
| 26.05.2006, 20:05 [ТС] | |
|
Да, как оказалось, мне сначала не точно задали...
В любом случае, огромное спасибо за подсказки!!
0
|
|
|
5 / 4 / 3
Регистрация: 01.05.2006
Сообщений: 181
|
|
| 26.05.2006, 23:14 | |
|
да пожалуйста
0
|
|
| 26.05.2006, 23:14 | |
|
Помогаю со студенческими работами здесь
15
Ошибки в графическом редакторе
Инструмент выделения в графическом редакторе Не работают кнопки в графическом редакторе Рисование линии в графическом редакторе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|