Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2012
Comandant Comandant is offline
Miembro
NULL
 
Registrado: ago 2012
Ubicación: Salta
Posts: 34
Poder: 0
Comandant Va por buen camino
Canvas dolor de cabeza+helpme

Hola a todos este es mi primer post asi que espero hacerme entender.
Bien mi problema radica en que quiero copiar un canvas que creo en una imagen. Bien ya esta casi todo menos la ubicación exacta del canvas origen que aun no he podido resolver, ya que en el canvas destino me sale corrido. Desde ya muchas gracias.
//Creo k se puede probar al tok poniendo un timage y sus respectivos eventos.

Código:
...
public
var
alto, ancho, StartX, StartY : integer;
...
procedure TForm1.imagenMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
begin
//para sakar el inicio del canvas
StartX:= X;
StartY:= Y;
end;


procedure TForm1.imagenMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  Origen, Destino, R: TRect;
begin
//realizar el canvas
Canvas.Brush.Style:= bsClear;
  with Canvas do
  begin
    R.Left := StartX;
    R.Top := StartY;
    R.Right := x;
    R.Bottom := y;
    Canvas.Rectangle(R);
    Origen:= R;
    Destino.Left := 0;
    Destino.Top := 0;
    Destino.Right := ancho;
    Destino.Bottom := alto;
    CopyRect( Destino, Imagen.Canvas, Origen );
  end;
end;


procedure TForm1.imagenMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
arriba, abajo, izquierda, derecha: integer;
begin
//para sakar el alto y el ancho
  if ssLeft in Shift then { make sure button is down }
  begin
    if Y > StartY then
      begin
      abajo:= Y;
      arriba:= StartY;
      end
    else
      begin
      arriba:= Y;
      abajo:= StartY;

      end;
    if X > StartX then
      begin
      izquierda:= StartX;
      derecha:= X;
      end
    else
      begin
      izquierda:= X;
      derecha:= StartX;
      end;
      alto:= abajo - arriba;
      ancho:= derecha - izquierda;
  end;
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
helpme Luis21 .NET 4 09-10-2007 18:37:10
El famoso dolor de cabeza. marcoszorrilla La Taberna 0 25-01-2007 23:01:59
Ventanas,Ventanas Mdi=Dolor de cabeza ? IVAND Varios 7 08-05-2006 17:27:24
Mi dolor de cabeza !3d1@n Impresión 3 20-01-2005 21:21:11
DBListBox y mi dolor de cabeza JFdez Conexión con bases de datos 2 03-08-2004 18:11:30


La franja horaria es GMT +2. Ahora son las 12:08:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi