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

/*
----------------------------------------
Функция уменьшения и обрезки изображений
----------------------------------------
*/
  
FUNCTION CROP_IMAGE($aInitialImageFilePath, $aNewImageFilePath, $aNewImageWidth, $aNewImageHeight) {
  
  IF ((
$aNewImageWidth < 0) || ($aNewImageHeight < 0)) {
    
    RETURN 
FALSE;
  
  }
  
  
//Массив с поддерживаемыми типами изображений
  
$lAllowedExtensions = ARRAY(1 => "gif", 2 => "jpeg", 3 => "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, $lInitialImageDescriptor, 0, 0, $lInitialImageCroppingX, $lInitialImageCroppingY,
$aNewImageWidth, $aNewImageHeight, $lCroppedImageWidth, $lCroppedImageHeight);
  
$func = 'image' . $lImageExtension;
  
  
//сохраняем полученное изображение в указанный файл
  
RETURN $func($lNewImageDescriptor, $aNewImageFilePath);
  
}

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