Grafika\Gd\Editor::_resize PHP 메소드

_resize() 개인적인 메소드

Resize helper function.
private _resize ( Image &$image, integer $newWidth, integer $newHeight, integer $targetX, integer $targetY, integer $srcX, integer $srcY )
$image Image
$newWidth integer
$newHeight integer
$targetX integer
$targetY integer
$srcX integer
$srcY integer
    private function _resize(&$image, $newWidth, $newHeight, $targetX = 0, $targetY = 0, $srcX = 0, $srcY = 0)
    {
        //        $this->_imageCheck();
        if ($image->isAnimated()) {
            // Animated GIF
            $gift = new GifHelper();
            $blocks = $gift->resize($image->getBlocks(), $newWidth, $newHeight);
            // Resize image instance
            $image = new Image($image->getCore(), $image->getImageFile(), $newWidth, $newHeight, $image->getType(), $blocks, true);
        } else {
            // Create blank image
            $newImage = Image::createBlank($newWidth, $newHeight);
            if (ImageType::PNG === $image->getType()) {
                // Preserve PNG transparency
                $newImage->fullAlphaMode(true);
            }
            imagecopyresampled($newImage->getCore(), $image->getCore(), $targetX, $targetY, $srcX, $srcY, $newWidth, $newHeight, $image->getWidth(), $image->getHeight());
            // Free memory of old resource
            imagedestroy($image->getCore());
            // Resize image instance
            $image = new Image($newImage->getCore(), $image->getImageFile(), $newWidth, $newHeight, $image->getType());
        }
    }