[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Реализация тени изображения
brainraider
Доброго времени суток вновь.
Дорогие форумчане, подскажите пожалуйста как поступить:

Есть очень много фото, которые не хочется прогонять через фотожоп или что-нить тому подобное, а просто реализовать тень через жаваскрипт (ксс не подойдет - тень должна быть похоженй на тень, а не на черный прямоугольник).

Допустим тень нужно сделать для этого блока:

<div class="float">
<img
src="'.$url.'/'.$images[$i].'" alt="1213" width="290" height="220">
</div>



З.Ы. Заранее спасибки =)



Спустя 1 час, 33 минуты, 3 секунды (6.11.2009 - 13:50) brainraider написал(а):
Нашел пример реализации тени тут

Выкачал эти вот файлы:
http://www.erik-rasmussen.com/blog/downloa...43/prototype.js
http://www.erik-rasmussen.com/blog/downloads/143/shadower.js

Все подключил, все работает, но вот только тень слишком широкая...
Я так понимаю, это зависит от размера элемента, к которому я подключаю класс shadowed.

В жс не шарю вообще, подскажите, как мне поменять размер тени, указать например в пикселах на сколько она должна отходить от имаги.

З.Ы. Заранее благодарен!!!

Спустя 37 минут, 12 секунд (6.11.2009 - 14:27) Michael написал(а):
Посмотри где там distance определено и меняй это число.



Спустя 21 минута, 1 секунда (6.11.2009 - 14:48) Michael написал(а):
Можно также без JS обернуть в табличку:
<table border="0" cellpadding="0" cellspacing="0" bgcolor="#666666">
<tr>
<td><img
src="Compass.gif" width="60" height="60"></td>
<td
align="left" valign="top"><img src="spacer.gif" width="10" height="10" style="background-color:#FFFFFF "></td>
</tr>
<tr>
<td
colspan="2" align="left" valign="top"><img src="spacer.gif" width="10" height="10" style="background-color:#FFFFFF "></td>
</tr>
</table>

Где Compass.gif - искомое изображение,
spacer.gif - распорка (gif прозрачный 1px на 1px),
#666666 - цвет тени,
10 - ширина тени.

Спустя 2 часа, 30 минут, 37 секунд (6.11.2009 - 17:19) brainraider написал(а):
Ну вариант конечно хороший, но громоздкий... буду думать - нужно посмотреть, как в инете а не на локалке будет работать жс, какая скорость буит, а там уже и видно будет!!!

Большое спасибки, буду пробовать крутить с дистанс =)

Спустя 44 минуты, 40 секунд (6.11.2009 - 18:03) brainraider написал(а):
=(
меняя дистанцию и угол заметил, что по ОХ и ОУ смещение идет разное...

решил попробовать так:


<div class="float shadowed" >
<div
class=""><img src="'.$url.'/'.$images[$i].'" alt="'.$row['title'].'" width="290" height="220"></div>
</div>



Подскажите плиз, как разместить первый див под вторым (второй - в котором и лежит имага)

Получится как бы так:

//Красный - нижний блок, от которого и будет идти тень.

----------------
| ------------- |
| |бла - бла||
| ------------- |
----------------

Спустя 4 часа, 34 секунды (6.11.2009 - 22:04) brainraider написал(а):
Тякс, вроде сделал: просто применив позиционирование position:relative...
но все равно не могу добиться нужного эффекта=((((

вот что получается:

user posted image

Т.е. тень расползается куда хочет... крутил с настройками шадовера, но ни к чему не пришел... если б тут было смещение по ОХ и по ОУ - все было бы гараздо проще!

а хотелось бы прийти к чему то на подобии:

user posted image


Если не сложно вам, помогите плиз

Спустя 1 час, 25 минут, 48 секунд (6.11.2009 - 23:30) sergeiss написал(а):
Что-то мне так кажется, что в ПХП будет проще реализовать эту тень... И гарантированно, что не будет проблем в любом браузере. И сделать это очень просто.
Берем библиотеку GD2, и за 5 минут всё реализуем smile.gif

Спустя 1 час, 46 секунд (7.11.2009 - 00:31) sergeiss написал(а):
Ну вот пример работы такого скрипта. Я его сделал специально, чтобы показать возможности ПХП в этом направлении.
Далее - исходный файл
user posted image

А тут - измененный скриптом файл. Цвет, размер и фактуру тени можно менять так, как захочется smile.gif Можно сделать "размытую" границу... Короче говоря - всё в руках программера. И также тут гарантировано, что тень никуда не уедет.
user posted image

Спустя 4 минуты, 41 секунда (7.11.2009 - 00:35) SunSet написал(а):
sergeiss
Nikitian както рекомендовал вместо GD юзать ImageMagick. Есть какието кардинальные отличия в них? (просто, как правило, на хостингах, где дают GD, также предоставляют и IM)

Спустя 5 минут, 18 секунд (7.11.2009 - 00:41) Gabriel написал(а):
sergeiss
заинтриговал:) а функции какие хоть пользовал?
подскажи дерёвне.. wink.gif

Спустя 1 минута, 31 секунда (7.11.2009 - 00:42) SunSet написал(а):
Gabriel
Это вобщемто еще даже примитив для GD2 будет, там возможностей в описании куда больше.

Спустя 20 минут, 59 секунд (7.11.2009 - 01:03) sergeiss написал(а):
Я это скрипт выложил для тестирования, http://owndesign.ru/shadow.php. Он берет только jpg файлы!!!
Параметры (передаем через GET): photo - имя файла, s_x и s_y - размеры тени. Если размер файла более 500*300 точек, то он будет обрезан до этого размера. Максимум s_x - 30 точек, s_y - 20 точек (по умолчанию, если не указаны, будет тень 15 по горизонтали и 8 по вертикали)

Возьмём, например, логотип сайта smile.gif
user posted image

И передадим его в тестовый скрипт.
Результат можно посмотреть на странице http://owndesign.ru/show_shadow.php


Gabriel - а ты сам подумай сначала smile.gif Возможно, что и догадаешься.

Спустя 7 минут, 9 секунд (7.11.2009 - 01:10) Gabriel написал(а):
sergeiss
первый ссылк не открываеться

Спустя 1 час, 2 минуты, 56 секунд (7.11.2009 - 02:13) brainraider написал(а):
}{ех, закидали вы тут непонятными словами=))))

пашел гуглить=)))


Погуглил... что то мне не нравится все это=)))) Эо запарно - связываться с хостингом, смотреть, что тама у них и как... Спасибо за предложение, быть может, когда наберусь опыта и буду пользоваться этим, а покка увы.

Все же прошу помочь мне с вариантом, который я практически доделал с форумчанской помощью=)))

Спустя 27 минут, 3 секунды (7.11.2009 - 02:40) sergeiss написал(а):
Цитата (Gabriel @ 7.11.2009 - 02:10)
первый ссылк не открываеться

Ёпрст... А эту ссылку и не надо "открывать"!!! Надо использовать этот скрипт, в чисто тестовых целях.
Как именно использовать - см. в тексте скрипта, по второй ссылке
Цитата (sergeiss @ 7.11.2009 - 02:03)
Результат можно посмотреть на странице http://owndesign.ru/show_shadow.php


Цитата (brainraider @ 7.11.2009 - 03:13)
что то мне не нравится все это=)))) Эо запарно - связываться с хостингом, смотреть, что тама у них и как... Спасибо за предложение, быть может, когда наберусь опыта и буду пользоваться этим, а покка увы.

Я не понял, что ты имеешь ввиду... Я показал, что можно сделать тень средствами ПХП. Показал, как вызывается скрипт, который добавляет тень к картинке, т.е., фактически, создаёт новую картинку на основе старой.
Делается этот скрипт легко и просто smile.gif Поэтому я рекомендую потратить немного времени на изучение ПХП, которое потом с лихвой окупится.

Скрипт этот очень простой. Всего два десятка строк, включая всякие проверки передаваемых параметров.

Спустя 2 часа, 8 минут, 11 секунд (7.11.2009 - 04:48) SunSet написал(а):
Согласен, уж лучше на пхп такое делать чем на JS.


sergeiss
Меня немного "вес" тех картинок смутил. Исходная весит 60 кило, а та что с тенью - 140! Чтото ты с качеством переборщил smile.gif То видна существенная задержка при выводе второго изображения.

Спустя 7 часов, 41 минута, 37 секунд (7.11.2009 - 12:30) sergeiss написал(а):
Насчет размера могу сказать только одно - это картинки разных форматов! Первая - jpg, вторая (была) - png.

Я сейчас сделал там добавку, можно в строке вызова картинки указать в явном виде формат выходного файла. outtype=jpeg (gif, png) - всего 3 формата (см. текст страницы http://owndesign.ru/show_shadow.php). Сравни размеры картинок разного типа!

При этом формат входного файла может быть также одним из трех: jpeg, gif, png. Любые другие будут игнорироваться. Можно и расширить этот список smile.gif Но я специально ограничил.

PS. Различие в размерах файлах говорит только о том, что ЖПЕГ больше предназначен для упаковки именно фоток и всяких полутоновых картинок, в то время как ПНГ больше подходит для упаковки именно графиков. Если взять график, а не фото такого же размера, то тогда ПНГ уже будет более выигрышным вариантом.

Спустя 7 минут, 16 секунд (7.11.2009 - 12:37) sergeiss написал(а):
Цитата (SunSet @ 7.11.2009 - 01:35)
Nikitian както рекомендовал вместо GD юзать ImageMagick. Есть какието кардинальные отличия в них? (просто, как правило, на хостингах, где дают GD, также предоставляют и IM)

С ImageMagick я не работал. Но, судя по набору функций, там существенно больше возможностей обработки. И если Nikitian рекомендовал (я тоже видел эту его рекомендацию)... То, я думаю, он знал, что говорил.

Поэкспериментируй smile.gif И потом расскажешь ИЗ СВОЕГО ОПЫТА, чем различаются эти 2 библиотеки.

Спустя 1 час, 31 минута, 38 секунд (7.11.2009 - 14:09) Grazor написал(а):
sergeiss
из любопытства накидал похожий скриптик. правда, выложить некуда - хостинг за ненадобностью давно уже не оплачивался

Спустя 9 минут, 4 секунды (7.11.2009 - 14:18) brainraider написал(а):
Тякс, буду пробовать, не сразу понял =)))) я када гуглил наткнулся просто на установку ГД =)))) и мне стало страшно. пхп нгемного знаю.... сайт хоть и корявенький, но своими руками деланный...

