Проверка за размер

marian каза:
Код:
$text = preg_replace_callback("/\[img\](.+?)\[\/img\]/s",create_function('$matches','$size = getimagesize($matches[1]);if ($size[0]>=500) {$size[0] = 500;} if ($size[1]>=150) {$size[1] = round((int)($size[0]*150)/$size[1],2);} return "<img src="$matches[1]" width="$size[0]" height="$size[1]">";'),$text);
По добре от това неможе все пак дължината е почти 4 пъти по голяма от ширината

То няма проблем но сега картинката 500/150 ми я направи 500/500
 
Направо ти копирам логиката от един мой клас за оразмеряване.
Мисля, че ще я разбереш и ще си го направиш за твоята цел.
$MaxWidth и $MaxHeight са максималните допустими размери.

Код:
if ( $this->width <= $MaxWidth && $this->height <= $MaxHeight )
			Няма нужда от оразмеряване;
			
		$rate = $this->width / $this->height;
		
		if ( $MaxWidth - $this->width < $MaxHeight - $this->height )
			оразмеряваме до нови размери: 
ширина: $MaxWidth, 
височина:  $MaxWidth / $rate
		else
                        оразмеряваме до нови размери: 
ширина: $MaxHeight * $rate, 
височина:  $MaxHeight
 

Back
Горе