Programación General > C++ Builder
Cortar una imagen stretch
(1/1)
gonzalipto:
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
--- Código: C++ --- 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
Navegación
Ir a la versión completa