Three.js: SVG como textura?

Creado en 12 feb. 2012  ·  5Comentarios  ·  Fuente: mrdoob/three.js

Red esta pregunta # 814

Y también me encuentro con esta biblioteca js: http://code.google.com/p/canvg/ que puede convertir SVG en lienzo a datos.

Este es mi codigo:

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)
})];

Esto me da el error: "Carga de imagen de origen cruzado denegada por la política de uso compartido de recursos de origen cruzado".

¿Cuáles son mis opciones aquí?

También debo mencionar que WebGL no es una opción ya que lo usaré en dispositivos móviles que no son compatibles con WebGL.

Question

Comentario más útil

Dios mío ... no puedo creer lo estúpido que es.
Esto también funciona en iOS.

Tengo una imagen SVG que es del mismo color que el fondo de WebView, por eso no la vi: D
Al menos funciona y alguien puede reírse ahora cuando lee esto: D

Todos 5 comentarios

Creo que estás teniendo el mismo problema # 1305.

Intenté algo basado en eso:

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);

No encontré ejemplo de esto. ¿Puede usted ayudar?

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

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

Bueno, lo bueno es que esto funciona. Lo malo es que no funciona en iPhone.
Gracias, tendré que averiguar ahora por qué esto no funciona en iOS.

Dios mío ... no puedo creer lo estúpido que es.
Esto también funciona en iOS.

Tengo una imagen SVG que es del mismo color que el fondo de WebView, por eso no la vi: D
Al menos funciona y alguien puede reírse ahora cuando lee esto: D

¿Fue útil esta página
0 / 5 - 0 calificaciones