Afin de dessiner des rectangles, j'utilise un TImage inscrit dans une Scrollbox.
hors, si point.X+100 est supérieur à l'image, il me manque un bout du dessin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 point:=Im.ScreenToClient(Mouse.CursorPos); Im.Canvas.Brush.Color:=clYellow; Im.Canvas.Pen.Color:=clRed; Im.Canvas.Rectangle(point.X,point.Y,point.X+100,point.Y+80);
Pour éviter ça, je retaille l'image:
Je constate que l'image est redimensionnée, mais le rectangle est toujours incomplet (malgré Refresh/Repaint de l'image)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if Im.Width<point.X+110 then begin Im.Width:=Max(Im.Width,point.X+110); Im.Height:=Max(Im.Height,point.Y+90); end;
Donc, le pb doit venir du TCanvas qui ne "s'étend" pas (?)
Comment faire pour retailler le TCanvas aux dimensions du TImage ?
Partager