ImageData() fonksiyonu, verilen genişlik ve yüksekliğe sahip olan ve belirtilen yazı dizisinden oluşturulmuş yeni başlatılmış bir ImageData nesnesini döndürür.
Örn: arr dizisi 40000 uzunluğa sahiptir: her biri 4 değer ile tanımlanan 10.000 pikselden oluşur. ImageData yapıcısı, yeni nesne için 200 genişliğini belirtir, bu nedenle yüksekliği varsayılan olarak 10.000/200 sonucu 50 olarak hesaplanır.
Çıktı:
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <canvas id="canvas" width="300" height="200"></canvas> <script> const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); const arr = new Uint8ClampedArray(40000); // her pixel için dönüyoruz for (let i = 0; i < arr.length; i += 4) { arr[i + 0] = 0; // R value arr[i + 1] = 190; // G value arr[i + 2] = 0; // B value arr[i + 3] = 255; // A value } // diziden resim dosyasını oluştur let imageData = new ImageData(arr, 200); // resmi canvasa çiz ctx.putImageData(imageData, 20, 20); </script> |
Yorum Yap