canvas и текст в изображение по клику
Люди, помогите вот с этой фишкой http://stackoverflow.com/a/18549573
На jsfiddle все работает, но когда скачиваю, подключаю jquery - не фурычит что-то. Кто-нибудь скиньте готовый html-код если тот у вас тоже не работает. Спасибо. Что я делаю не так? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Prototype</title> <script src="https://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script> <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.6.0.min.js"></script> <style type="text/css"> #container { border:solid 1px #ccc; margin-top: 10px; width:300px; height:300px; } </style> <script type="text/javascript"> var stage = new Kinetic.Stage({ container: 'container', width: 300, height: 300 }); var layer = new Kinetic.Layer(); stage.add(layer); var image = new Image(); image.onload = function () { var image1 = new Kinetic.Image({ x: 0, y: 0, width: 300, height: 300, image: image, }); layer.add(image1); layer.draw(); } image.src = "https://dl.dropboxusercontent.com/u/139992952/stackoverflow/KoolAidMan.png"; $("#addbutton").click(function () { // simple label var label = new Kinetic.Label({ x: 20, y: 20, draggable: true }); label.add(new Kinetic.Tag({ fill: 'green' })); label.add(new Kinetic.Text({ text: $("#newtext").val(), fontFamily: 'Verdana', fontSize: 18, padding: 10, fill: 'white' })); layer.add(label); layer.draw(); }); </script> </head> <body> <input id="newtext" type="text" value="Hello!"> <button id="addbutton">Any this text</button> <h2>The added text is draggable</h2> <div id="container"></div> </body></html> |
MRJ,
вы что нибудь про готовность страницы слышали или читали ? типа $.ready или window.onload или строка 81 |
:-? я-то тут не причем) код брал оттуда) 81 съехала, каюсь) а что в нем не так? просто я нуб в js))
|
Так ?
$(window).load(function(){ о, фурычит теперь ) |
MRJ,
Цитата:
|
все решено ;)
|
Кто знает, он отрисовывает только png? У меня генерируется png даже если исходник стоит jpg. Кто-нибудь знает как изменить?
|
Цитата:
|
laimas,
А как это прописать здесь??? Изображение вставляется не в canvas а в обычном div все рисуется.. Пробовал ничего не получается ( <script type="text/javascript"> //<![CDATA[ $(window).load(function(){ var stage = new Kinetic.Stage({ container: 'container', width: 500, height: 400 }); var layer = new Kinetic.Layer(); stage.add(layer); var image = new Image(); image.onload = function () { var image1 = new Kinetic.Image({ x: 0, y: 0, width: 0, height: 0, image: image, }); layer.add(image1); layer.draw(); } image.src = "/images/top3d.jpg"; $("#addbutton").click(function () { // simple label var label = new Kinetic.Label({ x: 15, y: 10, draggable: false }); label.add(new Kinetic.Text({ text: $("#newtext").val(), fontFamily: 'Georgia', fontSize: 34, padding: 10, fill: 'white' })); layer.add(label); layer.draw(); }); });//]]> </script> |
Цитата:
Судя по параметрам, Kinetic отрисовывает изображение, вставляет в него текст (?), и еще что-то, я не в курсе чего, а сделать это он может только используя canvas. Открывайте исходный код Kinetic, ищите в нем где возвращается изображение, и указывайте нужный вам формат. |
Часовой пояс GMT +3, время: 05:13. |