Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод изображения из файла, вывод jpg, gif, png из файлов 
:(
    Опции темы
Rain789
  Дата 26.1.2011, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 26.1.2011
Где: Казань

Репутация: нет
Всего: нет



Как реализовать на C++ открытие файлов jpg, png и gif через CFileDialog и их отображение в специальной области в главном диалоговом окне (например, по-середине 320х240), при условии что приложение создаётся через MFC AppWizard (MS Visual Studio 2010).
Код

    CFileDialog File(TRUE);
    File.DoModal();
    CClientDC dc(this);
    CBitmap bb;
    bb.LoadBitmapW(File.GetPathName());
    dc.SetViewportOrg(100, 100);
    dc.DrawState(CPoint(0, 0), CSize(320, 240), &bb,
        DST_BITMAP | DSS_NORMAL, (CBrush*)NULL);

Думал так получиться, а нет, не работает. Догадываюсь что такой способ работает только для BMP, и то если место "File.GetPathName()" вписать ID bmp-ресурса.

Пробовал ещё через CImage (он должен поддерживать необходимые форматы):
Код

void CIMAGEDlg::OnBnClickedBrowse()
{
    CFileDialog File(TRUE); // открываем стандартный диалог
    File.DoModal();
    CImage img; // создали img
    img.Load(File.GetPathName()); // загрузили файл
..... // рисуем
}


В последнем случае интересует вопрос как нарисовать?
Я надеюсь правильно написал код. Хотя подозреваю что рисовать нужно в ::OnDraw или ::OnPaint.
Подскажите пожалуйста простейший способ решения такой проблемы.
Заранее спасибо.

Это сообщение отредактировал(а) Rain789 - 27.1.2011, 16:18
PM MAIL WWW ICQ Skype   Вверх
Rain789
  Дата 27.1.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 26.1.2011
Где: Казань

Репутация: нет
Всего: нет



Проблема решена через CImage.

Путём добавления myStatic.Create()  в ::OnInitDialog().
И добавление:
Код

void CIMAGEDlg::OnBnClickedBrowse()
{
    CFileDialog File(TRUE); // открываем стандартный диалог
    File.DoModal();
    CImage img; // создали img
    img.Load(File.GetPathName()); // загрузили файл
    // рисуем
    myStatic.SetBitmap((HBITMAP)img);
}


Спасибо Jeka_T.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0375 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.