Зеркальное отражение аваторов - Форум
Проблемы общения в интернете и Форумные ролевые игры
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » Остатки ucoz'овского форума » Пытаемся справиться с UcoZ, о разных хостингах » Зеркальное отражение аваторов
Зеркальное отражение аваторов
ЭленриэльДата: Воскресенье, 25.01.2009, 21:46 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Возможно ли сделать зеркальные отражения от аваторов на uCoz так как это сделано на этом сайте

Королева Флуда
 
McNamaraДата: Понедельник, 26.01.2009, 12:55 | Сообщение # 2
Искатель приключений
Группа: Архивариус
Сообщений: 64
Репутация: 1
Статус: Offline
Эленриэль, может быть и можно. Но это делается в фотошопе и потом как-то подгружается. Скорее всего второе изображение (которое отражается) загружено как-то на место личного звания (ранга, или титула пользователя - как-то так).
По любому Вам нужно сделать в фотошопе на каждый аватар обе картинки. А вот как их подгрузить - это надо экспериментировать. Я не пробовал.

Вообще, судя по адресу второго изображения, это может быть какая-то программка. Можно спросить в техподдержке, если они захотят отвечать на такой вопрос.


Доска наших объявлений
 
ЭленриэльДата: Понедельник, 26.01.2009, 17:45 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Quote (McNamara)
судя по адресу второго изображения, это может быть какая-то программка

мне тоже так кажется... пожалуй попробую связаться с создательницей этого сайта.
Если мне удастся все разузнать, я обязательно напишу здесь как это делается wink


Королева Флуда
 
АриецДата: Понедельник, 26.01.2009, 22:43 | Сообщение # 4
Рядовой
Группа: Читатели
Сообщений: 6
Репутация: 0
Статус: Offline
Зеркальное изображение аватара это скрипт, вот только нафига это нужно непонимаю, лишняя нагрузка. Вместо одной картинки будет грузится две.
 
septemberfoxДата: Вторник, 27.01.2009, 19:41 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 153
Репутация: 2
Статус: Offline
Quote (Ариец)
Зеркальное изображение аватара это скрипт,

Может, Вы ещё скажете - какой? biggrin
 
АриецДата: Пятница, 30.01.2009, 00:16 | Сообщение # 6
Рядовой
Группа: Читатели
Сообщений: 6
Репутация: 0
Статус: Offline
Вперёд по форумам поддержки, лично я считаю, что это тормозит загрузку. Мне-то эта фишка пофиг у меня Анлим ADSL на 54 Мегабита. А модемщикам вот не всё равно лишние картинки грузить и тем у кого трафик ограничен.
 
septemberfoxДата: Пятница, 30.01.2009, 21:56 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 153
Репутация: 2
Статус: Offline
Ариец, Вы невнимательно прочли тему. В теме обсуждается вопрос: "как сделать эффект отражающихся аватаров на ucoz?", а не пофиг Вам эта фишка или нет и не проблемы модемщиков.

Делаю Вам замечание за флуд. Пока устное.

 
McNamaraДата: Пятница, 30.01.2009, 21:56 | Сообщение # 8
Искатель приключений
Группа: Архивариус
Сообщений: 64
Репутация: 1
Статус: Offline
Ариец, я так понял, что скрипт Вам неизвестен? Так бы и сказали)))

Доска наших объявлений
 
ЭленриэльДата: Пятница, 13.02.2009, 02:36 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Вот, сама нашла - тут это раз

Переписываю то что написано там:

Скрипт отражения аватара.
Установка:

1. Залейте на фтп файл reflection.js (честно говоря, не знаю что это за файл такой, а так от знающий людей ничего и не добилась пока)
2. Далее в шаблоне общий вид форума между тегами
<head> и </head>
вставляете:

Quote
<script type="text/javascript" src="reflection.js"></script>

3. В шаблоне вид материалов (форума) находим строчки:

Quote
<?if($AVATAR_URL$)?><img title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?>

и заменяем их на:
Quote
<div align="center"><?if($AVATAR_URL$)?><img title="$USERNAME$" class="reflect" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?></div>

А вот два:

Quote
<script type="text/javascript">
document.getElementsByClassName = function(className) {
var children = document.getElementsByTagName('*') || document.all;
var elements = new Array();

for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements.push(child);
break;
}
}
}
return elements;
}

var Reflection = {
defaultHeight : 0.5,
defaultOpacity: 0.5,

add: function(image, options) {
Reflection.remove(image);

doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
if (options) {
for (var i in doptions) {
if (!options[i]) {
options[i] = doptions[i];
}
}
} else {
options = doptions;
}

try {
var d = document.createElement('div');
var p = image;

var classes = p.className.split(' ');
var newClasses = '';
for (j=0;j<classes.length;j++) {
if (classes[j] != "userAvatar") {
if (newClasses) {
newClasses += ' '
}

newClasses += classes[j];
}
}

var reflectionHeight = Math.floor(p.height*options['height']);
var divHeight = Math.floor(p.height*(1+options['height']));

var reflectionWidth = p.width;

if (document.all && !window.opera) {
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';

d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';

var reflection = document.createElement('img');
reflection.src = p.src;
reflection.style.width = reflectionWidth+'px';

reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';

d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);

d.appendChild(p);
d.appendChild(reflection);
} else {
var canvas = document.createElement('canvas');
if (canvas.getContext) {
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';

d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';

var context = canvas.getContext("2d");

canvas.style.height = reflectionHeight+'px';
canvas.style.width = reflectionWidth+'px';
canvas.height = reflectionHeight;
canvas.width = reflectionWidth;

d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);

d.appendChild(p);
d.appendChild(canvas);

context.save();

context.translate(0,image.height-1);
context.scale(1,-1);

context.drawImage(image, 0, 0, reflectionWidth, image.height);

context.restore();

context.globalCompositeOperation = "destination-out";
var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);

gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");

context.fillStyle = gradient;
if (navigator.appVersion.indexOf('WebKit') != -1) {
context.fill();
} else {
context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
}
}
}
} catch (e) {
}
},

remove : function(image) {
if (image.className == "reflected") {
image.className = image.parentNode.className;
image.parentNode.parentNode.replaceChild(image, image.parentNode);
}
}
}

function addReflections() {
var rimages = document.getElementsByClassName('userAvatar');
for (i=0;i<rimages.length;i++) {
var rheight = null;
var ropacity = null;

var classes = rimages[i].className.split(' ');
for (j=0;j<classes.length;j++) {
if (classes[j].indexOf("rheight") == 0) {
var rheight = classes[j].substring(7)/100;
} else if (classes[j].indexOf("ropacity") == 0) {
var ropacity = classes[j].substring(8)/100;
}
}

Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
}
}

var previousOnload = window.onload;
window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }
</script>

Это надо ставить в "управление дизайном/Редактирование шаблонов/Форум/Общий вид страниц форума
где-то между тегами <body>...</body>
Источник: где-то тут biggrin (точную ссылку не помню)


Королева Флуда
 
ЭленриэльДата: Пятница, 13.02.2009, 02:40 | Сообщение # 10
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Quote (Эленриэль)
А вот два:

имеется в виду второй вариант

ЗЫ Почему тут исправлять сообщения нельзя?


Королева Флуда
 
septemberfoxДата: Пятница, 13.02.2009, 16:25 | Сообщение # 11
Admin
Группа: Администраторы
Сообщений: 153
Репутация: 2
Статус: Offline
Quote (Эленриэль)
Почему тут исправлять сообщения нельзя?

Наверное, потому что админ злой biggrin
 
ЭленриэльДата: Суббота, 14.02.2009, 16:30 | Сообщение # 12
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Quote (septemberfox)
Наверное, потому что админ злой

biggrin Айайай! Я так и знала, но надеялась на лучшее biggrin


Королева Флуда
 
МэггиДата: Суббота, 14.02.2009, 18:29 | Сообщение # 13
Сержант
Группа: Архивариус
Сообщений: 23
Репутация: 2
Статус: Offline
Админ добрый, но справедливы-ы-ый!...
Я вообще считаю, что правки 1 день вполне достаточно. Если человек что-то не то написал в сообщении, он как правило исправляет его сразу. А через сутки уже все успели всё прочитать. Так что и исправлять поздно.


Доска наших объявлений
 
septemberfoxДата: Понедельник, 16.02.2009, 11:56 | Сообщение # 14
Admin
Группа: Администраторы
Сообщений: 153
Репутация: 2
Статус: Offline
Эленриэль, ну и как, Вы скрипт, который создаёт зеркальное отражение аватаров, поставили?

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

 
ЭленриэльДата: Понедельник, 16.02.2009, 15:53 | Сообщение # 15
Рядовой
Группа: Пользователи
Сообщений: 15
Репутация: 0
Статус: Offline
Quote (Мэгги)
Я вообще считаю, что правки 1 день вполне достаточно. Если человек что-то не то написал в сообщении, он как правило исправляет его сразу.

Умничаем да? Яб наверное не писала такое, если могла сразу изменить! Рррррррррррр
Вспылила, прошу прощения

septemberfox, да поставила)) теперь красота, правда загружается малость помедленней, но участники не жадуются, даже наоборот благодарят happy
Поставила 2 вариант, но там небольшая трабла - аватоарки встают не посередине, а уезжают влево. Найду ошибку, поправлю, выложу тут smile
Попробую 1 вариант, тоже отпишусь.


Королева Флуда
 
Форум » Остатки ucoz'овского форума » Пытаемся справиться с UcoZ, о разных хостингах » Зеркальное отражение аваторов
Страница 1 из 212»
Поиск:

Copyright MyCorp © 2017 Сайт управляется системой uCoz