|
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
|
||||||
Обработка изображения04.03.2014, 18:29. Показов 1082. Ответов 8
Метки нет (Все метки)
0
|
||||||
| 04.03.2014, 18:29 | |
|
Ответы с готовыми решениями:
8
Ввод/вывод и обработка изображения Обработка матрицы, каждый элемент которой задает яркость пикселя изображения Обработка изображения |
|
|
|
| 04.03.2014, 18:46 | |
|
C++ #include <stdio.h> int main() { FILE * file; int size; unsigned char * data; file = fopen("black.bmp", "rb"); fseek(file, 0, SEEK_END); size = ftell(file); rewind(file); data = new unsigned char[size]; fread(data, 1, size, file); for(int i = 54; i < size; i++) data[i] = 0xFF; fclose(file); file = fopen("white.bmp", "wb"); fwrite(data, 1, size, file); fclose(file); delete [] data; } Ой, у меня меняет все изображение на белый.
1
|
|
|
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
|
||||||
| 04.03.2014, 18:53 [ТС] | ||||||
Добавлено через 2 минуты color и tempcolor не int а unsigned char надо
0
|
||||||
|
|
|
| 04.03.2014, 19:07 | |
|
maxim12345, на самом деле bmp - очень плохой формат картинок, у них там размер файла не точно зависит от количества пикселей по ширине и высоте, хотя и считается растровым форматом. Обычно заголовок занимает 54 байта, а данные рисунка ширина * высота * кол-во_байт_на_пиксель, например для 24-битного рисунка 10 на 15 пикселей кол-во байт должно быть 54+10*15*3 = 504, а пейнт создает файл размером 534 байта, спрашивается откуда взялись еще 30 байтов...
1
|
|
|
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
|
||||||
| 04.03.2014, 19:21 [ТС] | ||||||
0
|
||||||
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
||
| 04.03.2014, 21:07 | ||
|
1.
Яркости в 256 цветной bmp записываются через палитру, и то, что вы считываете, это не яркрсть, а индекс в этой палитре. 2. Я не знаю, что такое BitMapHeader. В файл сначала пишется структура BITMAPFILEHEADER, потом структура BITMAPINFO (содержащая BITMAPINFOHEADER и палитру), а потом байты индексов, причем, строки выровнены на границу двойного слова.
0
|
||
| 04.03.2014, 21:18 | ||
0
|
||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
|
|
| 04.03.2014, 21:22 | |
|
0
|
|
|
Фрилансер
3709 / 2082 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
|
| 04.03.2014, 22:39 | |
|
maxim12345, сам в своё время по этим граблям потоптался. На самом деле нельзя сразу после записи делать чтение. Как и наоборот. Эти опреации обязательно должны перемежаться вызовом fseek. Даже если указатель реально не должен перемещаться. Это прямо написано в документации.
0
|
|
| 04.03.2014, 22:39 | |
|
Помогаю со студенческими работами здесь
9
Обработка изображения обработка изображения
Обработка изображения Обработка изображения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|