Вход Регистрация
Файл: system/functions/crop_image.php
Строк: 51
<?php

/*
----------------------------------------
Функция уменьшения и обрезки изображений
----------------------------------------
*/
  
FUNCTION CROP_IMAGE($aInitialImageFilePath$aNewImageFilePath$aNewImageWidth$aNewImageHeight) {
  
  IF ((
$aNewImageWidth 0) || ($aNewImageHeight 0)) {
    
    RETURN 
FALSE;
  
  }
  
  
//Массив с поддерживаемыми типами изображений
  
$lAllowedExtensions = ARRAY(=> "gif"=> "jpeg"=> "png"); 
  
  
//Получаем размеры и тип изображения в виде числа
  
LIST($lInitialImageWidth$lInitialImageHeight$lImageExtensionId) = GETIMAGESIZE($aInitialImageFilePath); 
  
  IF (!
ARRAY_KEY_EXISTS($lImageExtensionId$lAllowedExtensions)) {
    
    RETURN 
FALSE;
  
  }
  
  
$lImageExtension $lAllowedExtensions[$lImageExtensionId];
  
  
//Получаем название функции, соответствующую типу, для создания изображения
  
$func 'imagecreatefrom' $lImageExtension
  
  
//Создаём дескриптор исходного изображения
  
$lInitialImageDescriptor $func($aInitialImageFilePath);
  
  
//Определяем отображаемую область
  
$lCroppedImageWidth 0;
  
$lCroppedImageHeight 0;
  
$lInitialImageCroppingX 0;
  
$lInitialImageCroppingY 0;
  
  IF (
$aNewImageWidth $aNewImageHeight $lInitialImageWidth $lInitialImageHeight) {
    
    
$lCroppedImageWidth FLOOR($lInitialImageWidth);
    
$lCroppedImageHeight FLOOR($lInitialImageWidth $aNewImageHeight $aNewImageWidth);
    
$lInitialImageCroppingY FLOOR(($lInitialImageHeight $lCroppedImageHeight) / 2);
  
  }ELSE{
    
    
$lCroppedImageWidth FLOOR($lInitialImageHeight $aNewImageWidth $aNewImageHeight);
    
$lCroppedImageHeight FLOOR($lInitialImageHeight);
    
$lInitialImageCroppingX FLOOR(($lInitialImageWidth $lCroppedImageWidth) / 2);
  
  }
  
  
//Создаём дескриптор для выходного изображения
  
  
$lNewImageDescriptor imagecreatetruecolor($aNewImageWidth$aNewImageHeight);
  
imagecopyresampled($lNewImageDescriptor$lInitialImageDescriptor00$lInitialImageCroppingX$lInitialImageCroppingY,
$aNewImageWidth$aNewImageHeight$lCroppedImageWidth$lCroppedImageHeight);
  
$func 'image' $lImageExtension;
  
  
//сохраняем полученное изображение в указанный файл
  
RETURN $func($lNewImageDescriptor$aNewImageFilePath);
  
}

?>
Онлайн: 1
Реклама