Можно получить данные растрового изображения HTML Canvas 2D, возможно ли также получить доступ к визуализированному содержимому элемента Canvas 3D/WebGL в виде растровых данных?Как вы извлекаете данные растрового изображения WebGL?
ответ
Подпись в формате readPixels WebGL была изменена в более позднем варианте.
Вместо того, чтобы возвращать новый массив с каждый раз пиксельных данных, вы передаете массив для заполнения, как последний аргумент:
недействительные readPixels (отблеск х, отблеск у, GLsizei ширина, GLsizei высота, формат GLenum, тип GLenum , ArrayBufferView)
Это позволяет повторно использовать один и тот же массив для нескольких операций readPixels.
Из рабочего проекта WebGL Specification:
ArrayBufferView readPixels(GLint x, GLint y,
GLsizei width, GLsizei height, GLenum format, GLenum type)
Вернуть ArrayBufferView с пикселями в пределах переданного прямоугольника. Данные , возвращенные с readPixels, должны быть обновлены с последней последней отправленной командой рисования. Любые необработанные команды рисования должны быть заполнены и , их результаты представлены текущим буферам рисования перед readPixels обращается к буфере рисования.
Конкретный подкласс Возвращаемый ArrayBufferView зависит от пройденного типа. Если это UNSIGNED_BYTE, возвращается Uint8Array , в противном случае возвращается Uint16Array .
Не так прямо, как использование readPixels, но это также может работать. Вы также можете визуализировать холст элемента изображения, например, так:
var img = document.getElementById("game-canvas").toDataURL("image/jpeg");
$("#shots").append("<img src=\"" + img + "\" width=\"320\" height=\"480\"/>");
Вы должны получить контекст WebGL с специальной опцией preserveDrawingContext для этой работы, хотя:
var gl = canvas.getContext("experimental-webgl", {preserveDrawingBuffer: true});
С этого момента, если вы хотите легко манипулировать изображением, вы можете сделать это на 2-мерном холсте и прочитать пиксели там, если хотите.
Я регулярно использую это, чтобы делать «скриншоты» того, с чем я играю.
- 1. Как вы извлекаете вложенные наборы?
- 2. В java, как вы извлекаете изображения из файла jar?
- 3. Как вы извлекаете параметр POST в node.js?
- 4. Как вы извлекаете данные из файла .FIC в java?
- 5. как вы извлекаете данные XML из файла C#
- 6. Как вы извлекаете данные прошлых дней из таблицы Oracle?
- 7. Как вы подключаете и извлекаете данные из графита (шепотом)
- 8. как вы извлекаете данные из json, используя beautifulsoup в django
- 9. Как вы извлекаете данные из parse.com в скрипт в Photoshop?
- 10. Как вы извлекаете данные с помощью кнопки JQuery?
- 11. Как вы извлекаете фотографии из Titanium Cloud?
- 12. Как вы извлекаете это значение из chrome.storage?
- 13. Как вы извлекаете контент под заголовками?
- 14. Как вы извлекаете позицию слова из списка?
- 15. В Swift, как вы извлекаете длину UILabel?
- 16. Как вы извлекаете значения из statsmodels.WLS.fit.summary?
- 17. Как вы извлекаете значения из двусвязного списка?
- 18. Как вы извлекаете различные значения определенного слова
- 19. Размер растрового изображения для меньшего растрового изображения
- 20. данные растрового изображения, сохраненные на неправильные координаты
- 21. Как увеличить качество растрового изображения?
- 22. Уменьшение размера растрового изображения
- 23. OnClick растрового изображения
- 24. Нарисуйте часть растрового изображения
- 25. Рисунок растрового изображения Android
- 26. Как изменить масштаб изображения растрового изображения?
- 27. быстрый способ создания большого растрового изображения из массива растрового изображения?
- 28. Как вы находите и извлекаете информацию из таблицы веб-сайта?
- 29. Как вы извлекаете записи за последний месяц из основных данных
- 30. Размер файла изображения растрового изображения
Звучит как хорошее изменение. – Liam