我有圖像大小32 * 32,並有每個像素顏色的數組。這種顏色是紅色綠色藍色的組合。我想在JavaScript中使用此數組繪製圖像。如何使用此信息繪製圖像?如何從像素顏色數組中創建一個圖像javascript
3
A
回答
0
這假設你的像素顏色都是十六進制格式。如果不是,你需要給他們以某種方式轉換:
var imgData = [ /* your array of pixel colors */ ],
img = document.createElement('div'),
i = 0, l = imgData.length,
pixel;
img.style.cssText = 'overflow:hidden; width:32px; height:32px';
while (i < l) {
pixel = document.createElement('div');
pixel.style.cssText =
'float:left; width:1px; height:1px; background-color:#' + imgData[i];
img.appendChild(pixel);
i += 1;
}
document.body.appendChild(img);
+0
-1之前多久? – sdleihssirhc
+0
它是一個錯誤的答案。使用imageData的Canvas是正確的方法。 –
2
簡短的回答是,你不應該在JavaScript中做到這一點,因爲它應該是有多種原因的服務器操作。但是,您需要提供有關您要做什麼的更多詳細信息。有多種路線可供選擇:
- 使用DIV塊。這很慢,可能是最糟糕的做法,但它可能是最容易理解的。
- 使用HTML畫布(或類似畫布的替代方法,如excanvas)。可能是下一個最簡單的,儘管我認爲它對玩具以外的任何東西都是最不有用的。
- 在SVG中繪製一些東西(或像RaphaelJS那樣的類SVG)。儘管32x32塊看起來很小,但這看起來是最好的。
- 與內置Flash或Silverlight等插件的渲染器的接口。
讓我們在畫布方法的分解(使用本機命令油畫像的Chrome瀏覽器):
var drawingCanvas = document.getElementById('myDrawing');
if(!drawingCanvas.getContext)
{
return;
}
var context = drawingCanvas.getContext('2d');
var pixSize = 1;
for (var i=0; i < rows.length; i++)
{
var col = rows[i];
for (var j=0; j < col.length; j++)
{
context.fillStyle = col[j]; // assumes the data is in #hex format already.
context.fillRect(j*pixSize,i*pixSize,pixSize,pixSize);
}
}
相關問題
- 1. 如何從像素顏色數組中創建圖像? (Flash,Actionscript 3)
- 2. 如何從逐個像素的顏色數組中繪製圖像?
- 3. 如何從透明圖像創建圖像損壞顏色?
- 4. 從圖像中獲取像素顏色
- 5. 創建一個從像素的圖像
- 6. 如何創建一個圖像數組?
- 7. 從圖像創建一個數組
- 8. 如何改變一個像素的顏色的圖像
- 9. 如何從圖像中獲取像素的顏色?
- 10. 繪製數據重建圖像文件中的像素顏色
- 11. 如何從數組中的圖像源創建畫布圖像?
- 12. 從圖片中獲取像素顏色?
- 13. 如何查找圖像中特定顏色的像素數量?
- 14. 用android中的顏色創建圖像
- 15. 如何獲取圖像中像素的顏色(加載灰色)?
- 16. 如何從Qt中的顏色數據數組顯示圖像?
- 17. 如何從一組顏色和浮點數創建一個NSGradient?
- 18. 從數據url/uri圖像中提取像素顏色
- 19. 從黑色和白色1D陣列像素創建圖像
- 20. PHP - 從圖像創建一個圖像
- 21. 顏色從圖像
- 22. 更改.gif圖像中每個像素的顏色數量?
- 23. 如何在Pygame中創建一個像素數組?
- 24. 顏色中的一個像素
- 25. 從位圖數據中移除一種顏色的像素
- 26. 如何從像素獲取顏色? OpenGL
- 27. 如何填充顏色完全像這個圖像的顏色?
- 28. iPhone:如何獲取圖像的每個像素的顏色?
- 29. 如何創建一個tabView像圖像
- 30. 如何創建像分組tableview背景顏色的紋理背景(圖像調色板)顏色?
有好的方法,現在做到這一點。請參閱http://stackoverflow.com/questions/13416800/how-to-generate-an-image-from-imagedata-in-javascript。 –