Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавление текста canvas (https://javascript.ru/forum/misc/39790-dobavlenie-teksta-canvas.html)

IVAAAAN 12.07.2013 00:04

Добавление текста canvas
 
Сделал добавление текста в canvas:
var checkText = false;
function addText(){
	checkText = true;
	$(".board").append('<div class="textDrag" style="min-width:250px;width:auto;height:auto;background:#ccc;padding:10px;"><textarea class="addTextCanvas"></textarea></div>');
	$(".textDrag").draggable({ opacity: 0.35 });


}

Сохранение:
var oConvas = document.getElementById('board');
	if(checkText){
	var x = $(".textDrag").offset().left;
	var y = $(".textDrag").offset().top;
	var text = $(".addTextCanvas").val();
	var ctx = oConvas.getContext('2d');
	ctx.font = "Tahoma Geneva sans-serif 15px";
	ctx.fillText(text, x, y);
	}


есть две проблемы:
1. Я могу добавить только один текст. Т.е если я даже добавлю два поля для ввода текста, то сохраниться только один из них.
2. Не сохраняется форматирование(перенос строк)

vadim5june 12.07.2013 05:21

Цитата:

Сообщение от IVAAAAN
1. Я могу добавить только один текст. Т.е если я даже добавлю два поля для ввода текста, то сохраниться только один из них.
2. Не сохраняется форматирование(перенос строк)

в строке ctx.fillText(text, x, y);
напишите другие координаты и будет 2 или больше строк
форматированиее сами должны делать-это же канвас

IVAAAAN 12.07.2013 10:11

Цитата:

Сообщение от vadim5june
напишите другие координаты и будет 2 или больше строк

какие?

vadim5june 12.07.2013 11:38

например
ctx.fillText(text, x, y);
 ctx.fillText('tratata', x, y+20);

IVAAAAN 12.07.2013 12:14

Цитата:

Сообщение от vadim5june (Сообщение 261878)
например
ctx.fillText(text, x, y);
 ctx.fillText('tratata', x, y+20);

ну да, и так кучу прописывать. гениально

vadim5june 12.07.2013 13:46

Цитата:

Сообщение от IVAAAAN (Сообщение 261889)
ну да, и так кучу прописывать. гениально

Если найдешь другой способ-напиши

IVAAAAN 12.07.2013 15:00

Нашел
$(".addTextCanvas").each(function(){
				var x =$(this).offset().left;
				var y = $(this).offset().top;
				var text = $(this).val();
				var ctx = oConvas.getContext('2d');
				ctx.font = "Tahoma Geneva sans-serif 15px";
				ctx.fillText(text, x, y);
		});


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