toDataURL() холста webgl, возвращающего прозрачное изображение

Я не могу заставить toDataUrl() работать. Вот мой код, где я пытаюсь получить изображение холста и использовать его в качестве источника существующего элемента изображения.

var canvas = document.getElementById('glcanvas');
canvas.setAttribute('crossOrigin','anonymous');
var img = document.getElementById('imageToShowCanvas');
img.src = canvas.toDataURL();

То, что imageToShowCanvas показывает, является неработающим URL. Когда я console.log результат моего вызова toDataUrl(), я получаю ссылку, показывающую прозрачное изображение с высотой и шириной холста.

Я слышал о проблемах cors, вызывающих подобные проблемы, но я использую chrome с флагом –allow-file-access-from-files, и в консоли нет ошибок безопасности. Есть ли более простой способ получить скриншот моего холста webGl?

1 ответ

Спасибо, ЖЖ, мне просто нужно было включить флаг preserveDrawingBuffer при получении контекста webGl. Скриншоты теперь работают отлично!

Другие вопросы по тегам