WideImage - загруженное изображение не сохраняется в другой переменной, если для исходной переменной вызывается метод destroy

Если ширина и высота изображения меньше 400 пикселей, не меняйте размер и сохраняйте $original в $resized. Но если я позвоню $original->destroy()данные хранятся в $resized также получает null, Как уничтожить оригинал и сохранить его копию в $resized переменная?

        $original = WideImage::loadFromFile($media_url);
        $original_w = $original->getWidth();
        $original_h = $original->getHeight();

        if($original_w > 400)
            $resized = $original->resize(400, null);
        elseif($original_w > 400 && $original_h > 400)
            $resized = $original->resize(null, 400);
        elseif($original_w < 400 && $original_h > 400)
            $resized = $original->resize(null, 400);
        else
            $resized = $original;
        $original->destroy();
        $img = WideImage::createTrueColorImage($resized->getWidth(), $resized->getHeight());
        $bg  = $img->allocateColor(255,255,255);
        $img->fill(0,0,$bg);


        $img->merge($resized)->saveToFile(sprintf('./uploads/photos/%s_resized.jpg', $rand_str));

0 ответов

Другие вопросы по тегам