<?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; ?>
/** * Наносит лого на изображение. * * @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; }