Есть ли готовая обертка над Imagick/GD с богатым API?
https://github.com/Intervention/image
Примерно так решается ваша задача:<?php

$path = 'path/to/img.png';

$width = $height = 300;
$background = '#ffffff';

$plain = Image::canvas($width, $height);
$plain->fill($background);

$img = Image::make($path);

$img->resize($width, null, function ($constraint) {
    $constraint->aspectRatio();
});

$plain->insert($img, 'center');
$plain->save('resized.png');
https://github.com/Intervention/image
Примерно так решается ваша задача:<?php

$path = 'path/to/img.png';

$width = $height = 300;
$background = '#ffffff';

$plain = Image::canvas($width, $height);
$plain->fill($background);

$img = Image::make($path);

$img->resize($width, null, function ($constraint) {
    $constraint->aspectRatio();
});

$plain->insert($img, 'center');
$plain->save('resized.png');