Как обрезать картинку

NumLocked
На сайте с 16.05.2010
Offline
50
1860

Есть картинка с некоей длиной и высотой. Нужно показать только верхний центральный кусок размером 100 на 100.

Как это сделать на php или js? :o

skAmZ
На сайте с 04.09.2009
Offline
122
#1


header('Content-type:image/jpeg');
$img_name='img.jpg';
$new_x=100;
$new_y=50;
$source = imagecreatefromjpeg($img_name);
$target = imagecreatetruecolor($new_x, $new_y);
imagecopyresampled( $target,$source, 0,0, 0,0, $new_x, $new_y, $new_x, $new_y );
imagejpeg($target);
NumLocked
На сайте с 16.05.2010
Offline
50
#2

header('Content-type:image/jpeg'); в данном случае не подходит, тк. вставляется в страницу в цикле..

а само изображение берется из базы и может быть как jpeg так и gif и png ...

какие еще есть варианты?

InoHacker
На сайте с 18.10.2009
Offline
75
#3

Тыц

10 тыцов

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
edogs software
На сайте с 15.12.2005
Offline
775
#4

На php thumbnail-ы зачастую делать излишне. ТС-у ведь надо всего-то кусок 100 на 100 показать.


<div style="overflow:hidden;width:100px;height:100px;">
<img src="ava_1.jpg" id=ava style="position:relative;">
</div>
<script language="javascript">
w=document.getElementById('ava').width;
w=((w-100)/2)*1;
document.getElementById('ava').style.left=-w;
</script>

Вполне хватит и яваскрипта...

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#5
Вполне хватит и яваскрипта...

А давайте в div шириной 100 на 100 загоним фоном картинку. Так вообще будет прелесть :)

<div style=" height: 100px; width: 100px; background: #fff url('/img/hand.png') no-repeat;">

</div>

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
edogs software
На сайте с 15.12.2005
Offline
775
#6

LEOnidUKG,

ТС-у нужен верхний центральный кусок. У Вас будет не центральный, а верхний левый, яваскрипт-то у нас только для центральности.

Хотя есть смутное чувство что эту задачу можно решить на чистом цсс, и такой вариант был бы самим интересен очень и очень.

R5
На сайте с 22.03.2010
Offline
24
#7

ну дык, как LEOnidUKG писал, только


background: #fff url('/img/hand.png') top center;

но имхо, это не решение, зачем все пикчи клиенту отдавать, имхо на серваке резать надо и кэшить (возможно... кароч, в зависимости от особенности проекта, загруженности и т.д.)

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