|
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 4
|
||||||
Как получить структуру файла bmp в классе TBitmap?09.11.2017, 15:03. Показов 2146. Ответов 6
Метки нет (Все метки)
Открытие файла через стандартный диалог: OpenDialog1->Execute()
Изображение сохраняется как TBitmap в source:
Значений source->Width, source->Height не достаточно. Нужно получить, в частности, PixelsPerInch, который не входит в класс TBitmap. Позиции PixelsPerInch в заголовке bmp файла известны - это байты 38-41 и 42-45.
0
|
||||||
| 09.11.2017, 15:03 | |
|
Ответы с готовыми решениями:
6
Как получить ссылку на объект (структуру) в другом классе Как получить массив из BMP файла Получить кадр из AVI файла в TBitmap |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||||||
| 09.11.2017, 23:51 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 4
|
|
| 10.11.2017, 11:37 [ТС] | |
|
Спасибо за быстрый ответ. Ваш вариант работает отлично! Однако исходные условие другие - файл загружается в диалоге:
OpenDialog1->Execute(). В этом случае, явный вызов LoadFromFile("picture.bmp") отсутствует. Файл загружается процедурой: Image1->Picture->Bitmap->LoadFromFile(OpenDialog1->FileName); И далее имеем дело с source: Graphics::TBitmap *source = new Graphics::TBitmap; source->Assign(Image1->Picture->Bitmap); Здесь без особого труда можно получить: source->Height, source->Width, source->PixelFormat. Однако другие параметрs заголовка на получить. Например при вставке кода: source->PixelsPerInch, получаем ошибку - "PixelsPerInch - не принадлежит классу TBitmap". P.S. Есть проект по обнаружению простых объектов в шумах. Программирование в Borland C++. Может это Вас заинтересовать на платной основе?
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 10.11.2017, 12:59 | ||||||
|
Так запихните содержимое картинки в буфер...
Добавлено через 30 минут П.С. и вообще-то PixelsPerInch - в свойствах формы; вряд ли картинка на форме может иметь другое чем форма разрешение.
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 4
|
|
| 10.11.2017, 17:35 [ТС] | |
|
Спасибо. Попробую сделать так. Выходные картинки, после ряда преобразований, выводятся на печать. Размеры печати могут быть разные и поэтому необходимо варьировать dpi. Входные картинки - результат сканирования, здесь так же требуется знание dpi.
Кстати конвертер dpi: https://dpiconverter.com/ru/
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 10.11.2017, 17:57 | |
|
Не знаю, что вам нужно получить, но форма также имеет функцию print и её можно отправить на печать непосредственно. А картинку на форме можно разместить "с растяжкой" по её размеру (stretch - true).
0
|
|
|
0 / 0 / 0
Регистрация: 09.11.2017
Сообщений: 4
|
|
| 14.11.2017, 15:27 [ТС] | |
|
Попробую в "двух словах" пояснить задачу. Есть Заказчик. По ТЗ, вх.данные - цифровой файл высококачественной худ. репродукции. Вых. данные - цифровой файл той же репродукции со встроенной голограммой некоторых образов (например набор символов - S12345ы) - т.н., скрытых водяных знаков (СВЗ) . Вых. файл идет на печать в форматах от А4 до А0 с плотностью отсчетов d1=(150)300 dpi. Бумажный носитель - холст. Обратная задача - фотографирование, с помощью цифровой камеры, репродукции со встроенной голограммой СВЗ после печати на холсте. При этом должно быть выполнено условие d2>=2*d1, где d2 - плотность дискретных отсчетов при фотофиксации.
Опытный образец ПО - http://www.smirnov.sp.ru/water... tware.html Пример обработки - http://smirnov.spb.su/papers/resote_wm_paper.php Сейчас реализован процесс восстановления голограммы, т.е. получена картинка некоторых образов(символов). Задача - декодировать образы, т.е. привести к алфавитно-цифровому виду (ID). На входе модуля декодирования (МД) - картинки символов (заранее известны, для текущей репродукции) имеющие случайный масштаб и осложнены шумом и яркостными искажениями. Изменение масштаба связано с произволом процесса фотографирования. Шумы, скорее всего нормальные, возникают при восстановлении голограммы СВЗ. Искажение яркости связано с оптическими характеристиками камеры смартфона и характеристиками бумажного носителя. Программный модуль МД - составная часть http://www.smirnov.sp.ru/water... tware.html. В качестве оболочки (формы) ПО взят известный project ImageProcessing Borland C++6.0 (есть в папке examples Borland C++6.0). Если нет, то можно скачать http://petromramor.ru/temp/ImageProcessing.zip В соответствии, с выше изложенным, ищу программиста Borland C++6.0, имеющего опыт работы с сигналами и изображениями. Пока некоторые задачи пытаюсь решить сам.
0
|
|
| 14.11.2017, 15:27 | |
|
Помогаю со студенческими работами здесь
7
Как получить цвет пикселя из BMP файла Получить RGB bmp файла Получить из файла BMP матрицу значений пикселов Как сделать объекты TBitmap глобальными для файла? Получить пиксель из TBitmap Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|