Three.js: SVG как текстура?

Созданный на 12 февр. 2012  ·  5Комментарии  ·  Источник: mrdoob/three.js

Я задал этот вопрос №814

А также я использую эту библиотеку js: http://code.google.com/p/canvg/, которая может преобразовывать SVG в холст в данные.

Это мой код:

var imageCanvas2 = document.createElement("canvas");
canvg(imageCanvas2, 'images/46.svg');
var imag = imageCanvas2.toDataURL('image/png');   // --> here is the converted image data

var cubeMaterial = [new THREE.MeshBasicMaterial({
    map : THREE.ImageUtils.loadTexture(imag)
})];

Это дает мне ошибку: «Загрузка изображения из разных источников запрещена политикой совместного использования ресурсов из разных источников».

Какие у меня здесь варианты?

Также я должен упомянуть, что WebGL не подходит, поскольку я буду использовать его на мобильных устройствах, которые не поддерживают WebGL.

Question

Самый полезный комментарий

Боже мой ... не могу поверить, как глупо.
Это работает и на iOS.

У меня есть изображение SVG того же цвета, что и фон WebView, поэтому я его не видел: D
По крайней мере, это работает, и теперь кто-то может смеяться, когда читает это: D

Все 5 Комментарий

Я думаю, вы столкнулись с той же проблемой №1305.

Я пробовал что-то основанное на этом:

var imageCanvas2 = document.createElement("canvas");
canvg(imageCanvas2, 'images/46.svg');
var imag = imageCanvas2.toDataURL('image/png');

var texture = new THREE.Texture(imag);
texture.needsUpdate = true;

//Now I have to make material from this so I could apply it to Mesh:

var cubeMaterial = new THREE.MeshBasicMaterial({
    map : texture  /////something like this. This throws errors.
});

cube = new THREE.Mesh(geometry, cubeMaterial);

Я не нашел такого примера. Вы можете помочь?

var imageCanvas2 = document.createElement("canvas");
canvg(imageCanvas2, 'images/46.svg');

var texture = new THREE.Texture(imageCanvas2);
texture.needsUpdate = true;

Что ж, хорошо, что это работает. Плохо то, что на iPhone это не работает.
Спасибо, теперь мне нужно понять, почему это не работает на iOS.

Боже мой ... не могу поверить, как глупо.
Это работает и на iOS.

У меня есть изображение SVG того же цвета, что и фон WebView, поэтому я его не видел: D
По крайней мере, это работает, и теперь кто-то может смеяться, когда читает это: D

Была ли эта страница полезной?
0 / 5 - 0 рейтинги