Спустя 7 минут, 40 секунд (7.11.2009 - 14:26) Grazor написал(а):
brainraider
этого достаточно smile.gif
ну и парочку примеров скриптов, генерирующих изображения)

сам с GD работал только по статьям из буки. списка функций хватило чтобы разобраться smile.gif

Спустя 17 минут, 59 секунд (7.11.2009 - 14:44) brainraider написал(а):
Чет я все равно не могу понять....

Вот есть у мну код, лежит на локалке в папке сайта:


echo '
<div class="float"><img src="'
.$url.'/'.$images[$i].'" alt="'.$row['title'].'" width="290" height="220"></div>
'
;


И как же мне сюда прикрутить скрипт?! оО

Просьба не смеяться, но я вообще не могу понять, как будет работать скрипт с другого сайта на моем.... если у мну нет доступа к коду.....

Спустя 21 минута, 13 секунд (7.11.2009 - 15:05) sergeiss написал(а):
А зачем тебе скрипт с другого сайта? Делаешь свой, и кладешь на своем сайте.

Спустя 15 минут, 49 секунд (7.11.2009 - 15:21) Grazor написал(а):
будет
<div class="float"><img src="makeshadow.php?/photo=*адрес картинки*" alt="'.$row['title'].'" width="290" height="220"></div>


а твой makeshadow.php возвращает картинку

sergeiss
интересно твоё мнение насчёт того что я понаписал..
я тебе в приват кину то что накодил. если не лень будет, глянь пожалуйста smile.gif

Спустя 32 минуты, 28 секунд (7.11.2009 - 15:53) SunSet написал(а):
sergeiss
А чем тебе GIF не угодил? Сам экспериментировал эти два формата по качеству/весу и PNG явно уступает. Это в GD не было поддержки GIF, а во второй же есть, чего его не юзать, так как гиф намного меньше в размере занимает места?

Спустя 20 минут, 12 секунд (7.11.2009 - 16:13) sergeiss написал(а):
Цитата (SunSet @ 7.11.2009 - 16:53)
sergeiss
А чем тебе GIF не угодил?

Не понял этот вопрос: откуда сделан вывод, что "GIF мне не угодил чем-то"?

Спустя 2 минуты, 14 секунд (7.11.2009 - 16:16) SunSet написал(а):
Цитата (sergeiss @ 7.11.2009 - 09:30)
Первая - jpg, вторая (была) - png.

Вот откуда smile.gif ПНГ в плане качества будет лучше, но для интернета (банеры, кнопки, мелкие картинки) более подходит гиф.

Спустя 13 минут, 21 секунда (7.11.2009 - 16:29) SunSet написал(а):
Вот вобщем, то о чем говорю.
http://s15.radikal.ru/i188/0911/92/2af93562264e.bmp
(без сжатия сохранил, чтоб не было искажений рисунков)

Спустя 54 минуты, 47 секунд (7.11.2009 - 17:24) sergeiss написал(а):
SunSet - ты знаешь... Я изначально сделал один только ПНГ только потому, что функции для этого формата мне первые в голову пришли smile.gif Не более того.
Потом уж сделал и ЖПЕГ, и ПНГ, и ГИФ. Дальше люди пусть сами выбирают, что им надо. А я не ставил цели что-то сравнивать. Я же только хотел показать, что можно сделать искомую тень средствами ПХП.

Спустя 1 день, 3 часа, 27 минут, 44 секунды (8.11.2009 - 20:51) brainraider написал(а):
Так, ну ент я понял - буду учить функции=))))

А скажите плиз, кто слышал (может и использовал) про фильтры КСС?!

http://css.softstore.by/filter-css.html


Как енто юзать - я попробовал, как там в примерах - у мну ниче не произошло=)


... Ну на сколько понял - в Опере не пашет=((((( эх, буду все же мучать ГД2, вот только хочется добиться результата с размытием.... может реализовать его градиентом... В ГД2 так можно?

Спустя 25 минут, 13 секунд (8.11.2009 - 21:17) sergeiss написал(а):
Цитата (brainraider @ 8.11.2009 - 21:51)
эх, буду все же мучать ГД2, вот только хочется добиться результата с размытием.... может реализовать его градиентом... В ГД2 так можно?

Для "качественных" эффектов, чтобы ничего не изобретать, лучше будет с Imagick разобраться. В целом (с пользовательской точки зрения) суть та же, что и GD2, но больше функций обработки изображений. Можно, наверное, (при очень большом желании) сделать на основе этой библиотеки графический редактор на ПХП, типа Corel Photo Paint или Adobe Photoshop smile.gif


_____________
Там где есть новички, есть и двигатель прогресса!!!
Ну, если не сказать больше=)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.