Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вопросы на засыпку

00 голосов
3
Добрый вечер.
имею строку:
Код
<? echo CFile::ShowImage(41, 0, 313, "border='0'", "", true);?>

размер картинки 512 x 768 пикселей, игнорируя 3-й указанный параметр выводится в полном размере.
Описание функции:
Код
string
CFile::ShowImage(
 mixed image,
 int max_width = 0,
 int max_height = 0,
 string image_params = "border=0",
 string url = "",
 bool popup = false,
 string popup_alt = false,
 int image_width = 0,
 int image_height = 0
)
max_width -  Максимальная ширина изображения. Если ширина картинки больше max_width, то она будет пропорционально смаштабирована. 
Необязательный. По умолчанию - "0" - без ограничений. 
max_height - Максимальная высота изображения. Если высота картинки больше max_height, то она будет пропорционально смаштабирована. 
Необязательный. По умолчанию - "0" - без ограничений. 


Разве при выполнении первого условия второе уже можно игнорировать?
Мне необходимо все картинки порезать по высоте если они выходят за приделы. Ширина у всех разная.
а тут такой подвох.
Как побороть?
спросил 25 Дек, 13 от Grimmi (2,560 баллов)

3 Ответы

00 голосов
Неужели придется делать вот так:
Код
<?
 $pattern = "/width\=\"\d+?\" height\=\"\d+?\"/i";
 echo preg_replace($pattern,'' ,CFile::ShowImage($arProperty["VALUE"], 0, 313, "border='0' height='313'", "", true));?>

пока вы в данную фунцию обновление не внесете?
ответил 17 Март, 14 от Grimmi (2,560 баллов)
00 голосов
CFile::ShowImage(41, 1000000, 313, "border='0'", "", true);

Миллиона хватит? Параметры работают в связке, оба не должны быть равны 0.
ответил 09 Июль, 14 от Ixie (540 баллов)
00 голосов
Оригинальное решение.Спасибо.
Просто вопрос в том почему не сработало ограничение по высоте?
данную функцию уже использовал не раз , признаюсь что в большенсве случаев проверка шла по ширине и накладок небыло.
Но Вы пишите
Цитата
Vadim Dumbravanu пишет:
Параметры работают в связке, оба не должны быть равны 0.

второе то нулю не равно, и все равно выводится что то совсем другое чем желаемое.
точнее после выполнения данной функции вывелось следующее:
Код
<img src="путь до картинки" border='0' width="512"  height="768" />

то есть изображение в оригинальном размере а не принудительно-уменьшенное.

такое поведение функции - мне на заметку, разработчикам на карандашь)
ответил 09 Ноя, 14 от Grimmi (2,560 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 25 Апр, 14 от Aleksis (200 баллов)
0 голосов
2 ответов
спросил 08 Апр, 14 от Grimmi (2,560 баллов)
0 голосов
3 ответов
спросил 23 Март, 14 от Rogarond (820 баллов)
0 голосов
1 ответ
спросил 17 Янв, 14 от Ogyrez (240 баллов)
0 голосов
4 ответов