stringbox — Compute the bounding rectangle of a text or a label.
rect = stringbox( string, x, y, [angle, [fontStyle, [fontSize]]] ) rect = stringbox( Handle )
a 2x4 matrix containing the 4 vertex coordinates of the bounding rectangle.
string matrix to be enclosed.
real scalars, coordinates of the lower left point of strings.
Rotation angle of the string clockwise and in degrees around
the (x,y)
point.
integer specifying the type of the font.
integer specifying the size of the font.
a graphic handle of Text or Label type.
stringbox
returns the bounding rectangle vertices of a
text or label object or a string which will be displayed with a certain
way. the coordinates are given with the current graphic scale. the first
vertex correspond to the text coordinates (x,y)
, the lower
left point without rotation, the following vertex are given clockwise in
the resulting matrix.
The result migth not be very accurate with PostScript driver.
// show axes axes = gca() ; axes.axes_visible = 'on' ; axes.data_bounds = [ 1, 1 ; 10, 10 ] ; // display a labels for axes xtitle( 'stringbox', 'X', 'Y' ) ; // get the bounding box of X label stringbox( axes.x_label ) // draw a string str = [ "Scilab", "is" , "not", "Skylab" ] ; xstring( 4, 9, str ) ; //modify the text e = gce() ; e.font_angle = 90 ; e.font_size = 6 ; e.font_style = 7 ; e.box = 'on' ; // get its bounding box stringbox( e ) // or rect = stringbox( str, 4, 9, 90, 7, 6 ) // click and find if the text was hit hit = xclick() ; hit = hit( 2 : 3 ) ; if hit(1) >= rect(1,1) & hit(1) <= rect(1,2) & hit(2) <= rect(2,2) & hit(2) >= rect(2,3) then disp('You hit the text.') ; else disp('You missed it.') end;