FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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; |
#2
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Recuerda poner los tags correctos al código fuente, ejemplo: Y no olvides poner títulos descriptivos a tus preguntas, sirven luego para las búsquedas y ordenar los temas: "canvas dolor de cabeza+helme" no es ningún título descriptivo sobre lo que preguntas. Gracias |
#3
|
|||
|
|||
Ok perdon no volvera a pasar, creo que no se puede editar titulo y aun así no se me ocurre ninguno jeje. Copiar selección del canvas a otro canvas se me ocurre
|
#4
|
||||
|
||||
Bueno, no te preocupes, es tu primer mensaje en estos foros y es normal que no lo supieras.
Lo del título sirve, entre otras cosas, porque al final de esta página aparecen enlaces con términos similares y puede que alguno sea lo que buscas. En este caso, como puedes ver, han salido enlaces que no sirven para nada, al igual que el titulo que has puesto. Creo que lo que quieres es copiar una imagen, supongo que de un TImage a otro sitio, a ver si alguien puede echarte una mano con eso. Saludos. |
#5
|
||||
|
||||
Creo que es esto lo que quieres hacer:
Saludos. |
#6
|
|||
|
|||
Hola nuevamente, agradezco por su atención y estoy en deuda, aunque hoy estuve viendo mi código y me anduvo muy bien, nose porque la otra vez no me dio el resultado esperado me quede pensando en el porque?, Bien escafandra tu código es lo mismo que el mio nada mas que mas simplificado y me diste nuevas ideas con el valor absoluto, porque había probado de sumar a su left el width de un elemento dado y a veces me daba excepciones por el número negativo, dejo avisando que ambos códigos tienen un problema y es que cuando haces un rectángulo de derecha a izquierda da como un resultado final una imagen tipo espejo, no creo que sea muy difícil de solucionar así que me pondré a trabajar. Desde ya muchas Gracias
Aqui esta código final para los que lo quieran, obviamente el resto ya lo saben...
Última edición por Comandant fecha: 29-08-2012 a las 19:38:03. |
#7
|
||||
|
||||
Cita:
Saludos. |
|
|
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 |
|