Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2011, 21:57
Интересующийся
Отправить личное сообщение для Constantin.UK Посмотреть профиль Найти все сообщения от Constantin.UK
 
Регистрация: 03.02.2011
Сообщений: 17

Решено, спасибо!!
Решено!

Последний раз редактировалось Constantin.UK, 18.05.2011 в 03:16.
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2011, 23:58
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Интересная задача.
А чем так SVG не угодил (не считая кроссбраузерности)?
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2011, 00:24
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Если CSS не устраивает, то можно использовать Canvas или SVG+VML.
Есть еще один вариант, это сделать отрисовку, т.е. взять первоначальное изображение, и накладывать на него другие, как-бы эмулируя поворот, но на само деле это будет одно изображение в котором будет основное и его углы поворота. все спрайтами верстается, а скрипт ставится на таймер

Последний раз редактировалось monolithed, 02.03.2011 в 00:27.
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2011, 00:31
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,576

Минимум геморроя - максимум качества картинки и кроссбраузерности - только спрайтом.
Куча геморроя, тормоза, глюки кроссбраузерноти, но высокотехнологичность и современность - svg+vml и прочие сanvas'ы))
Ответить с цитированием
  #5 (permalink)  
Старый 02.03.2011, 01:24
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Constantin.UK
Все изначально отрисовывалось в illustrator'e, и при сохранение в .svg - из-за мелких деталей размер картинки больше 100кб
Эм... Почитай о теге <image>, в него можно запихать png.
И на всякий случай о повороте элемента: http://www.svgbasics.com/rotate.html
А вот про поворот в IE: http://habrahabr.ru/blogs/css/107183/
По VML ничего не посоветую, так как не разбираюсь.

Кстати, возможно самый безгеморройный способ решения задачи - использование библиотеки Raphael, которая совмещает в себе оба стандарта (SVG, VML).
Ответить с цитированием
  #6 (permalink)  
Старый 02.03.2011, 01:27
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

http://raphaeljs.com/reference.html#image
http://raphaeljs.com/reference.html#rotate
Во, сразу же в доках нашел.
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2011, 01:46
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,576

Не, спрайтами заколебаешся.) Если одна картинка то ещё ладно, а много...
Юзай тогда и вправду Raphael. В ие наверняка будут тормоза, но, какбэ, делая такое, иного ожидать не стоит.
Ответить с цитированием
  #8 (permalink)  
Старый 02.03.2011, 05:26
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Aetae
В ие наверняка будут тормоза, но, какбэ, делая такое, иного ожидать не стоит.
А с чего ему тормозить? Картинки статичные, их не много, анимация проста, тем более мелкософт явно сделал какую-то оптимизацию потребления ресурсов форматом.

Последний раз редактировалось FINoM, 02.03.2011 в 05:28.
Ответить с цитированием
  #9 (permalink)  
Старый 18.08.2012, 16:37
Новичок на форуме
Отправить личное сообщение для cosmos44 Посмотреть профиль Найти все сообщения от cosmos44
 
Регистрация: 18.08.2012
Сообщений: 1

Доброго времени суток всем почитателям IE.
Доброго времени суток всем почитателям IE.
Я случайно забрел на данную ветку решил помочь народу над головной болью – Вращение элемента в IE. Не используя трех – килограммовых jQuery . Работает естественно только в IE, так как в нем и есть головная боль.
<div id="wrap" style="position: absolute; top:100px; left:100px; border:1px solid red;">
  <div id="hndl" style="position: relative; width:400px; height:300px; filter:progid:DXImageTransform.Microsoft.Matrix(M11=1,M12=0,M21=0,M22=1, sizingMethod='auto expand');">
  <a href="http://sbw.in.ua/"><strong>sbw.in.ua</strong></a>
   <div style="position: relative; filter:alpha(opacity=10); background-color: #06F; width:100%; height:100%; border:1px solid #000000;">
    <div style="position: relative; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fon.png', sizingMethod='scale'); WIDTH: 100%; HEIGHT: 100%;">
    
    </div>
   </div>
 <span style="display:none">123456789</span>
 </div>
</div>
<script type="text/javascript">
	var handler = document.getElementById('hndl');
	var wraper = document.getElementById('wrap');
	var alpha = 0;
	var betta = Math.atan2(150, 200)*180/Math.PI;
	var center = {left:100, top:100, w2:200, h2:150};

	function rotate(){
	 if (alpha >= 360)  alpha=0; else alpha= alpha+5;
	var fi = alpha +180 + betta;
	if (fi >=360) fi = fi-360;
	 var M11 = handler.filters['DXImageTransform.Microsoft.Matrix'].M11 = Math.cos(alpha*Math.PI/180);
	 var M12 = handler.filters['DXImageTransform.Microsoft.Matrix'].M12 = -Math.sin(alpha*Math.PI/180);
	 var M21 = handler.filters['DXImageTransform.Microsoft.Matrix'].M21 = Math.sin(alpha*Math.PI/180);
	 var M22 = handler.filters['DXImageTransform.Microsoft.Matrix'].M22 = Math.cos(alpha*Math.PI/180);
	 handler.filters['DXImageTransform.Microsoft.Matrix'].dx = 0;
	 handler.filters['DXImageTransform.Microsoft.Matrix'].dy = 0;
	  wraper.style.left = center.left + center.w2 - wraper.offsetWidth/2;
	  center.left = 	center.left + center.w2 - wraper.offsetWidth/2;
	  center.w2 = 	wraper.offsetWidth/2;
	  wraper.style.top = center.top + center.h2 - wraper.offsetHeight/2;
           center.top = center.top + center.h2 - wraper.offsetHeight/2;
	  center.h2 = wraper.offsetHeight/2
	window.status =  wraper.offsetWidth  +'   '+wraper.offsetHeight +' '+alpha +' fi= '+fi +' '+betta;
	window.setTimeout(rotate, 12);
	} rotate();
 </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновления изображения без перезагрузки страницы A.N.R.I jQuery 13 12.03.2018 21:18
Как можно сделать подгрузку и смену изображения без перезагрузки страницы с другого Евгений Болгов jQuery 11 21.10.2010 18:18
отрисовка изображения по произвольным координатам Th0m@$ Events/DOM/Window 14 23.01.2010 16:04
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28
Визуальное выделение части изображения Гость Общие вопросы Javascript 0 25.02.2008 19:44