Three.js: SVG كملمس؟

تم إنشاؤها على ١٢ فبراير ٢٠١٢  ·  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
إنه يعمل على الأقل ويمكن لشخص ما أن يضحك الآن عندما يقرأ هذا: د

ال 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
إنه يعمل على الأقل ويمكن لشخص ما أن يضحك الآن عندما يقرأ هذا: د

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات