wp/wp-content/themes/IN-MOTION-package-u1/in-motion/functions/crop.php
author ymh <ymh.work@gmail.com>
Thu, 07 Nov 2013 00:08:07 +0000
changeset 1 f6eb5a861d2f
parent 0 d970ebf37754
permissions -rwxr-xr-x
remove unnessary files. Make timthumb work
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
header ("Content-type: image/jpeg");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
$file_name=$_GET['f'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
$crop_height=$_GET['h'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
$crop_width=$_GET['w'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
$file_type= explode('.', $file_name);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
$file_type = $file_type[count($file_type) -1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
$file_type=strtolower($file_type);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
$original_image_size = getimagesize($file_name);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
$original_width = $original_image_size[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
$original_height = $original_image_size[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
if($file_type=='jpg')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
$original_image_gd = imagecreatefromjpeg($file_name);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
if($file_type=='gif')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
{ $original_image_gd = imagecreatefromgif($file_name);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
if($file_type=='png')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
$original_image_gd = imagecreatefrompng($file_name);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
$cropped_image_gd = imagecreatetruecolor($crop_width, $crop_height);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
$wm = $original_width /$crop_width;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
$hm = $original_height /$crop_height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
$h_height = $crop_height/2;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
$w_height = $crop_width/2;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
if($original_width > $original_height )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
$adjusted_width =$original_width / $hm;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
$half_width = $adjusted_width / 2;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
$int_width = $half_width - $w_height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
imagecopyresampled($cropped_image_gd ,$original_image_gd ,-$int_width,0,0,0, $adjusted_width, $crop_height, $original_width , $original_height );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
elseif(($original_width < $original_height ) || ($original_width == $original_height ))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
$adjusted_height = $original_height / $wm;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
$half_height = $adjusted_height / 2;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
$int_height = $half_height - $h_height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
imagecopyresampled($cropped_image_gd , $original_image_gd ,0,-$int_height,0,0, $crop_width, $adjusted_height, $original_width , $original_height );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
imagecopyresampled($cropped_image_gd , $original_image_gd ,0,0,0,0, $crop_width, $crop_height, $original_width , $original_height );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
imagejpeg($cropped_image_gd);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
?>