Показать полную графическую версию : [решено] Надо написать прогу для сжатия графических файлов
надо написать прогу которая бы сжимала фотки...
подскажите как!!!
Viruss, бесплатным архиватором gzip, bzip и т.д. Исходники все имеются.
А вообще, мы тут не в тему.
Viruss, Выделил в отдельную тему и с языком определитесь? :) На каком писать будем?
Viruss, А обязательно писать, готовые (бесплатные) нельзя использовать?
Contenta-Converter (http://soft.oszone.net/program/6528/Contenta_Converter_BASIC/)
RIOT (http://soft.oszone.net/program/9636/RIOT/)
JBatch_It (http://soft.oszone.net/program/3733/JBatch_It/)
SimSim, Тут может быть другая тонкость. Чтобы научиться писать прогу для сжатия, её нужно написать. :)
прога должна не только сжимать фотки но и отправлять их на FTP сервер с созданием папки с именем учетной записи пользователя. а пишу на С++
как задать путь для сохранения файла???
//сохранение файла...
SavePictureDialog->Execute();
Image->Pictrue->SaveToFile(SavePictureDialog->FileName);
Viruss, В инспекторе объектов есть свойство InitialDir
SavePictureDialog1->InitialDir = "C:" ;
чет не хочет...
пошло... ток надо что бы он не выводил окно, а сохранял сам в указанное место!
Drongo, SavePictureDialog1->InitialDir = "C:" ; ... работает только на корневой каталог, а если прописать более длинный адрес она(прога) уже его не понимает.
и нет ли варианта чтобы прога сама создавала папку если ее нет???
Как создать папку, в С++, при сохранении файла?
И всеже, кто подскажет какой функцией можно сжать файл формата *.JPG в С++?
помоите!!!!
Прописываю:
SPD->InitialDir="D:\\GR2";
SPD->FileName=NameFoto->Text+".jpg";
Image1->Picture->SaveToFile(SPD->FileName);
но прога сохраняет в то место, откуда была открыта картинка...
прога работает если добавить:
SPD->Execute();
но тогда прога выкидывает окно для сохранения, а этого не надо!!!
как сделать так что бы прога сохраняла файл по указанному пути и не выводила окна???
между фотками надо переключаться, хочу использовать компонент UpDown вкладка Win32, подскажите каким оператором пользоваться...
помогите, очень надо....
Есть текст:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TJPEGImage *ptJpg=new TJPEGImage;
Graphics::TBitmap *ptBmp=new Graphics::TBitmap;
ptJpg->LoadFromFile("a.jpg"); //Загружаем файл .jpg
Canvas->Draw(0,0,ptJpg); //Нприсуем исходное изображение
ptBmp->Width=3*ptJpg->Width/4; //Уменьшаем на 3/4
ptBmp->Height=3*ptJpg->Height/4;
ptBmp->Canvas->StretchDraw(Rect(0,0,ptBmp->Width,ptBmp->Height),ptJpg); //Рисуем отмасштабированное изображение на канву
Canvas->Draw(ptJpg->Width,0,ptBmp); //Можем нарисовать измененное изображение //(сдвинуто на ptJpg->Width вправо)
ptJpg->Assign(ptBmp);
ptJpg->CompressionQuality = 75; //Степень сжатия (качество) 1..100
ptJpg->Compress();
ptJpg->SaveToFile("a1.jpg"); //Можно изменить степень сжатия
delete ptJpg;
delete ptBmp;
}
Все работает правильно, но один касяк... ptJpg->LoadFromFile("a.jpg"); - эта функция воспринимает только имя файла, а если прописать путь к файлу, она работает некорректно.
Помогите!!!!!!!!!!!!!!
а если прописать путь к файлу, она работает некорректно. »Путь прописывается через двойной слеш, например:
C:\\MyFolder\\Test\\a.jpg
void __fastcall TForm2::OtpClick(TObject *Sender)
{
FTP->UserID="xxx";
FTP->Password="xxx";
SPD->InitialDir="ftp://10.112.56.2//proga";
FTP->Host="ftp://10.112.56.2";
FTP->Connect();
FTP->ChangeDir("IT");
}
SPD->FileName=NameFoto->Text+".jpg";
Image1->Picture->SaveToFile(SPD->FileName);
FTP->Disconnect();
Кода проа пытыеться приконектиться к FTP... выкидывает ошибку...
подскажите.... может для работы с FTP сервером какую-нибудь библиотеку надо подключить???
Вот для примера простой код который работает.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
FTP->Host="XXX.XXX.XXX.XXX";
FTP->Username="user";
FTP->Password="password";
FTP->Connect();
FTP->Put("C:\\1.jpg", "1.jpg", 0);
ShowMessage("Done");
}
Писал в билдере. Использовал компонент TIdFTP... Вот и всё...
Есть прога, которая сжимает фото и отправляет на FTP сервер...
TJPEGImage *ptJpg=new TJPEGImage;
Graphics::TBitmap *ptBmp=new Graphics::TBitmap;
ptJpg->LoadFromFile(OPD1->FileName); //Загружаем файл .jpg
ptBmp->Width=1.6*ptJpg->Width/4; //Уменьшаем на 1/4
ptBmp->Height=1.6*ptJpg->Height/4;
ptBmp->Canvas->StretchDraw(Rect(0,0,ptBmp->Width,ptBmp->Height),ptJpg); //Рисуем отмасштабированное изображение на канву
ptJpg->Assign(ptBmp);
ptJpg->CompressionQuality = 50; //Степень сжатия (качество) 1..100
ptJpg->Compress();
puut=SPD->FileName+".jpg";
ptJpg->SaveToFile(SPD->FileName+".jpg"); //Можно изменить степень сжатия
delete ptJpg;
delete ptBmp;
фотография после сжатия сохраняется в ту же папку, откуда был оригинал...
а надо что бы она сохранялась в папку C:\TEMP. И после всех дествий необходимо очистить данную папку...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.