Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Pintar a mano alzada (https://www.clubdelphi.com/foros/showthread.php?t=55932)

fasthorse 01-05-2008 21:55:55

Pintar a mano alzada
 
Hola, ¿hay algún método dentro de Builder, que permita dibujar trazos a estilo libre, es decir, como si fuese un lápiz, en un TImage?¿ y algo para una goma de borrar?

Gracias, saludos.

Neftali [Germán.Estévez] 02-05-2008 10:58:21

Pues hace no más de una semana salió el mismo tema.
Basta con acceder al canvas del TImage y "pintar" sobre él. Si utilizas los mátodos del ratón, mouseDown, mouseMove y MouseUp puedes detartar cuando se está "pintando"; a partir de ahí basta con que accedas a Pixels[x,y] del camvas y le asignes el color de pintado. Para la goma lo mismo, pero con el color blanco.

Busca el ejemplo; Puede ser que esté en Delphi, pero no te será difícil entenderlo y pasarloa Builder.

cHackAll 02-05-2008 16:41:29

Hola

fasthorse 02-05-2008 17:01:05

ayy, no encuentro el ejemplo :(...

cHackAll 02-05-2008 17:13:20

Cita:

Empezado por fasthorse (Mensaje 283867)
ayy, no encuentro el ejemplo :(...

Vamos, si hasta el link del hilo te he dejado.

PD; claro si es ése al cual se referia Neftali

Saludos

fasthorse 02-05-2008 17:58:43

ahh, jaja, gracias, y yo pensando que gracioso me dice Hola... jaja, que polvorón tengo!!!!
GRacias.

paladincubano 20-05-2008 12:34:24

te recomiendo que como bien te dijeron arriba. Uses el metodo de onMouseOver, pero en vez del Pixel[x,y], uses el LineTo(X,y) porque con el primero te quedan los puntos separados si dibujas muy rapido.

1-En el evento mouseclick pones este procedimiento MoveTo(X,Y); para llevar el puntero a esa direccion que distes click.
2-En el evento MouseOver controlas que boton esta oprimido y en caso de ser el que quieras pues haces un LineTo(X,Y);


hazlo y dime si te puedo ayudar mas. Yo ya hice eso hace muchos años en una aplicacion que lo requeria.
saludos y suerte.

paladincubano 20-05-2008 12:36:59

Perdona, el el mensaje anterior puse que es el evento MouseOver y en realidad es el evento MouseMove.


La franja horaria es GMT +2. Ahora son las 11:47:11.

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