存取 HTML Canvas 中的像素資料
是否可以擷取 HTML Canvas 物件中特定像素的顏色?是的,您可以使用 Canvas API 提供的各種方法存取和操作 HTML Canvas 中的像素資料。
取得像素顏色
擷取像素的顏色畫布中的特定位置,您可以使用 getImageData() 方法。此方法傳回一個代表畫布一部分的 ImageData 物件。 ImageData 物件包含一個像素資料數組,您可以使用 .data 屬性存取這些資料。
像素操作
一旦獲得像素數據,您就可以操作它如所願。例如,您可以透過將每個像素轉換為灰階來建立灰階影像:
// Get the CanvasPixelArray from the given coordinates and dimensions. var imgd = context.getImageData(x, y, width, height); var pix = imgd.data; // Loop over each pixel and convert it to grayscale. for (var i = 0, n = pix.length; i < n; i = 4) { var gray = (pix[i] pix[i 1] pix[i 2]) / 3; pix[i ] = gray; pix[i 1] = gray; pix[i 2] = gray; } // Draw the ImageData at the given (x,y) coordinates. context.putImageData(imgd, x, y);
透過利用getImageData() 和putImageData() 方法,您可以執行各種像素操作任務,例如影像過濾、色彩調整和在HTML 上建立效果帆布。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3