É possível consultar um objeto HTML Canvas para obter a cor em um local específico?
javascript
html
canvas
Liam
fonte
fonte
Você tentou o método getImageData?
fonte
idx = (y * width + x) * 4
como a resposta de Georg. No entanto, não se esqueça de atualizar esse objeto em cache sempre que a imagem mudar.Color()
construtor? Isso não parece existir em lugar nenhumSim, claro, desde que você tenha o contexto. Como obter o contexto da tela?
PS: Se você planeja modificar os dados e trazê-los de volta à tela, pode usar
subarray
Você pode experimentar isso em http://qry.me/xyscope/ , o código para isso está no código-fonte, basta copiar / colar no console.
fonte
context.getImageData(x, y, 1, 1);
fonte
Sim, verifique getImageData (). Aqui está um exemplo de quebra de captcha com JavaScript usando canvas:
http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/
fonte
Observe que getImageData retorna um instantâneo. As implicações são:
fonte
fonte
Você pode usar
i << 2
.fonte
Oneliner de leitura longa e prática (desenhe pixel aqui )
Exibir trecho de código
A primeira linha é a parte inicial onde você pode alterar o seletor de tela
s='.myCanvas'
. Este prático oneliner é bom para testar algoritmos ou fazer prova de conceito, mas para código de produção é melhor usar outro código mais claro e legível.fonte
Se você deseja extrair uma determinada cor de pixel passando as coordenadas de pixel para a função, isso será útil
x
,y
é a coordenada cuja cor você deseja filtrar.A cor é o objeto, você receberá o valor rgb por
color.r
,color.g
,color.b
.fonte