Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542

Копирование CImage

03.10.2016, 14:41. Показов 875. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите,
1) Как скопировать (полностью, а не по ссылке) один CImage в другой?
2) Как скопировать потом этот CImage скопировать в третий с изменением масштаба?

Как понял нужно юзать BitBlt и StretchBlt, но ничего не получается(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.10.2016, 14:41
Ответы с готовыми решениями:

CImage
Здравствуйте! Есть таблица в Access. В этой таблице есть поле, которое содержит графические данные (фотографии). Вопрос: Как...

CImage - resize для картинки
Привет. Подскажите как сделать resize картинки? Видел примеры в инете, но все что пробовал - результат операции черный квадрат. ...

Visual Studio ругается при использовании CImage
Здравствуйте, уважаемые форумчане. Использую CImage для отрисовки изображений след. образом: Цикл отрисовки: for (int i = 0; i...

3
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
03.10.2016, 21:42
klynxe, отсюда варианты пробовали http://www.codeproject.com/Que... e-a-bitmap ?
1
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
04.10.2016, 12:35  [ТС]
Отображает черные квадраты, вместо картинок(

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CImage imageScheme;
 
void CSchemeInfoDlg::SetImage(CImage *iScheme)
{
    CDC *screenDC = GetDC();
    CDC *pMDC = new CDC;
    pMDC->CreateCompatibleDC(screenDC);
    CBitmap *pb = new CBitmap;
    pb->CreateCompatibleBitmap(pMDC, iScheme->GetWidth(), iScheme->GetHeight());
    SetStretchBltMode(pMDC->m_hDC,COLORONCOLOR);
    iScheme->StretchBlt(pMDC->m_hDC, 0, 0, iScheme->GetWidth(), iScheme->GetHeight(), SRCCOPY);
    imageScheme.Attach((HBITMAP)(*pb));
    iScheme->Detach();
    HBITMAP old;
    old = cpPictereScheme.SetBitmap((HBITMAP)(imageScheme));
    if (old) DeleteObject(old); 
    cpImagePos.x = 0;
    cpImagePos.y = 0;
    cpPictereScheme.GetClientRect(crImageSize);
    cpPictereScheme.MoveWindow(cpImagePos.x, cpImagePos.y, crImageSize.Width(), crImageSize.Height(), 1);   
    GetClientRect(crWindowsSize);
}
Так тоже самое
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void CSchemeInfoDlg::SetImage(CImage *iScheme)
{
    imageScheme.Create(iScheme->GetWidth(), iScheme->GetHeight(), 32);
    SetStretchBltMode(imageScheme.GetDC(), COLORONCOLOR);
    iScheme->StretchBlt(imageScheme.GetDC(), 0, 0, iScheme->GetWidth(), iScheme->GetHeight(), SRCCOPY);
    //imageScheme.Create(iScheme->GetWidth(), iScheme->GetHeight(), iScheme->GetBPP());
    //SetStretchBltMode(imageScheme.GetDC(), COLORONCOLOR);
    //imageScheme.Detach();
    //iScheme->Destroy();
    HBITMAP old;
    old = cpPictereScheme.SetBitmap((HBITMAP)(imageScheme));
    if (old) DeleteObject(old); 
    cpImagePos.x = 0;
    cpImagePos.y = 0;
    cpPictereScheme.GetClientRect(crImageSize);
    cpPictereScheme.MoveWindow(cpImagePos.x, cpImagePos.y, crImageSize.Width(), crImageSize.Height(), 1);   
    GetClientRect(crWindowsSize);
}
0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
06.10.2016, 11:27  [ТС]
Вопрос еще актуален...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.10.2016, 11:27
Помогаю со студенческими работами здесь

Bitmap cImage = LoadBitmap(GetModuleHandle(0), MAKEINTRESOURCE(IDB_BITMAP1) error
переменная cImage имеет тип Bitmap, необходимо в нее загрузить изображение .bmp, функция LoadBitmap() возвращает HBITMAP, как избежать...

Копирование определенного текста из файла, копирование и вставка в статичную переменную
Доброго вечера. Делаю программу которая бы выводила погоду на сегодня через данные сайта. Завис на передаче данных с сайта. Как можно...

Excel. Копирование столбца, при заполнении 22-й строки продолжить копирование в соседний столбец
Всем привет. Задача: Есть таблица Excel, заполнены 2 столбца, из них первый - порядковые номера, второй - числа. Нужно: - провести...

Копирование одного текстового файла в другой, используя посимвольное, построчное и поблочное копирование
Здраствуйте, у меня такая проблемма мне надо обеспечить копирование одного текстового файла в другой, используя посимвольное, построчное...

Копирование: Ввод имени папки и копирование из нее файлов
Доброго времени суток! Реально ли реализовать подобное с помощью bat ? Знаю, что можно создать папку с именем, которое можно задать. ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru