Initial import: Carteasy Shop (Dev-Stand)
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
|
||||
abstract class phImaginator_Resize extends phImaginator_Universal implements phImaginator_Module {
|
||||
|
||||
protected static $runCollected = false;
|
||||
|
||||
private static $destination_width;
|
||||
private static $destination_height;
|
||||
|
||||
|
||||
public static function fitBoth($width, $height) {
|
||||
|
||||
self::$destination_width = $width;
|
||||
self::$destination_height = $height;
|
||||
|
||||
self::fitImage();
|
||||
}
|
||||
|
||||
|
||||
public static function fitWidth($width) {
|
||||
|
||||
self::$destination_width = $width;
|
||||
|
||||
self::fitImage();
|
||||
}
|
||||
|
||||
|
||||
public static function fitHeight($height) {
|
||||
|
||||
self::$destination_height = $height;
|
||||
|
||||
self::fitImage();
|
||||
}
|
||||
|
||||
|
||||
private static function fitImage() {
|
||||
$image_data =& parent::getCurrentResource();
|
||||
|
||||
$proportions = array();
|
||||
|
||||
if (self::$destination_width) {
|
||||
$proportions[] = self::$destination_width / $image_data['width'];
|
||||
}
|
||||
if (self::$destination_height) {
|
||||
$proportions[] = self::$destination_height / $image_data['height'];
|
||||
}
|
||||
|
||||
$use_proportion = min($proportions);
|
||||
|
||||
$width = $image_data['width'] * $use_proportion;
|
||||
$height = $image_data['height'] * $use_proportion;
|
||||
|
||||
$image = imagecreatetruecolor($width, $height);
|
||||
imagealphablending($image, false);
|
||||
imagesavealpha($image, true);
|
||||
|
||||
imagecopyresampled($image, $image_data['resource'], 0, 0, 0, 0, $width, $height, $image_data['width'], $image_data['height']);
|
||||
|
||||
$image_data['resource'] = $image;
|
||||
$image_data['width'] = $width;
|
||||
$image_data['height'] = $height;
|
||||
}
|
||||
|
||||
|
||||
public static function scale($width, $height) {
|
||||
$image_data =& parent::getCurrentResource();
|
||||
|
||||
self::$destination_width = $width;
|
||||
self::$destination_height = $height;
|
||||
|
||||
$image = imagecreatetruecolor(self::$destination_width, self::$destination_height);
|
||||
imagealphablending($image, false);
|
||||
imagesavealpha($image, true);
|
||||
|
||||
imagecopyresampled($image, $image_data['resource'], 0, 0, 0, 0, self::$destination_width, self::$destination_height, $image_data['width'], $image_data['height']);
|
||||
|
||||
$image_data['resource'] = $image;
|
||||
$image_data['width'] = self::$destination_width;
|
||||
$image_data['height'] = self::$destination_height;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user