Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2009, 16:25
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Эффект Лупа на JavaScript
Помогите переделать работающий скрипт прямоугольной лупы, на круглую.

<html>
<head>
<title>Увеличительное стекло</title>

<script type="text/javascript">

document.onmousemove = handlerMM;

function handlerMM(e)
{
var dx = 0;
var dy = 0;
var fact = 2;
var opp = 70;

var x = (e)?e.pageX:event.x;
var y = (e)?e.pageY:event.y;

dx = (e)?0:window.document.body.scrollLeft;
dy = (e)?0:window.document.body.scrollTop;

var x1 = (x + dx) * fact; // левая край
var y1 = (y + dy) * fact; // верхний край
var x2 = 2 * opp + (x + dx) * fact; // правый край
var y2 = 2 * opp + (y + dy) * fact; // нижний край

document.getElementById("glass").style.left = (x + dx) * (1 - fact);
document.getElementById("glass").style.top = (y + dy) * (1 - fact);
document.getElementById("glass").style.clip = "rect(" +y1 +"px," +x2 +"px," +y2 +"px,"+x1 +"px)";

}

</script>
</head>

<body>
<h5>Увеличительное стекло</h5>
<!-- Картинка-источник -->
<img id="pic" src="Forest Flowers.jpg" galleryimg = "no" width=320 style="position: absolute; top: 40px; left: 10px; border-style: none">

<!-- Лупа -->
<img id="glass" src="Forest Flowers.jpg" width=640 style="position: absolute; top: 40px; left: 10px; clip: rect(10px, 100px, 100px, 10px); border-style: none;">

<!-- для сравнения -->
<img src="Forest Flowers.jpg" width="320" height="240" style="position: absolute; top: 330px; left: 10px; border-style: none;">

</body>
</html>

Очень надо, сроки поджимают.
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2009, 16:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

модифицировать этот скрипт не представляется возможным
style.clip позволяет рисовать только прямоугольники

идей, как можно реализовать в обход - нету
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2009, 17:58
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Идея проста: делай картинку с прозрачной круглой областью
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2009, 19:07
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Ну может чем-то заменить, я весь интернет облазил, ничего не нашел. А сделать как-то надо.
Ответить с цитированием
  #5 (permalink)  
Старый 13.05.2009, 19:08
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Это как картинку с прозрачной круглой областью?
Ответить с цитированием
  #6 (permalink)  
Старый 13.05.2009, 19:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от ZoNT
Идея проста: делай картинку с прозрачной круглой областью
покажи пример.
я сколько не ломал голову, не придумал, как сделать, чтобы внутри круглой области показывалась увеличенная картинку, а вокруг нее показывался рисунок с поднизу
Ответить с цитированием
  #7 (permalink)  
Старый 13.05.2009, 19:41
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

как я понимаю, нужно всего лишь поверх glass поместить картинку с прозрачной круглой областью
Ответить с цитированием
  #8 (permalink)  
Старый 13.05.2009, 19:43
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Вот пример
Вложения:
Тип файла: zip JavaScript.zip (118.4 Кб, 46 просмотров)
Ответить с цитированием
  #9 (permalink)  
Старый 13.05.2009, 19:44
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Только это прямоугольник, я это сделал, а вот круг не получается(((
Ответить с цитированием
  #10 (permalink)  
Старый 13.05.2009, 19:45
Новичок на форуме
Отправить личное сообщение для Весёлый Мишка Посмотреть профиль Найти все сообщения от Весёлый Мишка
 
Регистрация: 13.05.2009
Сообщений: 6

Сообщение от x-yuri Посмотреть сообщение
как я понимаю, нужно всего лишь поверх glass поместить картинку с прозрачной круглой областью
Ну сделать круглую лупу, чтобы под ней увеличивалось изображение.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Компании Яндекс нужен Javascript гуру Yandex Работа 17 16.12.2008 16:46
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43