Muhammed Talha Akbar
Muhammed Talha Akbar

Reputation: 313

WideImage - The loaded image does not store in an another variable if destroy method is called on original variable

If the image's width and height is less than 400px then don't resize and save the $original in $resized. But if I call $original->destroy(), the data stored in $resized also gets null. How to destroy the original and keep its copy in $resized variable?

        $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));

Upvotes: 2

Views: 70

Answers (0)

Related Questions