2014-07-03 17 views
3

如何getImageData轉換爲todataUrl畫布如何getImageData轉換爲toDataUrl格式

code lines: 
var data = ctx.getImageData(150,200,200,100); 
var data = document.getElementById("canvas").toDataURL('image/gif'); 

第一情況:1參數x的空間,2 Y空間,3和4的x,y示例圖像:http://postimg.org/image/lfogtwjn7/所以我就croped圖像數據200像素X 100像素 第二種情形,我得到完整的圖像toDataUrl:document.getElementById("canvas").toDataURL('image/gif');

我怎樣才能裁剪圖像像getImageData(150,200,200,100)但toDataUrl格式 也許有人有其他優惠

回答

2

你可以在那裏使用額外的畫布繪製圖像,然後獲得toDataURL()

var destCtx = destinationCanvas.getContext('2d'); 
destCtx.drawImage(sourceCanvas, 150,200,200,100); 
var dataUrl =destCtx.toDataURL('image/png'); 
+0

u是什麼意思? var sourceCanvas = ctx.getImageData(820,300,500,200); ctx.drawImage(sourceCanvas,0,0); var data = ctx.toDataURL('image/gif'); – user3778390

+0

有'drawImage'超載,允許寬度和高度的寬度和剪輯圖像http://www.w3schools.com/tags/canvas_drawimage.asp –

+0

好的答案。請注意,'.toDataURL'不接受gif mime類型。您可以使用.png(默認)或.jpg。 – markE

2

toDataURL()方法應與HTML畫布元素,而不是用帆布上下文中使用。所以你必須這樣做:

var canvas = document.getElementById('CanvasId'); 
var dataUrl =canvas.toDataURL('image/png');