Interactive drawing of a circle.
::draw_circle produces the parameter for a circle created interactive by the user in the window.
To create a circle you have to press the mouse button at the location which is used as the center of that circle. While keeping the mouse button pressed, the Radius's length can be modified through moving the mouse. After another mouse click in the created circle center you can move it. A clicking close to the circular arc you can modify the Radius of the circle. Pressing the right mousebutton terminates the procedure. After terminating the procedure the circle is not visible in the window any longer.
|
WindowHandle (input_control) |
window -> HTuple.long |
| Window_id. | |
|
Row (output_control) |
circle.center.y -> double * |
| Barycenter's row index. | |
|
Column (output_control) |
circle.center.x -> double * |
| Barycenter's column index. | |
|
Radius (output_control) |
circle.radius -> double * |
| Circle's radius. | |
read_image(&Image,"affe") ; draw_circle(WindowHandle,&Row,&Column,&Radius) ; gen_circle(&Circle,Row,Column,Radius) ; reduce_domain(Image,Circle,&GrayCircle) ; disp_image(GrayCircle,WindowHandle) ;
::draw_circle returns H_MSG_TRUE if the window is valid and the needed drawing mode (see ::set_insert) is available. If necessary, an exception handling is raised.
::reduce_domain, ::disp_region, ::set_colored, ::set_line_width, ::set_draw, ::set_insert
::draw_circle_mod, ::draw_ellipse, ::draw_region
::gen_circle, ::draw_rectangle1, ::draw_rectangle2, ::draw_polygon, ::set_insert
System