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

[0] Índice de Mensajes

Ir a la versión completa