|
|
|
| Я создаю уменьшенную копию следующим видом:
header ( 'Content-type: image/jpeg' );
$imagecreatefromjpeg = imagecreatefromjpeg ( $file );
$imagecreatetruecolor = imagecreatetruecolor ( $width , $height );
imagecopyresampled ( $imagecreatetruecolor , $imagecreatefromjpeg , 0 , 0 , 0 , 0 , $width , $height , $getimagesize [ 0 ] , $getimagesize [ 1 ] );
imagejpeg ( $imagecreatetruecolor );
imagedestroy ( $imagecreatetruecolor );
imagedestroy ( $imagecreatefromjpeg );
exit;
|
Если я укажу параметры ширины и высоты с другим соотношением, естесственно, что всё изображение растянется в какую-либо сторону.
Как средствами PHP создать такой же эффект, который можно получить с помощью CSS параметра background-size: cover?
То есть, чтобы изображение было вписано в заданный участок. | |
|
|
|
|
|
|
|
для: Udachix
(10.09.2013 в 21:45)
| | А открывая изображение в GD как ресурс есть ли надобность в getimagesize? Если вписать что-то во что-то, то пропорционально масштабируйте, точно также как и значение cover.
. | |
|
|
|
|
|
|
|
для: confirm
(10.09.2013 в 22:02)
| | Да, пришлось не мало на листке изрисовать рамок, но результат дал желаемое.
Теперь ломаю голову над позиционированием, чтобы в обложке заданной ширины и высоты ещё и находилась нужная настраиваемая часть картинки:
[t-l] [t-c] [t-r]
[m-l] [m-c] [m-r]
[b-l] [b-c] [b-r]
|
| |
|
|
|