Chapter Contents |
Previous |
Next |
Image Data Model: _copy |
Syntax | |
Details | |
Example |
Syntax |
CALL SEND (source-object-id, '_copy', destination-object-id); |
Argument | Type | Description |
---|---|---|
source-object-id |
N | the identifier of the image to be copied |
destination-object-id |
N | the identifier of the destination image |
Details |
You must define the destination object with the LOADCLASS and INSTANCE functions before applying the _copy method. Because _copy creates another copy of the image in memory, you should delete the destination object when you are finished using it.
Example |
This example reads in an image, scales it to 400×400, and stores it as a GIF file. A copy of the image is then scaled to a 48×48 black-and-white image, and stored as a compressed TIFF file.
init: image_class = loadclass('sashelp.fsp. imgdat.class'); filename='/usr/images/color/sign.gif'; link process; return; process: src_object = instance(image_class); call send(src_object, '_read', filename); link icon; call send(src_object, '_scale', 400, 400); call send(src_object, '_write', 'scale400.gif', 'format=gif'); return; /* Copy the source image object to a temporary object to */ /* manipulate it. This allows us to process the same image twice */ /* without having to reread it from disk each time. Note that if */ /* the 'icon' routine were to be called more than once, it would */ /* be more efficient to create only a single 'temp_object' in the */ /* init code and reuse it each time instead of creating a new */ /* instance each time. */ icon: temp_object = instance(image_class); call send(src_object, '_copy', temp_object); call send(temp_object, '_scale', 48, 48); call send(temp_object, '_ditherBw'); call send(temp_object, '_write', 'icon.tif', 'format=tiff compress=g3fax'); call send(temp_object, '_term'); return;
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.