Сохраните изображение в локальную папку с помощью Smart Mobile Studio

Я пытаюсь выяснить, как сохранить изображение / холст в локальную папку в Smart Mobile Studio. Это должен быть способ для создания события сохранения в папку правой кнопкой мыши:

var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
   // draw .................

   // save canvas image as data url (png format by default)
var dataURL = canvas.toDataURL();
   // set canvasImg image src to dataURL so it can be saved as an image
document.getElementById('canvasImg').src = dataURL;

Я ожидаю, что sms-способ будет примерно таким:

W3Cont:=TW3GraphicContext.Create(Null);
W3Cont.Allocate(300,300);
W3Canv:=TW3Canvas.Create(W3Cont);
asm
  var dataURL = @W3Canv.toDataURL();
  document.getElementById('canvasImg').src = dataURL;
end; 

Но смс toDataUrl неизвестно!? ...

1 ответ

Решение

Когда я смотрю в W3Graphics.pas, я вижу, что TCanvas имеет функцию ToDataURL. Таким образом, вы можете использовать эту функцию без раздела asm, как

var dataURL := W3Canv.ToDataURL('');

(примечание: JavaScript в разделе asm чувствителен к регистру!)

Вы также можете взглянуть на W3Image.pas и его функцию TW3Image.toDataUrl.

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