...так как время не ждет решил съеврейничать и немного погуглив нашел пример который мог бы мне помочь. Суть заключается в том чтобы на Image1 выводилась либо левая половина картинки либо правая. Но сама картинка в формате jpeg.
Делаю так
void __fastcall TForm1::Image1Click(TObject *Sender)
{
TJPEGImage *jpg = new TJPEGImage();
jpg->LoadFromFile("pic.jpg");
Graphics::TBitmap *bmp = new Graphics::TBitmap();
bmp->Assign(jpg);
TRect rect;
if (Image1->Tag==1)
{
rect = TRect (0, 0, bmp->Width/2, bmp->Height);
Image1->Tag=0;
Shape1->Brush->Color = clGray;
}
else
{
rect = TRect (bmp->Width/2, 0, bmp->Width, bmp->Height);
Image1->Tag=1;
Shape1->Brush->Color = clRed;
}
TRect rect2 = TRect (0, 0, Image1->Width, Image1->Height);
Image1->Canvas->CopyRect(rect2,bmp->Canvas,rect);
delete jpg;
jpg = NULL;
delete bmp;
bmp = NULL;
}
но после этого картинка портится
как этого избежать есть ли способ отрезать ее не переводя в Bitmap но только желательно без использования сторонних библиотек компонентов и тд