Как из больших *.jpg & *.gif сделать thumbnail ?
От: Odessa  
Дата: 05.06.02 15:16
Оценка:
Как из больших *.jpg & *.gif сделать thumbnail маленькие картинки что бы их разместить в Интернет?
Программно. Я пишу на Microsoft Visual C++ 6.0!
Respect For You!
Re: Как из больших *.jpg & *.gif сделать thumbnail ?
От: visitant Украина  
Дата: 06.06.02 06:33
Оценка: 11 (2)
GDI+
Graphics graphics(hdc);


Image image(L"Large.jpg");
Image* pThumbnail = image.GetThumbnailImage(100, 100, NULL, NULL);
/*
graphics.DrawImage(pThumbnail, 10, 10, 
   pThumbnail->GetWidth(), pThumbnail->GetHeight());
*/
CLSID imgClsid;
GetEncoderClsid(L"image/jpeg", &imgClsid);
pThumbnail->Save(wPath, &imgClsid, NULL);

delete pThumbnail;
Re[2]: Как из больших *.jpg & *.gif сделать thumbnail ?
От: visitant Украина  
Дата: 06.06.02 11:09
Оценка:
И если кто не нашёл (не найдёт ) код GetEncoderClsid() в МСДН

  int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
  {
     UINT  num = 0;          // number of image encoders
     UINT  size = 0;         // size of the image encoder array in bytes

     ImageCodecInfo* pImageCodecInfo = NULL;
     GetImageEncodersSize(&num, &size);
     if(size == 0)
        return -1;  // Failure

     pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
     if(pImageCodecInfo == NULL)
        return -1;  // Failure
     GetImageEncoders(num, size, pImageCodecInfo);
     for(UINT j = 0; j < num; ++j)
     {
       if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
       {
         *pClsid = pImageCodecInfo[j].Clsid;
         free(pImageCodecInfo);
         return j;  // Success
       }    
     }
     free(pImageCodecInfo);
     return -1;  // Failure
  }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.