Hola gente bueno les escribo porq estoy intentando cortar una imagen y tengo un pequeño problema..
La imagen que uso esta en un TImage con propiedad Stretch=true.
Yo uso un codigo para que cuando hago la seleccion me dibuje un rectangulo en la pantalla y que cuando termina la seleccion recorte usando las coordenadas del rectangulo q se dibujo.
El problema es que cuando uso la propiedad strectch en true el rectangulo que recorta en realidad no se corresponde con lo que seleccione.. Supongo que se debe a que la funcion Canvas::CopyRect al usar un objeto TBitmap al que se le asigna el graphic de un Tpicture utiliza las medidas del TPicture y no del TCanvas. Porque cuando uso una imagen q no esta estirada anda perfecto..
Alguna idea??
Les dejo el codigo q use.
Image2 es la imagen fuente
y juntas es la imagen en donde aparece el rectangulo q quiero seleccionar
void __fastcall TForm1::Image2MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (Dragging)
{
Canvas->DrawFocusRect(DrawRect);
DrawRect.right = X;
DrawRect.bottom = Y;
Canvas->DrawFocusRect(DrawRect);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Dragging = true;
DrawRect.left = X;
DrawRect.top = Y;
DrawRect.right = X;
DrawRect.bottom = Y;
Canvas->DrawFocusRect(DrawRect);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Dragging) {
Dragging = false;
Canvas->DrawFocusRect(DrawRect);
Graphics::TBitmap* bmp = new Graphics::TBitmap();
bmp->Height = Image2->Height;
bmp->Width = Image2->Width;
bmp->Assign(Image2->Picture->Graphic);
juntas->Canvas->CopyRect(Rect(0, 0, juntas->Width, juntas->Height), bmp->Canvas, DrawRect);
}
}
Desde ya gracias