簡體   English   中英

將Google圖表下載為jpeg而不是png?

[英]Download Google Chart as jpeg instead of png?

我目前正在使用以下代碼將Google圖表下載為png:

var imgUri = my_chart.getImageURI();
var url  = window.URL || window.webkitURL;
linkPNG = document.createElement("a");
linkPNG.href = imgUri;
linkPNG.download = title+".png";
link.click();

工作正常。 不幸的是,我的用戶需要jpeg而不是png,而我通常

var imgURL = my_chart.toDataURL( "image/jpeg" );

似乎不適用於Google Charts。 如何將圖表下載為.jpg而不是.png?

在花了一些時間瀏覽可視化庫的模糊源之后,我確定僅從數據URI重新創建圖像而不是嘗試更改原始導出類型將更容易。 您可以使用圖像加載數據URI,將其繪制在畫布上,然后將其轉換回數據URI。

var img = new Image();
img.addEventListener('load', function() {
    var canvas = document.createElement('canvas');
    canvas.width = img.width;
    canvas.height = img.height;
    var ctx = canvas.getContext('2d');
    ctx.fillStyle = 'white';
    ctx.fillRect(0, 0, img.width, img.height);
    ctx.drawImage(img, 0, 0);
    var link = document.createElement('a');
    link.href = canvas.toDataURL('image/jpeg');
    link.download = title + '.jpg';
    link.click();
});
img.src = my_chart.getImageURI();

某些錯誤處理也可能不是一個壞主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM