Буквально холст сохранить как png

У меня возникла проблема с сохранением моего рисунка в формате PNG, используя буквально холст, всякий раз, когда я нажимал кнопку «Сохранить как PNG», меня переходили только на другую вкладку с «about: blank».

  • кнопка

    <button id='save'>Save as PNG</button>
    
  • холст

     var lc = LC.init(document.getElementsByClassName('my-drawing')[0]   
    
  • функция сохранения

      document.getElementById('save').onclick = function(e){
            e.preventDefault();
            window.open(lc.getImage().toDataURL());
               }
    

1) какой браузер 2) как выглядит начало сгенерированного uri

emix 10.09.2018 08:42

@emix google chrome, он просто показывает about: blank

Jun Sheng Lee 10.09.2018 09:03

Могу сказать по твоему вопросу. Но что возвращает lc.getImage().toDataURL().

emix 10.09.2018 09:04

@emix извините, я только начал программировать, но что значит "возврат"? Когда я нажимаю, на другой вкладке отображается только пустая страница.

Jun Sheng Lee 10.09.2018 09:09

попробуйте эту ссылку буквальноcanvas.com/examples/export.html

chintuyadavsara 10.09.2018 09:21

@ChintuYadavSara Я пробовал, он все еще дает мне about: blank. Это проблема моего браузера? У вас нормально работает?

Jun Sheng Lee 10.09.2018 09:39
1
6
422
1

Ответы 1

Я могу сохранить свой рисунок Literally Canvas, используя следующую кнопку в качестве дополнительной кнопки вне пользовательского интерфейса LC, но по какой-то причине я не могу, хоть убей, превратить его в кнопку панели инструментов в пользовательском интерфейсе LC react.js без он каким-то образом ошибается:

<div class="my-drawing"></div>
<button onClick="saveToFile()">Save</button>

<script>
var lc = LC.init(document.getElementsByClassName('my-drawing')[0];

function saveToFile() {
    var filename = prompt("Save your drawing as:","drawing.png");
    if (filename) {
        filename = "drawing.png";
        lc.getImage().toBlob(function(blob) {
        saveAs(blob, filename);
        });
    }
}
</script>

Работает в Chrome 76 и Firefox 68. Я использую filesaver.js для обработки файлов.

Другие вопросы по теме