我红这个问题#814
而且我还运行了这个js库: http :
这是我的代码:
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的移动设备上使用它。
我认为您遇到的是同一问题#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的人现在可以笑了
最有用的评论
天哪...我真不敢相信
这也适用于iOS。
我有一个SVG图像,其颜色与WebView的背景颜色相同,所以这就是为什么我没看到它的原因:D
至少它能正常工作,读到这个:D的人现在可以笑了