ZOOM Image Zoom Function
Section: Handle-Based Graphics
Usage
This function changes the zoom factor associated with the currently active image. It is a legacy support function only, and thus is not quite equivalent to thezoom
function from previous versions of FreeMat. However, it should
achieve roughly the same effect. The generic syntax for its use is
zoom(x)
where x
is the zoom factor to be used. The exact behavior of the zoom
factor is as follows:
-
x>0
The image is zoomed by a factorx
in both directions. -
x=0
The image on display is zoomed to fit the size of the image window, but the aspect ratio of the image is not changed. (see the Examples section for more details). This is the default zoom level for images displayed with theimage
command. -
x<0
The image on display is zoomed to fit the size of the image window, with the zoom factor in the row and column directions chosen to fill the entire window. The aspect ratio of the image is not preserved. The exact value ofx
is irrelevant.
Example
To demonstrate the use of thezoom
function, we create a rectangular image
of a Gaussian pulse. We start with a display of the image using the image
command, and a zoom of 1.
--> x = linspace(-1,1,300)'*ones(1,600); --> y = ones(300,1)*linspace(-1,1,600); --> Z = exp(-(x.^2+y.^2)/0.3); --> image(Z); --> zoom(1.0);
At this point, resizing the window accomplishes nothing, as with a zoom factor
greater than zero, the size of the image is fixed.
If we change the zoom to another factor larger than 1, we enlarge the image by
the specified factor (or shrink it, for zoom factors 0 < x < 1
. Here is the
same image zoomed out to 60%
--> image(Z); --> zoom(0.6);
Similarly, we can enlarge it to 130%
--> image(Z) --> zoom(1.3);
The ``free'' zoom of x = 0
results in the image being zoomed to fit the window
without changing the aspect ratio. The image is zoomed as much as possible in
one direction.
--> image(Z); --> zoom(0); --> sizefig(200,400);
The case of a negative zoom x < 0
results in the image being scaled arbitrarily.
This allows the image aspect ratio to be changed, as in the following example.
--> image(Z); --> zoom(-1); --> sizefig(200,400);