Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменить размер JPG, И сохранить 
:(
    Опции темы
Andrey44
Дата 20.5.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Всем привет.
Надо изменить разрешение jpg файла, и сохранить его с новым размером.
Кто знает с помощью чего это можно сделать? smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Andrey44
Дата 20.5.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Что, никто никогда не сталкивался с подобным?
Я делаю вот так:
Код

int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
    UINT  num = 0;          
    UINT  size = 0;         
    GetImageEncodersSize(&num, &size);
    if(size == 0)
        return -1;  
    ImageCodecInfo* pImageCodecInfo = (ImageCodecInfo*)malloc(size);
    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;
        }    
    }
    free(pImageCodecInfo);
    return -1;
}

Код

void ModePatientInfo::OnSave()
{
    CLSID   encoderClsid;
    Image* imageLoad = Image::FromFile(_T("D:\\Photo\\100_0265.JPG"));
    GetEncoderClsid(_T("image/jpeg"), &encoderClsid);
    Bitmap* imageSave =(Bitmap*)imageLoad->GetThumbnailImage(640, 480);// <--размер
    assert(imageSave!=NULL);
    if(imageSave->Save(_T("d:\\Photo\\www.jpg"), &encoderClsid, NULL)==Ok)
        _tprintf(_T("Image saved\n"));
    delete imageLoad;
    delete imageSave;

}

Все работает, но качество сжатого изображения очень и очень плохое.
 smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Rififi
Дата 20.5.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

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



делаю подобные вещи через ImageMagick (ибо у меня не только ресайз), жалоб нет.
PM MAIL   Вверх
Andrey44
Дата 21.5.2009, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



Rififi, как я понял своими силами никак?
Только сторонняя библа?


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
DrHex
Дата 26.5.2009, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 2.5.2009

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



Andrey44  - не смог написать сам посмотри исходники либа open source(правда если мне память не ошибает в С стиле)
--------------------
google.com и это все.
PM MAIL   Вверх
Andrey44
Дата 26.5.2009, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

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



DrHex, да спасибо, уже нашел.


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


 




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


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

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