Еще один способ ресайза картинок
 
Еще один способ ресайза картинок
11.02.2013 14:07:05
Битрикс
249
Допустим, есть инфоблок, у его элемента - детальное изображение какого-нибудь недопустимо-большого размера, а настройки "создавать картинку анонса из детальной" и "уменьшать, если большая" утрачены. такое бывает при переносе инфоблока через экспорт-импорт xml.

На этот случай есть такой замечательный код (присутствует в компоненте Корзина, например)

				if ($arItems["DETAIL_PICTURE"])       {          $arFileTmp = CFile::ResizeImageGet(             $arItems["DETAIL_PICTURE"],             array("width" => "110", "height" =>"110"),             BX_RESIZE_IMAGE_PROPORTIONAL,             true          );          $arItems["DETAIL_PICTURE"] = array(             "SRC" => $arFileTmp["src"],             'WIDTH' => $arFileTmp["width"],             'HEIGHT' => $arFileTmp["height"],          );       }
			
Здесь:
				array("width" => "110", "height" =>"110"
			
- это соответственно ширина и высота картинки, которую желаем получить, параметр BX_RESIZE_IMAGE_PROPORTIONAL указывает, что при ресайзе следует сохранить пропорции.

При этом в инфоблоке ничего не меняется, а браузеру отдается уже уменьшенный вариант картинки!

корзинка.jpg

Загрузка...