CAD::Drawing::Manipulate::Graphics 0.26 review
DownloadCAD::Drawing::Manipulate::Graphics - Gimp meets CAD. Methods All of these are CAD::Drawing methods (I force my own inheritance:
|
|
CAD::Drawing::Manipulate::Graphics - Gimp meets CAD.
Methods
All of these are CAD::Drawing methods (I force my own inheritance:)
image_init
Initialize the image at $addr based on the value at the fullpath key. This establishes the contained Image::Magick object and loads the image into memory in the image_handle key.
$drw->image_init($addr);
image_crop
Crops an image and its definition (actually, changes its insert point) according to the points given by @crop_points (which maybe had better be within the object (but I don't really sweat that.))
@crop_points should be in world coordinates as follows:
@crop_points = (
[$lower_left_x , $lower_left_y ],
[$upper_right_x, $upper_right_y],
);
# note that you can get these as
# ($drw->getExtentsRec($something))[0,2]
$drw->image_crop($addr, @crop_points);
image_scale
Scales both the image and the definition by $scale, starting at @base_point.
$drw->image_scale($addr, $scale, @base_point);
image_rotate
This leaves the definition orthoganal, expands the underlying image object, and resets the insert point and size properties accordingly.
$drw->image_rotate($addr, $angle, @point);
The current implementation does not handle the change to the image clipping boundary.
image_swap_context
This involves a scaling of the image (the contexts should be aligned over each other at this point or everything will go to hell.) Do your own move / rotate / crop before calling this, because all this does is to scale the underlying image object such that the vec property of the image definition at $dest_addr can be used correctly.
Note that this does not "swap" the image to $dest_addr, rather it uses the image definition of $dest_addr to change the image object and definition at $source_addr.
Also note that the image must fit completely inside (I think) of the destination in order for the composite to work correctly.
$drw->image_swap_context($source_addr, $dest_addr);
Requirements:
Perl
CAD::Drawing::Manipulate::Graphics 0.26 search tags