Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Achicar el area dibujable de un canvas (https://www.clubdelphi.com/foros/showthread.php?t=28755)

elcigarra 31-12-2005 12:14:48

Achicar el area dibujable de un canvas
 
Supongan que tengo el Canvas de un control.

Quiero dibujar dentro de el una secuencia de lineas que crucen el canvas el alguna dirección predeterminada con "moveto" y "lineto".

El motivo de mi pregunta es que quiero que estas lineas dejen dentro del canvas un marco de 2 pixels, es decir, que no importa donde la linea empiece y/o termine (aun fuera del canvas), lo que se modifique en la superficie del canvas sea siempre más allá del borde de 2 pixels. Algo asi como el OffsetRect pero que además se achique.

Es posible esto?

elcigarra 31-12-2005 12:35:31

mas claramente
 
Me refiero a algo como:

Canvas.ClipRect := Bounds(5,5,Width-5, Height-5), cosa que no puedo hacer porque la propiedad cliprect del canvas es Read-Only;

elcigarra 31-12-2005 17:25:19

me contesto yo solo...
 
Para mi y para el que le interese, la respuesta (puede que haya que pulir un poco) es:
Código Delphi [-]
SelectClipRgn(Canvas.Handle,CreateRectRgn(Left+2,Top+2,Left+Width-2,Top+Height-2));

Gracias por el esfuerzo ;)


La franja horaria es GMT +2. Ahora son las 06:36:24.

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