我有一個base64編碼的PNG。我需要使用javascript來獲取像素的顏色。我想我必須將其轉換回正常的PNG。 任何人都可以指向正確的方向嗎?使用javascript獲取Base64 PNG的像素顏色?
10
A
回答
14
使用base64圖像作爲源創建一個Image
對象。然後,您可以將圖像繪製到畫布上,並使用getImageData
函數獲取像素數據。
這裏是基本的想法(我沒有測試過這一點):
var image = new Image();
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
// Now you can access pixel data from imageData.data.
// It's a one-dimensional array of RGBA values.
// Here's an example of how to get a pixel's color at (x,y)
var index = (y*imageData.width + x) * 4;
var red = imageData.data[index];
var green = imageData.data[index + 1];
var blue = imageData.data[index + 2];
var alpha = imageData.data[index + 3];
};
image.src = base64EncodedImage;
相關問題
- 1. PNG ++讀取像素顏色值
- 2. 使用Magick獲取像素顏色++
- 3. GDAL獲取像素顏色
- 4. FreeImage:獲取像素顏色
- 5. Java - 獲取像素顏色
- 6. 使用畫布和JavaScript來讀取圖像的像素顏色
- 7. 獲取rMagick中像素的顏色
- 8. Java獲取像素的顏色LIVE
- 9. 獲取UIImage的像素顏色
- 10. 獲取AVCaptureSession或AVCaptureVideoPreviewLayer的像素顏色
- 11. 從PNG圖像中提取像素顏色
- 12. 在Swift 3中使用CGPoint從圖像獲取像素顏色
- 13. 使用PHP獲取圖像的顏色
- 14. 嘗試獲取像素顏色
- 15. 從NSImage獲取像素和顏色
- 16. 如何從像素獲取顏色? OpenGL
- 17. 從圖片中獲取像素顏色?
- 18. 從.png文件中獲取顏色的HTML顏色代碼?
- 19. 如何獲取圖像中像素的顏色(加載灰色)?
- 20. 使用JavaScript獲取CRM主題顏色
- 21. 使用Javascript的圖像的像素顏色值
- 22. 使用pygame在位置獲取像素顏色
- 23. 讀取圖像的像素顏色
- 24. 使用JavaScript從外部圖像獲取顏色
- 25. 從上下文獲取png圖像,但查看顏色變化
- 26. 從iPhone上的PNG圖像讀取像素顏色值的簡單方法?
- 27. iPhone:如何獲取圖像的每個像素的顏色?
- 28. 獲取pygame中圖像的單個像素的顏色
- 29. 如何使用WinRT中的WriteableBitmapEx從圖像中的點獲取像素顏色?
- 30. 從Vaadin的圖像獲取像素顏色
是的,你必須二者的base64解碼,然後解碼JavaScript中的PNG流。這是一個很難(雖然不是不可能)的問題。您可能實際上受限於此要求,但如果您提供更多的上下文,則可能會得到一些範圍更廣的答案,以提供此情況下的其他解決方法。例如。 PNG數據來自哪裏?它會去哪裏?你需要每個圖像的單個固定像素嗎?你有任何服務器支持?等等 – 2010-08-20 05:06:30
爲了使它更加詳細:我正在嘗試編寫一個Safari擴展。它將模仿Colorzilla for Firefox的功能。我看到這是可能的唯一方法是,如果你採取「截圖」。輸出在Base64 PNG中。我最終需要跟蹤鼠標,然後將其與圖像同步以將點擊的像素數據從圖像中拉出。 – switz 2010-08-20 05:08:45
@BenZotto爲什麼會很難? – Melab 2017-02-02 13:50:51