Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Js копирование изображения (https://javascript.ru/forum/misc/18478-js-kopirovanie-izobrazheniya.html)

Severtain 02.07.2011 19:10

Js копирование изображения
 
Помогите, в canvas'e, перенести изображение с одного холста на другой!

dmitriymar 02.07.2011 19:42

взять область из канвы getImageData
вставить область в канву putImageData
и изображения какое берётся из канвы -должно быть загружено с того же домена что и сама страница. file api -не пройдёт по идее
либо данные= document.getElementById("ид кавы").toDataURL() .данные отправить на сервер сохранить в файл и загрузить в канву этот файл

Severtain 02.07.2011 20:03

мм.. я к сожалению работаю без сервера... (оффлайн) так что не знаю получиться ли сделать второй вариант!
на счет первого попробую спасибо!

Severtain 02.07.2011 20:08

А можно кинуть примеры?!!

dmitriymar 02.07.2011 20:13

первый не пройдёт без сервера -в локальном политика безопасности браузера включиться и изображение не будет вырезано....

dmitriymar 02.07.2011 20:17

cnvobj=document.getElementById("канва1");
ctx=cnvobj.getContext("2d");
imgd = ctx.getImageData(x,y,dlinna x,dlinna y);//берём область из канвы 1
cnvobj1=document.getElementById("канва2");
ctx1=cnvobj1.getContext("2d");
ctx1.putImageData(imgd, nachalo x, nachalo y);//вставляем область в канву 2


локально ,если изображение будет загружаться в канву 1 ,пусть даже оно будет лежать в тойже папке что и страница -в консоли выбьет ошибку-по поводу безопасности

Severtain 02.07.2011 20:25

Код: Нет спасибо все пашет)))

var imgd;
var imgDR = new Image();
var outImg,renImg;

function main()
{
outImg = d.getElementById("screen").getContext("2d");
renImg = d.getElementById("ds").getContext("2d");
imgDR.src='book.png';
outImg.drawImage (imgDR, 0, 0);
imgd=outImg.getImageData(0,0, 404, 720);
renImg.putImageData(imgd, 0, 0);
outImg.clearRect(0, 0, d.getElementById('screen').offsetWidth, d.getElementById('screen').offsetHeight);
}

dmitriymar 02.07.2011 22:02

в фф5 не пройдёт-будет ошибка и ещё в некоторых

Severtain 02.07.2011 22:15

Та если под всех подстраиваться.. ладно! посмотрим получиться ли реализовать все с такой функцией!

dmitriymar 02.07.2011 23:18

ну почему под всех? всего под 90% пользователей:D


Часовой пояс GMT +3, время: 07:28.