|
3 / 3 / 0
Регистрация: 14.12.2020
Сообщений: 171
|
||||||
Как функцией BitBlt записать данные в массив?28.05.2023, 16:32. Показов 4064. Ответов 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
Сообщений: 115
|
|
| 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
Сообщений: 115
|
|
| 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 | |
|
Как записать данные в массив ? Как записать данные в массив? Как записать нетипизированные данные в массив? Как пробежаться по БД и записать данные в массив? Как записать данные с файла в массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|