seg_r |
Отправлено: 28.06.2003, 12:02 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 74
|
Нужно открыть jpg файлик в Bitmap, чтобы обработать(редактировать) и потом сохранить тоже в jpg.
Спасибо. |
|
RedMammoth |
Отправлено: 28.06.2003, 21:43 |
|
Не зарегистрирован
|
Вот пример моей проги, которая преобразует все bmp в каталоге в jpg. Разберись, тут уж и до твоей задачи рукой подать! :-)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Path;
if(SelectDirectory(Path, TSelectDirOpts(), 0))
{
TSearchRec sr;
const int attr = faAnyFile & ~faVolumeID & ~faDirectory;
for(int res = FindFirst(Path+"\\*.bmp", attr, sr); res == 0; res = FindNext(sr))
{
Graphics::TBitmap* bmp = new Graphics::TBitmap;
TJPEGImage* jpg = new TJPEGImage;
try
{
bmp->LoadFromFile(Path+"\\"+sr.Name);
jpg->CompressionQuality = CQ->Position; // слайдер
jpg->Assign(bmp);
jpg->Compress();
jpg->SaveToFile(ChangeFileExt(Path+"\\"+sr.Name,".jpg"));
}
__finally
{
delete bmp;
delete jpg;
}
}
FindClose(sr);
}
}
|
|
Admin |
Отправлено: 30.06.2003, 13:47 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Кстати, а вот конвертация из bmp в jpeg:
CODE |
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <graphics.hpp>
#include <jpeg.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TJPEGImage* JPEG = new TJPEGImage();
Graphics::TBitmap* Bitmap = new Graphics::TBitmap();
try{
Bitmap->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
JPEG->Assign(Bitmap);
Image1->Picture->Assign((TPersistent*)JPEG);
Image1->Picture->SaveToFile("c:\\Factory.jpg");
}
__finally { JPEG->Free(); Bitmap->Free(); }
}
//---------------------------------------------------------------------------
|
Отредактировано Admin — 30 Jun 2003, 13:47
|
|