Нельзя превратить 1024х768 в 150x150, не обрезав или не деформировав: растянув по высоте, а затем уменьшив.
Уменьшаем по ширине до 150 и центрируем по высоте. Оставшуюся часть квадрата заливаем белым.
А если изображение - фотография, т. е. фон изначально не белый, тогда будут белые полоски не в тему.
В любом случае, если белые полоски вас устраивают, берёте
ImageMagick в руки и вперёд:
1. Получаете высоту и ширину исходного изображения;
2. Если ширина больше высоты, то пропорционально уменьшаете до 150px по ширине, иначе - до 150px по высоте;
3. Накладываете получившееся изображение по центру на изображение белого квадрата 150x150
Но лучше использовать JavaScript вроде
fengyuanchen.github.io/cropper и дать пользователю самому выбрать квадратную область изображения. Превьюшки в итоге будут получаться красивыми, правильно спозиционированными и безо всяких белых полосок по краям.