Изменение размеров графических файлов

В начало

Изменение размеров .jpeg файлов.

void __fastcall
TForm1::Button1Click(TObject *Sender)
{
 TJPEGImage    *ptJpg=new TJPEGImage;
 Graphics::TBitmap  *ptBmp=new Graphics::TBitmap;
 //Загружаем файл .jpg
 ptJpg->LoadFromFile("a.jpg");
 //Нприсуем исходное изображение
 Canvas->Draw(0,0,ptJpg);
 //Уменьшаем на 3/4
 ptBmp->Width=3*ptJpg->Width/4;
 ptBmp->Height=3*ptJpg->Height/4;
 //Рисуем отмасштабированное изображение на канву
 ptBmp->Canvas->StretchDraw(
    Rect(0,0,ptBmp->Width,ptBmp->Height),ptJpg);
 //Можем нарисовать измененное изображение 
 //(сдвинуто на ptJpg->Width вправо)
 Canvas->Draw(ptJpg->Width,0,ptBmp);
 ptJpg->Assign(ptBmp);
 //Степень сжатия (качество) 1..100
 ptJpg->CompressionQuality = 75;
 ptJpg->Compress();
 //Можно изменить степень сжатия
 ptJpg->SaveToFile("a1.jpg");
 delete ptJpg;
 delete ptBmp;
}

В начало

Изменение размеров .bmp файлов.

void __fastcall
TForm1::Button1Click(TObject *Sender)
{
 Graphics::TBitmap  *tBmp=new Graphics::TBitmap;
 Graphics::TBitmap  *tBmp1=new Graphics::TBitmap;
 tBmp1->LoadFromFile("a1.bmp");
 //Нприсуем исходное изображение
 Canvas->Draw(0,0,tBmp1);
 //Уменьшаем в 2 раза
 tBmp->Width=tBmp1->Width/2;
 tBmp->Height=tBmp1->Height/2;
 //Рисуем отмасштабированное изображение на канву
 tBmp->Canvas->StretchDraw(Rect
   (0,0,tBmp1->Width/2,tBmp1->Height/2),tBmp1);
 tBmp->SaveToFile("a2.bmp");
 Canvas->Draw(0,tBmp1->Width,tBmp);
 delete tBmp;
 delete tBmp1;
}


В начало главы

В начало раздела

Домой


В начало