На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> преобразование jpeg в thumbnail и добавление в CImageList
    ХАЛЛО ПИПЛ! :D

    пытаюсь добавить jpeg картинки в виде пиктограмок в CImageList, но пока тока черные квадратики
    ExpandedWrap disabled
      void CGalleryView::OnLvnItemchangedAlbumList(NMHDR *pNMHDR, LRESULT *pResult)
      {
          
      ..............
       
          if (!mThumbnailImageList.GetSafeHandle())
          {      
              mThumbnailImageList.Create(64, 64, ILC_COLOR24, 1, 1);      
          }
       
          mThumbnailImageList.SetImageCount(0);  
       
          for (int i = 0; i < GetDocument()->GetMyPictureModel()->RowCount(); ++i)
          {
              CBitmap bitmap;
              CImage image;
              // тут загружается jpeg файл
              image.Load(GetDocument()->GetMyPictureModel()->MyPictureFilePath(i));  
              BOOL fOK = bitmap.Attach(image.Detach());
              ASSERT(fOK);
              BITMAP bm;
              bitmap.GetObject(sizeof(bm), &bm);  
              TRACE("bm.bmWidth = %d\n", bm.bmWidth);
              TRACE("bm.bmHeight = %d\n", bm.bmHeight);
       
              CDC srcDC;
              srcDC.CreateCompatibleDC(GetDC());
              srcDC.SelectObject(&bitmap);
       
              CBitmap thumbnail;
              thumbnail.CreateBitmap(64, 64, 1, 24, NULL);
              CDC thumbDC;
              thumbDC.CreateCompatibleDC(GetDC());
              thumbDC.SelectObject(&thumbnail);
              // копируем в масштабе
              thumbDC.SetStretchBltMode(COLORONCOLOR);
              thumbDC.StretchBlt(0, 0, 64, 64, &srcDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
              
              // добавлаем thumbnail в CImageList
              mThumbnailImageList.Add(&thumbnail, RGB(0, 0, 0));
          }
       
          TRACE("image count = %d\n", mThumbnailImageList.GetImageCount());      
          mMyPictureList.SetImageList(&mThumbnailImageList, LVSIL_NORMAL);
       
      // добавляем итемы в CListCtrl
          for (int i = 0; i < mThumbnailImageList.GetImageCount(); ++i)
          {
              CString pictureName = GetDocument()->GetMyPictureModel()->MyPictureFilePath(i);
              mMyPictureList.InsertItem(i, pictureName, i);
          }
      }
       
       
       
      class CGalleryView : public CFormView
      {
      .....
       
      private:
          CImageList mThumbnailImageList;
      }
    Сообщение отредактировано: Cfon -
        все разобрался дело было в операторе
        ExpandedWrap disabled
          thumbnail.CreateBitmap(64, 64, 1, 24, NULL);

        поставил 32 вместо 24 все поканало :D
        ExpandedWrap disabled
          thumbnail.CreateBitmap(64, 64, 1, 32, NULL);

        теперь вместо черных квадратиков иконки размером 64 на 64 :D
        Сообщение отредактировано: Cfon -
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0228 ]   [ 17 queries used ]   [ Generated: 19.04.24, 03:14 GMT ]