как масштабировать изображение в зависимости от его ориентации?

Samail
На сайте с 10.05.2007
Offline
361
915

Скрипт вставляет изображения на страницу и необходимо чтобы оно полностью вмещалось в блок размером 350х250 пикс. Причем соотношение длины сторон у них не всегда одинаковое.

Если вставлять так:

<a href="/"><img src="***.JPG" height="250" src="<?php echo $row->image1;?>"></a>

То длинные изображения с альбомной ориентацией, не влазят по ширине.

А если так:

<a href="/"><img src="***.JPG" width="350" src="<?php echo $row->image1;?>"></a>

То с книжной ориентацией не помещаются по высоте.

Ну и сответственно при

<a href="/"><img src="***.JPG" height="250" width="350" src="<?php echo $row->image1;?>"></a>
изображение деформируется.

Нужно как-то сделать так, что-бы было: width="350" если ширина больше высоты или height="250" если высота больше ширины

...или как-то ещё, но что-бы изображение после масштабирования сохраняло пропорции и при этом не вылазило за 350х250 пикс.

D
На сайте с 14.01.2007
Offline
153
#1
ParserYa
На сайте с 04.10.2010
Offline
29
#2

getimagesize ваши ***.JPG перед выводом, и в зависимости от того, что больше - высота или ширина, выводите.

[Удален]
#3
Samail:

Нужно как-то сделать так, что-бы было: width="350" если ширина больше высоты или height="250" если высота больше ширины

я бы сделал так:

<?php $size = getimagesize($row->image1);

if ($size[0]>$size[1]) {
$s='hor';
} else {
$s='ver';
}
?>

<img src="<?php echo $row->image1; ?>" class="<?php echo $s; ?>" />

где $row->image1 - путь к изображению из вашего примера.

в css:

img.hor{width:350px;height:auto;}

img.ver{height:250px;width:auto;}
Samail
На сайте с 10.05.2007
Offline
361
#4

KuZm!cH, спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий