Форум программистов, компьютерный форум CyberForum.ru

Сравнение 2 картинок - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ с чего начать? http://www.cyberforum.ru/cpp-beginners/thread451154.html
Добрый вечер, я бы хотел изучить язык С++ с нуля. Посоветуйте книгу пожалуйста а то попадаются не слишком современные и удобные((
C++ Класс С++ Ребят, подскажите есть ли разница писать прототипы в классе, а реализацию отдельно от класса или реализацию в самом классе? http://www.cyberforum.ru/cpp-beginners/thread451152.html
C++ Разработать программу для решения СЛАУ методом Гаусса.
Разработать программу для решения СЛАУ методом Гаусса. вот заданный массив 7x1-x2+2x3+x4+x5=7 2x1+5x2-x3-x5=3 7x3+x4+2x5=-1 -x1-2x2+5x4-x5=5 x1-x2-x3+x4+7x5=-7
Найти остаток от деления одного целого числа на другое C++
как в Borland C описывается функция,которая в паскале описывается как mod?? как на Borland C написать if x mod 10 = 0 then...
C++ Воспользовавшись записью СТУДЕНТ определите количество отличных оценок, полученных группой по всем предметам http://www.cyberforum.ru/cpp-beginners/thread451133.html
Привет. Прощу помочь с решением задачи на структуру. Я нашел тут на форуме схожую задачу, но она определяет количество отличников, а не отличных оценок. За любую помощь буду премного благодарен. Вот код: #include <iostream> //Подключаем библиотеку функций ввода-вывода #include <string> #include <conio.h> using namespace std; struct STUDENT{ char FIO; ...
C++ С чего начать ? привет всем я изучал web языки программирования такие как PHP С недавнего времени заинтересовался Cи вот хотел бы узнать у вас в чем различие между C++ и C#? С какого языка лучше начать? при помощи какой программы это все делается "насколько я знаю тут нужна вижол студия" ели я прав то дайте ссылку где ее скачать можно, и дайте ссылку на литературу или видео у роки где полностью... подробнее

Показать сообщение отдельно
Vlad1slav
21 / 21 / 5
Регистрация: 16.09.2009
Сообщений: 111
22.02.2012, 23:23     Сравнение 2 картинок
Есть 2 картинки, одного размера и почти одинаковые, за исключением некоторых пикселей.
Нужно создать картинки с несовпадающими(совпадающими) пикселями исходных картинок.

Где-то встречал пример с использованием растровых операций BitBlt.
Сейчас бы хотел повторить такое, но мне для этого мне нужно HDC.

Если я картинку получаю "скриншотом" с экрана, никаких проблемм нет:
C++
1
2
3
4
5
6
7
    HDC hdc=GetDC(hwnd);
 
    hBmp=CreateCompatibleBitmap(hdc, cx, cy);
    hMemDC=CreateCompatibleDC(hdc);
    SelectObject(hMemDC, hBmp);
 
    BitBlt(hMemDC, 0, 0, cx, cy, hdc, x, y,  SRCCOPY);
Но если считываю с файла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    FILE* f;
    LPBITMAPFILEHEADER lpbFileh;
    int infosize;
 
    f=_wfopen(fname, L"rb");
    lpbFileh=new BITMAPFILEHEADER;
    fread(lpbFileh, sizeof(BITMAPFILEHEADER), 1, f);
    infosize=lpbFileh->bfOffBits-sizeof(BITMAPFILEHEADER);
    lpBmpInfo=(LPBITMAPINFO)malloc(infosize);
    fread(lpBmpInfo, infosize, 1, f);
    lpBuffer=malloc(lpBmpInfo->bmiHeader.biSizeImage);
    fread(lpBuffer, lpBmpInfo->bmiHeader.biSizeImage, 1, f);
    fclose(f);
То как быть?

Попробывал след. код:
C++
1
2
3
4
    hMemDC=CreateCompatibleDC(NULL);
    hBmp=CreateCompatibleBitmap(NULL, lpBmpInfo->bmiHeader.biWidth, lpBmpInfo->bmiHeader.biHeight);
    SetDIBits(hMemDC, hBmp, 0, lpBmpInfo->bmiHeader.biHeight, lpBuffer, lpBmpInfo, DIB_RGB_COLORS);
    SelectObject(hMemDC, hBmp);
но hMemDC пустое...

В общем как при считывании картинки с диска, получить HDC, для функции BitBlt(...)

Добавлено через 56 минут
Сам задал вопрос-сам на него и ответил:
Достаточно передать HDC ненулевой, а HDC рабочего стола)

C++
1
2
3
4
HDC hdc=GetDC(NULL);
        hMemDC=CreateCompatibleDC(NULL);
        hBmp=CreateCompatibleBitmap(NULL, lpBmpInfo->bmiHeader.biWidth, lpBmpInfo->bmiHeader.biHeight);
        ReleaseDC(NULL, hdc);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru