###############################################################################
# BizDesign ImageFolio Lite Edition 4.2 (Four-dot-Two)
###############################################################################
#
#          ##          ###        VERSION       :  4.2
#        ####        ##   ##      RELEASED ON   :  02/15/2007
#      ##  ##              ##     LAST MODIFIED :  02/15/2007
#    ##########          ##       
#          ##   ###    ##         
#          ##   ###  ########     
#
###############################################################################
# Released by BizDesign, Inc.
# written by Dirk Koppers and Greg Raaum of BizDesign
#
# Purchasing :  http://imagefolio.com/purchase/
# Support    :  http://imagefolio.com/support/
# Phone      :  (214) 642-9787
# Email      :  sales@bizdesign.com
###############################################################################
# COPYRIGHT AND LICENSE INFORMATION :
#
# Copyright (c) 1999-2007 BizDesign, Inc. All rights reserved.
#
# Selling or distributing the code for this program without prior written
# consent is expressly forbidden.
#
# One licensed copy of the program may reside on a single server, in use by a
# single domain.  For each installed instance of the program, a separate
# license is required.
#
# Licensed users may alter or modify this software, at their own risk, of
# course.  They may also hire others to modify their own copy of the code, as
# long as the code is not transferred to or retained by the individual who is
# hired (unless he/she is also a license holder). Although license-holders
# may modify the code for their use, modified code may NOT be resold or
# distributed.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BIZDESIGN,
# INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# BizDesign, Inc. is not liable for any conduct associated with image gallery
# activity, nor for any binary media posted using this program, including but
# not imited to images, photographs, movies, and clipart.
#
# The user must assume the entire risk of using the program.  Although this
# program has been thoroughly tested on BizDesign's servers, BizDesign does not
# warrant that it works on all servers and will not be held liable for anything,
# including but not limited to, misusage, error, or loss of data.  ANY
# LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT
# OR REFUND OF PURCHASE PRICE.  Use at your own risk!
###############################################################################
# Do not modify below this line unless you know what you are doing.
###############################################################################

use Image::Magick;

sub do_im {
   my ($im_path_to_in, $im_path_to_out, $im_resize, $im_quality, $im_sharpen, $im_contrast, $im_crop) = @_;
   $ImageGeometry = $im_resize . 'x' . $im_resize . '>';
   if ($im_sharpen > 1 or !$im_sharpen) {
      $im_sharpen = (100-$im_sharpen)/100;
   }
   my $image = Image::Magick->new();
   $i = $image->Read($im_path_to_in);                                           &Error("Error Reading Image: $i") if $i;
#  $i = $image->Scale(geometry=>$ImageGeometry);                                &Error("Error Scaling Image: $i") if $i;
   $i = $image->Resize(geometry=>$ImageGeometry,blur=>$im_sharpen);             &Error("Error Resizing Image: $i") if $i;
   if ($im_crop) { $i = $image->Crop($im_crop);                                 &Error("Error cropping thumbnail: $i") if $i; }
   $i = $image->Set(quality=>$im_quality);                                      &Error("Error Setting Quality: $i") if $i;
   $i = $image->Set(colorspace=>'RGB');                                         &Error("Error Setting Colorspace: $i") if $i;
   if ($im_contrast)   { $i = $image->Contrast(sharpen=>$im_contrast);          &Error("Error Applying Contrast: $i") if $i; }
#  if ($im_sharpen)  { $i = $image->Sharpen(factor=>$im_sharpen);               &Error("Error Applying Sharpness: $i") if $i; }
   $i = $image->Write(filename=>$im_path_to_out);                               &Error("Error Writing Image: $i") if $i;
   undef $image;
   undef $i;
}



1;
