Apakah mungkin untuk menanyakan objek Kanvas HTML untuk mendapatkan warna di lokasi tertentu?
javascript
html
canvas
Liam
sumber
sumber
Sudahkah Anda mencoba metode getImageData?
sumber
idx = (y * width + x) * 4
jawaban seperti Georg. Namun, jangan lupa menyegarkan objek yang di-cache itu setiap kali gambar berubah.Color()
Konstruktor apa itu ? Tampaknya tidak ada di mana punYa tentu, asalkan Anda memiliki konteksnya. Bagaimana cara mendapatkan konteks kanvas?
PS: Jika Anda berencana untuk mengubah data dan menggambarnya kembali di kanvas, Anda dapat menggunakan
subarray
Anda dapat bereksperimen dengan ini di http://qry.me/xyscope/ , kode untuk ini ada di sumbernya, cukup salin / tempel di konsol.
sumber
context.getImageData(x, y, 1, 1);
sumber
Yup, lihat getImageData (). Berikut adalah contoh memecahkan captcha dengan JavaScript menggunakan kanvas:
http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/
sumber
Perhatikan bahwa getImageData mengembalikan snapshot. Implikasinya adalah:
sumber
sumber
Anda bisa menggunakan
i << 2
.sumber
Satu baris piksel baca panjang yang praktis (gambar piksel di sini )
Tampilkan cuplikan kode
Baris pertama adalah bagian awal tempat Anda dapat mengubah pemilih kanvas
s='.myCanvas'
. Oneliner yang praktis ini baik untuk menguji algoritma atau membuat bukti konsep tetapi untuk kode produksi lebih baik menggunakan kode lain yang lebih jelas dan dapat dibaca.sumber
Jika Anda ingin mengekstrak warna tertentu dari piksel dengan meneruskan koordinat piksel ke dalam fungsi, ini akan berguna
x
,y
adalah koordinat yang ingin Anda filter warnanya.Warnanya objek, Anda akan mendapatkan nilai rgb oleh
color.r
,color.g
,color.b
.sumber