Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696

Вывод изображения WinAPI

11.01.2011, 17:21. Показов 35336. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Нужно сделать что-то типа графического редоктора, который накладывает фильтры на изображения. С алгоритмами я знаком, на C# уже написал приложение(для "посмотреть как оно будет"), но нужно всё сделать на WinAPI. Подскажите, как с помощью WinAPI:
1) получить изображение из файла
2) иметь возможность получить/изменить цвет определенного пикселя
3) отобразить полученное изображение в окне
4) сохранить его в файл
Буду очень признателен за код, если никого не затруднит.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2011, 17:21
Ответы с готовыми решениями:

Вывод изображения в WinAPI
Вот не получается загрузить картинку Делаю по примеру найденому здесь на форуме Но у меня не находит файл #include <windows.h> ...

Вывод изображения из файла в окно (Winapi)
делаю так но выводит белый фон case WM_PAINT: hdc = BeginPaint(hWnd, &ps); hdc = BeginPaint(hWnd,...

Visual Studio 2008, WinAPI - Вывод изображения
Как вывести изображение на форму? В гугле искал, но там что-то ничего того,что я могу понять не нашёл =( Понял только , что...

23
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
18.06.2011, 23:13
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от lavrentiy Посмотреть сообщение
Не будет ли правильнее создать битмап и хендл глобальными переменными,
Не будет
получишь утечку ресурсов и повесишь свое приложение

Добавлено через 5 минут
насчет цвета пикселя
создаешь дискрептор в памяти
грузишь туда картинку
и GetPixel(Не самая быстрая функция)
картинка у тебя в памяти на экране ничего нет
изголяйся как хошь
потом можешь в файл можешь на экран
но если надо серъезно работать с изображениями смотри в сторону DirectDraw(openGL)

Добавлено через 6 минут
Ты не правильно понял
Цитата Сообщение от lavrentiy Посмотреть сообщение
А вот тут утверждается, что выбранный объект надо удалять после использования.
удалятся не значит разрушатся а перестать быть выбраным
наример так
C++
1
2
3
4
5
HPEN * OldPen=SelectObject(hdc,&pen);
...........................................................
// здесь освобождаем выбраный нами объект 
// иначе утечка ресурсов
SelectObject(hdc,OldPen);
0
230 / 0 / 1
Регистрация: 15.06.2011
Сообщений: 4
18.06.2011, 23:29
Не знаю точно, как работает функция LoadImage, но наличие у ней параметра "picture.bmp" наводит на мысль, что она работает с винтом. По-моему, заново читать один и тот же файл с винта в обработчике события это верх безумия.
А можно пояснить механизм утечки?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
18.06.2011, 23:45
Цитата Сообщение от lavrentiy Посмотреть сообщение
По-моему, заново читать один и тот же файл с винта в обработчике события это верх безумия.
не всегда
винда работала и на 16 метрах памяти
а теперь представь что твое приложение забрало под картинку метров 10
извечный вопрос скорость/память
Цитата Сообщение от lavrentiy Посмотреть сообщение
А можно пояснить механизм утечки?
ну я же уже выступал
для каждого приложения винда выдает конечное количество графических ресурсов
и если постоянно выбирать новые
Цитата Сообщение от ValeryS Посмотреть сообщение
HPEN * OldPen=SelectObject(hdc,&pen);
и не освобождать их
вот так
Цитата Сообщение от ValeryS Посмотреть сообщение
SelectObject(hdc,OldPen);
т.е выбирать тот объект который был выбран до твоего выбора (во завернул)
то приложение исчерпат графические ресурсы и повиснет
1
230 / 0 / 1
Регистрация: 15.06.2011
Сообщений: 4
18.06.2011, 23:51
Ясненько.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2011, 23:51

WinAPI нет изображения
В общем, средствами WinAPI пытаюсь реализовать рекурсивный алгоритм прорисовки концентрических окружностей в заданном количестве. Проблема...

Поворот bmp изображения на 90 градусов winapi
8) Написать программу, которая читает с диска *.bmp файл и выводит его в окно приложения. При помощи потока организовать поворот...

Вывод изображения поверх другого изображения
Привет, как правильнее сделать такую манипуляцию нужно на картинке вывести справа вверху КРАСНЫЙ КРУГ как на изображении которое...

Сохранение изображения jpg/png в базу данных средствами С++ и WinAPI с последующим извлечением оного из БД
Можно ли с использованием C++ на winApi сохранить изображение (png,jpeg) в какую нибудь переменную , потом сохранить все это в MysQL , а...

Вывод изображения с БД и размер изображения
<div id="block-3" <?php $query = mysql_query("SELECT * FROM table_photos" ,$link); $array = mysql_fetch_array($query); do { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru