Эффект Лупа на JavaScript
Помогите:help: переделать работающий скрипт прямоугольной лупы, на круглую.
<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> Очень надо, сроки поджимают. |
модифицировать этот скрипт не представляется возможным
style.clip позволяет рисовать только прямоугольники идей, как можно реализовать в обход - нету |
Идея проста: делай картинку с прозрачной круглой областью :)
|
Ну может чем-то заменить, я весь интернет облазил, ничего не нашел. А сделать как-то надо.
|
Это как картинку с прозрачной круглой областью?
|
Цитата:
я сколько не ломал голову, не придумал, как сделать, чтобы внутри круглой области показывалась увеличенная картинку, а вокруг нее показывался рисунок с поднизу |
как я понимаю, нужно всего лишь поверх glass поместить картинку с прозрачной круглой областью
|
Вложений: 1
Вот пример
|
Только это прямоугольник, я это сделал, а вот круг не получается(((
|
Цитата:
|
Часовой пояс GMT +3, время: 05:50. |