За последние 24 часа нас посетили 22187 программистов и 1682 робота. Сейчас ищут 1593 программиста ...

Как с помощью JavaScript кадрировать изображение?

Тема в разделе "JavaScript и AJAX", создана пользователем Ambrella, 30 мар 2008.

  1. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Подскажите как вырезать из изображения указанный пользователем кусок. То есть уже на подгруженном изображении должна быть зона которую можно двигать и выбрать место которое кадрировать далее. Причем кусок должен быть пропорционального размера?

    Задавал этот вопрос раньше на этом форуме в рубрике обработка изображений — дали мне хороший пример это кадрирование изображений на маил ру но там для меня уж очень все сложно

    Буду благодарен за дельный совет или линк почитать.

    Спасибо заранее :)
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    JavaScript, не Java.
     
  3. R22

    R22 Активный пользователь

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Конкретики дать не могу, но в свое время пользовался http://dynamicdrive.com/
    Там даже была игра puzzle сделанная на JS
    Полистай, а вдруг найдешь что- то.
     
  4. creage

    creage Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    навскидку - грузим рисунок, яваскрипом запоминаем координаты выделенния, передаем их на сервер. сервак режет исходник по координатам, и возвращает юзеру.
     
  5. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    если правильно понял вопрос, то: просто создается <div> которому в бэкграунд ставиться уже загруженная картинка. далее этому <div>'у ставятся требуемые width и height, а background-position назначает смещение видимой области фонового изображения.
     
  6. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Да что то такое нужно! А можно поподробнее? Спасибо!
     
  7. Ambrella

    Ambrella Активный пользователь

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Тоже такую штуку сейчас пишу. Столкнулся с проблемой - возвращает координаты относительно body, а не текущего элемента, хотя на этом элементе и стоит вызов запроса координат.
    Как понимаю, чтобы высчитать координаты относительно элемента, необходимо найти координаты элемента и вычесть их из возвращаемых координат. Но тут баг - возвращает пустоту (видимо потому, что relative).




    HTML:
    1.  
    2. <div style="position: relative; z-index: 0; border: 1px solid white;" id="foto_1" onMouseOver="coord.newlayer(1)" onMouseout="coord.destlayer(1)" onMouseMove="coord.move(event, 'drug');">
    3.     <img src="clientside/gallery/temp/img.jpg" alt="">
    4. </div>
    5.  
    [js]
    function newlayer(id) {
    this.parent = document.getElementById("foto_"+id);
    this.div = document.createElement("div");
    this.div.className = "divlayer";
    this.div.width = "100px";
    this.div.height = "100px";
    this.parent.appendChild(this.div);
    alert(this.parent.parentNode.style.left) //Возвращает пустоту;
    }
    function move(e, type) {
    var e = (!e) ? window.event : e;
    this.Y = e.pageY || e.y;
    this.X = e.pageX || e.x;
    if (type == 'drug') {
    if (this.fixed == false) {
    this.setCoordinate();
    }
    }
    }
    [/js]
    В итоге получается, что квадратик бегает на 325 пикселей ниже и 20 левее. Чего делать?