2013-11-22 3 views
3

Я добавляю div «chartdiv00» как изображение в div «imgChart1».Как скачать изображение на div?

LoadImage = function(){ 
    var imgData = $('#chartdiv00').jqplotToImageStr({}); 
    var imgElem = $('<img/>').attr('src',imgData); 
    $('#imgChart1').append(imgElem); 
} 

то, что я хочу, чтобы загрузить изображение в Див «imgChart1» в качестве PNG или JPG с помощью кнопки. Как я мог это сделать? Могу ли я использовать атрибут загрузки в HTML5? Тогда какой URL-адрес моего изображения? Если я могу преобразовать изображение в dataURI, я могу его загрузить. Есть ли способ конвертировать этот вид изображения в dataURI?

Благодаря

+0

Что вы получаете в imgData? – writeToBhuwan

+0

@writeToBhuwan Я использую jqplot для построения графиков, и я хочу загрузить этот график. img Данные состоят из изображения jqplot. – DilanG

ответ

3

Если вы печатаете изображение в canvas элемент, то вы можете использовать canvas.toDataURL(), чтобы получить base64 представление изображения.

https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement

EDIT: Вот быстрый и грязный способ, как получить ссылку для загрузки холста в виде изображения.

  var canvas = $('<canvas>')[0]; 
      var ctx = canvas.getContext('2d'); 

      ctx.fillStyle='#f00'; 
      ctx.fillRect(0,0, canvas.width,canvas.height); 

      var link = $('<a>').attr({ 
       href : canvas.toDataURL(), 
       download : 'imageName', 
       target : '_blank' 
      }).text('download link'); 

      $('#Content').append(link); 

PS. Имейте в виду, что, поскольку вы используете холст в качестве буфера для получения кода base64 изображения, на самом деле вам не нужно добавлять его в дерево DOM. Также jQuery не является существенным, одна и та же логика будет работать и в чистом JS.

+0

Спасибо вам за ответ, но после получения изображения на холст все еще я не могу загрузить изображение, загружая html-файл, ничего не состоящий. – DilanG

+0

Не могли бы вы рассказать мне, как загрузить его? – DilanG

+0

@ DilanG проверить EDIT, я использовал jQuery для быстрого кодирования, но вы можете использовать ту же логику и с чистым JS – Idra

Смежные вопросы