Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> повернуть картинку, средствами JS 
:(
    Опции темы
quiz
Дата 3.6.2007, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Реально ли средствами JavaScript поворачивать JPEG на определенный угол (с точностью до градуса)? smile 
PM MAIL   Вверх
Wolf1994
Дата 3.6.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



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

Для данной цели рекомендую использовать анимированный "gif" или, если необходимо создание интерактивного сценария поведения картинки - "Flash".
PM MAIL WWW   Вверх
AKS
Дата 3.6.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Повернуть можно, причем с точностью до градуса. 
В так называемых "современных" браузерах это можно сделать посредством Canvas (используя метод rotate). Ну а "старый добрый" IE давным-давно способен на подобные "трюки", например есть у него фильтр, называемый Matrix. С помощью этого фильтра можно "крутануть" изображение или еще чего-нибудь. Вот маленький примерчик (за основу взял пример с MSDN):
Код

<div style='width:100px;height:100px;position:absolute;background-color:red;top:200px;left:200px;
    filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod="auto expand");' 
    onclick='Spin(this.filters.item(0), 0, 1)'></div>

Код

function Spin(aFilter, aDeg, aInc) {
    aDeg += aInc;
    var rad = aDeg * Math.PI * 2 / 360,
        costheta = Math.cos(rad),
        sintheta = Math.sin(rad);
    aFilter.M11 = costheta;
    aFilter.M12 = -sintheta;
    aFilter.M21 = sintheta;
    aFilter.M22 = costheta;
    if (aDeg < 90) {
        window.setTimeout(function () {
                       Spin(aFilter, aDeg, aInc);
                   }, 100);
    }
}

Данный пример позволит повернуть блок на 90 градусов (пошагово в 1 градус), если Вы рискнете кликнуть по этому блоку. ;)
А можно воспользоваться профессиональным сценарием - библиотекой ExplorerCanvas, которая позволяет делать подобные вещи кроссбраузерно...
PM MAIL   Вверх
quiz
Дата 3.6.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Спасибо!
PM MAIL   Вверх
quiz
Дата 4.6.2007, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Помучался с фильтром матрикс, но так и не понял, как заставить его вращать картинку вокруг определенной точки. По умолчанию он вращает вокруг левого верхнего угла DIVа smile 
PM MAIL   Вверх
dstorm81
Дата 4.6.2007, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39





--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0659 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.