- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Делаю красивый вывод фото, все знают что фото разные, вытянутые по вертикали или по горизонтали или вообще квадратные.
Пример фоток
Сайт на кохане, жопустим загружаем мы фото, все загрузилось, вставилось сам вывод фото можно изменить через css, но если .class img {366px; height: 250px;} задать размеры фотке то она будет искажаться, что не есть хорошо.
Как можно реализовать вот так, та часть что прозрачная приячиться. и показываем определнную часть которая задана через css по размерам width: 366px; height: 250px;
Читать что много есть вариантов.
Я реализовал так:
у самих фото размер сторон не ниже чем 500px, то есть ни одна сторона не ниже чем 500px
css
.apartfoto {
border: 1px solid #FFDDEF;
width: 366px;
height: 250px;
overflow: hidden;
margin: 10px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-html-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
}
.apartfoto img{
width: 366px;
height: 250px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-html-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
}
HTML
<div class="apartfoto">
<img style="background: url(/media/uploads/quarters/<? echo ($quarter['main_img']) ? 'small_'.$quarter['main_img'] : 'apartnofoto.jpg'; ?>) center center">
</div>
style="background: url(...........) center center">
center - показывает центр фотографии заданным по параметрам
width: 366px;
height: 250px;
а сама фотка 500px на 600px или 500px на 500px
все отлично работает, но есть одно но, не показывает фото в фаерфоксе, в опере есть, в ie есть, в хроме есть.
Как все это выглядит:
Может как то по другому можно реализовать задачу ?
Вот еще вариант, но работает не ровно по центру и минус в том что бордер закруглены края не работает.
вариант с центрованием
.apartfoto {
width: 366px;
height: 250px;
overflow: hidden;
border: 1px solid #FFDDEF;
margin: 10px;
-webkit-border-radius: 8px;
-o-border-radius: 8px;
-html-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
}
.apartfoto img {
top: 50%;
margin-top: -100px;
left: 50%;
margin-left: -100px;
max-width: 500px;
max-height: 500px;
}
если у вас кохана, то не мучтесь с CSS и спокойно выводите в шаблонах через
илиподробнее читайте в мануалах ☝
если у вас кохана, то не мучтесь с CSS и спокойно выводите в шаблонах через
или
подробнее читайте в мануалах ☝
вы наверное не поняли, я таким способом буду задавать параметры фотке, и они не все нормально будут смотреться, они будут искаженные или вытянутые.
Пример чистой страницы покажите полностью, которая в FF не показывается.
l17l, поэтому вам и написали второй вариант.
Нужно чтоб картинка обрезалась, а не сжималась. Это называется crop. Ищите у себя в движке нечто подобное или же как сказал jount, используйте:
$image->crop($width,$height)
l17l, поэтому вам и написали второй вариант.
Нужно чтоб картинка обрезалась, а не сжималась. Это называется crop. Ищите у себя в движке нечто подобное или же как сказал jount, используйте:
объяснит суть работы данного способа.
то есть через код этот, указываем ширину и высоту, ту которую он будет показывать из картинки, то есть он её не сжимает, не задает параметры картинке, а просто показывает область из картинки ту которую указал в ширину и высоту так ?
то есть через код этот, указываем ширину и высоту, ту которую он будет показывать из картинки, то есть он её не сжимает, не задает параметры картинке, а просто показывает область из картинки ту которую указал в ширину и высоту так ?
Смотрите.
Исходные данные: картинка 1200х800 например.
Нужно: урезанная картинка 350х350 с сохранением пропорций.
1) С помощью PHP узнаем наибольшую сторону (т.е. ширина это или высота). Например, с помощью такой функции:
Смотрите, какие размеры картинки есть внутри $size, анализируете их и вычисляете что больше - ширина, или высота. (Т.е. другими словами, картинка горизонтально- или вертикально-ориентирована)
2) Сжимаем картинку
На этом шаге получаем картинку, готовую к обряду обрезания.
3) Делаем собственно обрезание (crop):
Итого можете использовать в цепочке:
С вычислением высоты, ширины картинки и прочими мелочами предоставляю разобраться вам, там по идее ничего сложного не должно быть.
UPD: еще в интернетах пишут, что данный код избавит вас от забот вручную проверять ориентацию картинки (лично не проверял, но попробуйте):
Надеюсь, чем-то помог :)
Смотрите.
Исходные данные: картинка 1200х800 например.
Нужно: урезанная картинка 350х350 с сохранением пропорций.
1) С помощью PHP узнаем наибольшую сторону (т.е. ширина это или высота). Например, с помощью такой функции:
Смотрите, какие размеры картинки есть внутри $size, анализируете их и вычисляете что больше - ширина, или высота. (Т.е. другими словами, картинка горизонтально- или вертикально-ориентирована)
2) Сжимаем картинку
На этом шаге получаем картинку, готовую к обряду обрезания.
3) Делаем собственно обрезание (crop):
Итого можете использовать в цепочке:
С вычислением высоты, ширины картинки и прочими мелочами предоставляю разобраться вам, там по идее ничего сложного не должно быть.
UPD: еще в интернетах пишут, что данный код избавит вас от забот вручную проверять ориентацию картинки (лично не проверял, но попробуйте):
Надеюсь, чем-то помог :)
так по идее скрипт должен сначала 1200х800 этот размер уменьшить на тот что мне нужен 500x500, ну и по сути он обрежет лишнее, а потом уже что бы из этих данных покащывалась область та что мне нужна 366x250
так как если он будет показывать область из 1200х800, то то там ничего видно не будет.
вот пример:
фотка 1200x960, если сделать что бы из неё область та что мне надо показывалась, то вид будет такой.
можно сделать что бы скрипт обрезал фото, но так будет не красиво, он вырежет область из большой фотки 366x250, ну и будет видно выше на картинки что он будет показвать что то не понятное, тут надо делать что бы скрипт уменьшал фото до 500x500 ну и обрезал за одно если будет лишнее, так как фото все разные что по вертикали что по горизонтали и придеться скрипты обрезать, нужно что бы как бы он от середины отсчитывал что лишнее и вырезал, допустим загружаем и скрипт делает фотку 1200x960 на 500x500, можно меньше но не то будет все равно, и уже исходя из 500x500 размера, показываем область, 366x250 и вот пример:
а если сделать так что бы скрипт уменьшал по ширине, до 366 и если есть лишка в длине то что бы срезал и меньшал до 250, то будет так.
у всех фотографиий восновном все самое ценное середина, допустим взять фотку с человеком, обычно человек по середине.
---------- Добавлено 08.01.2014 в 20:39 ----------
вот нашел по кохане, http://ruslan.cc/2012/11/kohana-3-2-2-i-ispolzovanie-modulya-image/
я думаю так и сделаю без всяких там css, так и фотка меньше весить будет !
а как быть если он обрежет по ширине и так выйдет что высота будет меньше чем 250, тогда обрезать не будет и фотка будет смотреться уже не хорошо ! косяк как с ним быть ? или сделать что бы обрезалось ровно все стороны по 366x366 и сделать что бы показывалась по центру фотка.