Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   HTML5 CANVAS (https://javascript.ru/forum/offtopic/29201-html5-canvas.html)

slava878787 19.06.2012 15:59

HTML5 CANVAS
 
Помогите решить проблему
надо чтоб при нажатии на кнопку все сожержимое Canvas переместилось в новое окно... в содержимое входит - рисунки (то есть грубо говоря сделать скрин-шот содержимого канваса)

DjDiablo 19.06.2012 16:16

Другое окно это размытое определение :)
но думаю в любом случае это можно сделать через копирывание из канваса в канвас.

imgdata=src.getImageData(0,0,width,height) - для копирывания из канваса (документация )
dst.putImageData(data,0,0) - для вставки в канвас (документация )


ха, хотя было бы забавно скопирывать сам канвас как дум элемент, интересно он вместе с содержимым скопируется или нет.

slava878787 19.06.2012 16:23

спасибо дружище, попробую

slava878787 20.06.2012 10:37

все равно что то не получается
вот код загрузки страницы

window.onload = function(){

$('#canvWidth').val('500');
$('#canvHeight').val('500');
cw = parseInt($('#canvWidth').val(),10);
ch = parseInt($('#canvHeight').val(),10);
// $('#layer00').css({'width':(cw+100)+'px','height': (ch+100)+'px'})
$('#center').css({'width':(cw+100)+'px'})
$('.kineticjs-content').css({'display':'block'})

drawSize();
addFonRect();
window.kof=1;

// addText();
//addWeb();
// reinforcment();

var sources = {
tImg: put_html5+"images/kub.jpg"

};
loadImages(sources, initStage);

};

мне надо что бы все сожержимое Canvas переместилось в новое окно

slava878787 20.06.2012 11:31

в конце я дописал две строчки вот новый код

window.onload = function(){

$('#canvWidth').val('500');
$('#canvHeight').val('500');
cw = parseInt($('#canvWidth').val(),10);
ch = parseInt($('#canvHeight').val(),10);
// $('#layer00').css({'width':(cw+100)+'px','height': (ch+100)+'px'})
$('#center').css({'width':(cw+100)+'px'})
$('.kineticjs-content').css({'display':'block'})

drawSize();
addFonRect();
window.kof=1;

// addText();
//addWeb();
// reinforcment();

var sources = {
tImg: put_html5+"images/kub.jpg"

};
loadImages(sources, initStage);



var dataURL = canvasl00.toDataURL(); // дописаные строки
document.getElementById("canvasImg").src = dataURL; // дописаные строки

};

slava878787 20.06.2012 11:32

оно отображает пустой рисунок, в чем проблема??спасибо

slava878787 20.06.2012 11:44

вот статейку нашел http://www.html5canvastutorials.com/...g-as-an-image/

vadim5june 20.06.2012 11:45

Цитата:

Сообщение от slava878787 (Сообщение 182694)
оно отображает пустой рисунок, в чем проблема??спасибо

это может быть если рисунок загружается с локального диска или с другого домена

slava878787 20.06.2012 12:05

я понял ошибку надо было еще переконвертировать изображение в jpeg вот код после изменений

window.onload = function(){

var canvasl00 = document.getElementById('layer00'); //
var contextl00 = canvasl00.getContext('2d'); //

$('#canvWidth').val('500');
$('#canvHeight').val('500');
cw = parseInt($('#canvWidth').val(),10);
ch = parseInt($('#canvHeight').val(),10);
// $('#layer00').css({'width':(cw+100)+'px','height': (ch+100)+'px'})
$('#center').css({'width':(cw+100)+'px'})
$('.kineticjs-content').css({'display':'block'})

drawSize();
addFonRect();
window.kof=1;

// addText();
//addWeb();
// reinforcment();

var sources = {
tImg: put_html5+"images/kub.jpg"

};
loadImages(sources, initStage);

var dataURL = canvasl00.toDataURL(); //
document.getElementById("canvasImg").src = dataURL; //

var strDataURI = canvasl00.toDataURL();
//var strDataURI = canvasl00.toDataURL("images/jpeg");


Canvas2Image.saveAsPNG(canvasl00);

var oImgPNG = Canvas2Image.saveAsPNG(canvasl00, true);

Canvas2Image.saveAsPNG(canvasl00, false, 100, 100);


};


но все равно не отображается !!!!!!

vadim5june 20.06.2012 12:34

Цитата:

Сообщение от slava878787 (Сообщение 182708)
нет рисунок формируется з канваса!!!!!просто он был в кодировке use64

а теперь работает?


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