私はこの質問を赤くします#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でも機能します。
WebViewの背景と同じ色のSVG画像があるので、見なかったのです:D
少なくともそれは機能し、これを読むと誰かが今笑うことができます:D
最も参考になるコメント
私の神...私はどれほど愚かであるか信じられない。
これはiOSでも機能します。
WebViewの背景と同じ色のSVG画像があるので、見なかったのです:D
少なくともそれは機能し、これを読むと誰かが今笑うことができます:D