|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
||||||
Как функцией BitBlt записать данные в массив?28.05.2023, 16:32. Показов 4127. Ответов 55
Метки нет (Все метки)
Здравствуйте!
Подскажите, пожалуйста как заставить следующий код заработать?
0
|
||||||
| 28.05.2023, 16:32 | |
|
Ответы с готовыми решениями:
55
Как записать в массив слова с функцией strtok Вывод изображения функцией BitBlt Как записать в массив данные из *.TXT и и правильно рассортировать данные по ячейкам массива? |
|
COM‐пропагандист
|
||
| 28.06.2023, 10:13 | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
||||||||
| 28.06.2023, 10:42 [ТС] | ||||||||
|
Замабувараев, набросал на скорую руку:
*a - собственно адрес, после которого лежать байты точек(как я понимаю линейно, т.е. как бы одной длинной непрерывной строчкой) причем у меня получается на каждый пиксель по 3 байта... n - кол-во байт относительно начального адреса Добавлено через 7 минут откуда я беру Но если *a это адрес по которому как бы расположена "строка пикселей", то где тогда находится массив RGB?
0
|
||||||||
|
COM‐пропагандист
|
||
| 28.06.2023, 12:08 | ||
|
Например, в палитре определены (заданы) 16 цветов. Берёте ноль — это будет первый цвет из палитры, берёте 1 — это второй цвет из палитры. И так далее. У вас всего 16 вариантов, это влезет в 1 байт.
0
|
||
|
|
||
| 28.06.2023, 12:26 | ||
|
Картинка может быть 32-ух битной. Тогда будет #PB_PixelFormat_32Bits_RGB или #PB_PixelFormat_32Bits_BGR вместо #PB_PixelFormat_24Bits_BGR. Также у gif и ico могут быть отличия.
0
|
||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
|||
| 28.06.2023, 12:31 [ТС] | |||
|
Замабувараев, Прошу прощения за мою тупость. Попробую спросить по-другому....
*a = DrawingBuffer() - адрес с которого начинается пиксели, каждый пиксель по x-байт. Чтобы найти конкретный пиксель надо: взять значение из *a+х*кол-во пикселей. А где палитру-то искать? Она(палитра) есть по адресу *a = DrawingBuffer()+(-)сколько-то? Добавлено через 2 минуты Добавлено через 1 минуту
0
|
|||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
|
| 28.06.2023, 12:34 [ТС] | |
|
Мне в принципе важно, чтобы с BMP "сюрпризов" не было...
0
|
|
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
||
| 28.06.2023, 12:43 [ТС] | ||
|
0
|
||
|
|
|||
| 28.06.2023, 12:55 | |||
32 также поддерживается.
0
|
|||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
|||
| 28.06.2023, 13:12 [ТС] | |||
|
Просто мне показалось странным, что я сохранил BMP (паинтом) как монохром потом загрузил её LoadImage и получив формат пикселя вновь увидел тот же формат, что и на цветном рисунке... Добавлено через 9 минут А то нехорошо будет, если написанное приложение вдруг глюканет, из-за того, что я неучел другие варианты DrawingBufferPixelFormat()
0
|
|||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
|
| 09.07.2023, 22:02 [ТС] | |
|
Только мне показалась, что я разобрался с DrawingBuffer(), как тут же наткнулся на еще одну загадку...
Загрузил картинку bmp размером 39х37 с глубиной цвета 24. На всякий случай проверил её DrawingBufferPixelFormat() и DrawingBufferPitch() DrawingBufferPixelFormat() показал 3 байта на пиксель, что логично. А вот DrawingBufferPitch() показал реальную длину строки в байтах = 120 Но ведь 39*3=127.... возникает вопрос, откуда взялись еще ТРИ байта и что это ха байты?
0
|
|
|
COM‐пропагандист
|
|||
| 10.07.2023, 07:26 | |||
0
|
|||
|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
|
| 10.07.2023, 23:10 [ТС] | |
|
Замабувараев, до меня просто не дошло, что данные DrawingBuffer(), по сути BMP
Спасибо
0
|
|
|
1 / 1 / 0
Регистрация: 28.07.2018
Сообщений: 124
|
||||||
| 29.07.2023, 08:14 | ||||||
|
Всех приветствую. Хотелось бы присоединиться к теме. Вот, допустим, я загружаю .bmp файл функцией LoadImage(). Первые два байта должны содержать символы "ВМ", и при считывании отображать 19778. Попробовал сделать так:
0
|
||||||
|
12 / 12 / 0
Регистрация: 02.07.2014
Сообщений: 117
|
|
| 29.07.2023, 08:42 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 28.07.2018
Сообщений: 124
|
||
| 29.07.2023, 09:03 | ||
|
0
|
||
|
12 / 12 / 0
Регистрация: 02.07.2014
Сообщений: 117
|
|
| 29.07.2023, 09:11 | |
|
Они возвращают информацию, позволяющую понять как работать с памятью, указатель на которую возвращает
*Buffer = DrawingBuffer() Учитывая, что PB проприетарный и мультиплатформенный, и структура буфера до StartDrawing() не документирована, то и искать информацию на эту тему нет смысла. Автор в любой следующей версии может формат изменить и на разных платформах он может отличаться. А вот после вызова StartDrawing() есть три функции от автора позволяющие детально понять, что там в буфере.
0
|
|
|
1 / 1 / 0
Регистрация: 28.07.2018
Сообщений: 124
|
||
| 29.07.2023, 09:43 | ||
|
0
|
||
| 29.07.2023, 09:43 | |
|
Как записать данные в массив ? Как записать данные в массив? Как записать нетипизированные данные в массив? Как пробежаться по БД и записать данные в массив? Как записать данные с файла в массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|