Esempio n. 1
0
<?php

/*
 * Умное создание миниатюр
 */
require_once '../AcImage.php';
//$filePath = 'img/visokaya.jpg';
$savePath = 'out/' . rand(0, 1000) . '.jpg';
$filePath = 'img/dlinnaya.jpg';
$width = 400;
$height = 300;
$image = AcImage::createImage($filePath);
$image->thumbnail($width, $height)->save($savePath);
?>

<h3>Оригинал</h3>
<img src="<?php 
echo $filePath;
?>
" />

<h3>Умная, просто генеальная, миниатюра =)</h3>
<div style="background: url(<?php 
echo $savePath;
?>
) center gray no-repeat; width: <?php 
echo $width;
?>
; height: <?php 
echo $height;
?>
Esempio n. 2
0
 /**
  * Наносит лого на изображение.
  *
  * @param mixed
  * @param int номер угла, в котором будет размещенно лого<br />
  * 0 1<br />
  * 2 3
  *
  * @see AcImage::TOP_LEFT
  * @see AcImage::TOP_RIGHT
  * @see AcImage::BOTTOM_LEFT
  * @see AcImage::BOTTOM_RIGHT
  *
  * @return AcImage
  * @throws IllegalArgumentException
  */
 public function drawLogo($logo, $corner = null)
 {
     if (is_null($corner)) {
         $corner = self::$cornerLogo;
     }
     if (!AcImage::isCorrectCorner($corner)) {
         throw new IllegalArgumentException();
     }
     if (is_string($logo)) {
         $logo = AcImage::createImage($logo);
     }
     if (!$logo instanceof AcImage) {
         throw new IllegalArgumentException();
     }
     $maxWidthLogo = (int) ($this->getWidth() * self::$maxProportionLogo);
     $maxHeightLogo = (int) ($this->getHeight() * self::$maxProportionLogo);
     $logo->resize($maxWidthLogo, $maxHeightLogo);
     if (!self::getTransparency()) {
         $logo->putBackground(self::$backgroundColor);
     }
     imagealphablending($this->getResource(), true);
     $logoSize = $logo->getSize();
     $location = $this->getLogoPosition($corner, $logoSize->getWidth(), $logoSize->getHeight());
     imagecopy($this->getResource(), $logo->getResource(), $location->getX(), $location->getY(), 0, 0, $logoSize->getWidth(), $logoSize->getHeight());
     return $this;
 }