Определите, сколько элементов Canvas заполнено в HTML5
Я только начал с HTML5, и у меня есть программа рисования, где пользователь может заполнить холст, щелкнув кнопку мыши и перетаскивая курсор, как ручку. Я хочу иметь возможность выяснить, какой процент холста в настоящее время заполнен пером. Как я мог это сделать? Вот мой текущий код на Gist Спасибо!
1 ответ
Решение
Вы можете получить все необработанные значения пикселей <canvas>
используя вызов getImageData()
https://developer.mozilla.org/en-US/docs/DOM/CanvasRenderingContext2D
Затем вы перебираете эти данные пикселей в цикле Javascript и подсчитываете все пиксели, которые не имеют фонового цвета.
Процент заполненного холста
completed = filledInPixels / (canvas.width * canvas.height)
Обратите внимание, что getImageData()
Вызов очень медленный, и вы можете звонить только один раз в секунду.