$con_width=100; //желаемая ширина картинки $fn="image.png"; //Адрес картинки $src=imagecreatefrompng($fn); //Загузка картинки в среду РНР $width=imagesx($src); //Ширина $height=imagesy($src); //Высота header("Content-type: image/png"); //Указываем, что надо выводить картинку PNG if($width>$con_width){ //Если ширина больше указаной $koef=$width/$con_width; //Ищем коефициент уменьшения $wd=round($width/$koef); //Находим ширину готового изображения $hd=round($height/$koef); //Находим высоту готового изображения $dest=imagecreatetruecolor($wd,$hd); //Создаем пустое полноцветное изображение с нужными размерами imagecopyresized($dest, $src, 0, 0, 0, 0, $wd, $hd,$width, $height); //Копируем картинку с преобразованием размеров в $dest }else{ //Если не требуется уменьшение $dest=imagecreatefrompng($fn); //Загузка картинки в среду РНР }; imagepng($dest); //Рисуем картинку imagedestroy($dest); //Чистим буфер imagedestroy($src); //Чистим буфер