Вот написал на С++ Builder, но немогу понять как сохранить в файл отрезанный от изображения фрагмент.
т.е получаю не тот результат... если вывожу на форму то все как надо отрисовывается вырезанный кусок....а вот если сохраняю в файл то получаю ту часть которая отсеклась,а вместо отразанного куска белое пространство, как буд-то белым брашем заполнено.
Может у кого есть пример как сохранить вырезанный кусок...очень нужно...один бъюсь и не могу понять...msdn перерыл clipping functions....очень буду рад помощи.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HRGN MyRgn;
MyRgn= CreateEllipticRgn(10, 10, 200, 200);
Graphics::TBitmap *BrushBmp = new Graphics::TBitmap;
Graphics::TBitmap *CopyBmp = new Graphics::TBitmap;
try
{
BrushBmp->LoadFromFile("C:\\2.bmp");
Canvas->Brush->Bitmap =BrushBmp;
if ((SelectClipRgn(Canvas->Handle, MyRgn))==ERROR)
{
ShowMessage("ERROR");
}
PaintRgn (Canvas->Handle, MyRgn);
CopyBmp->SaveToFile("c:\\ter.bmp");
Canvas->Brush->Bitmap->SaveToFile("c:\\no.bmp");
SelectClipRgn(Canvas->Handle, NULL);
}
__finally {
Canvas->Brush->Bitmap = NULL;
BrushBmp->Free();
}
}
07.05.07 16:26: Перенесено модератором из 'Алгоритмы' — Кодт
Здравствуйте, DENiro, Вы писали:
DEN>Вот написал на С++ Builder, но немогу понять как сохранить в файл отрезанный от изображения фрагмент.
DEN>т.е получаю не тот результат... если вывожу на форму то все как надо отрисовывается вырезанный кусок....а вот если сохраняю в файл то получаю ту часть которая отсеклась,а вместо отразанного куска белое пространство, как буд-то белым брашем заполнено.
DEN>Может у кого есть пример как сохранить вырезанный кусок...очень нужно...один бъюсь и не могу понять...msdn перерыл clipping functions....очень буду рад помощи.
DEN>DEN>void __fastcall TForm1::Button1Click(TObject *Sender)
DEN>{
DEN>HRGN MyRgn;
DEN>MyRgn= CreateEllipticRgn(10, 10, 200, 200);
DEN> Graphics::TBitmap *BrushBmp = new Graphics::TBitmap;
DEN> Graphics::TBitmap *CopyBmp = new Graphics::TBitmap;
DEN> try
DEN> {
DEN> BrushBmp->LoadFromFile("C:\\2.bmp");
DEN> Canvas->Brush->Bitmap =BrushBmp;
DEN> if ((SelectClipRgn(Canvas->Handle, MyRgn))==ERROR)
DEN> {
DEN> ShowMessage("ERROR");
DEN> }
DEN> PaintRgn (Canvas->Handle, MyRgn);
DEN> CopyBmp->SaveToFile("c:\\ter.bmp");
DEN> Canvas->Brush->Bitmap->SaveToFile("c:\\no.bmp");
DEN> SelectClipRgn(Canvas->Handle, NULL);
DEN> }
DEN> __finally {
DEN> Canvas->Brush->Bitmap = NULL;
DEN> BrushBmp->Free();
DEN> }
DEN>}
DEN>
Я для этой цели исп. библиотеку "Graphics File Library, xnview.com".
Если будут затруднения, пиши vtur@bigmir.net