Salam pembuka,
di bagian kode ini, dapatkah kita menghindari pengaturan d.crossOrigin ketika kita berurusan dengan url data?
THREE.ImageUtils = {crossOrigin: "",loadTexture: function(a, b, c) {
var d = new Image, e = new THREE.Texture(d, b);
d.onload = function() {
e.needsUpdate = !0;
c && c(this)
};
d.crossOrigin = this.crossOrigin;
d.src = a;
return e
Anda dapat menambahkan tanda centang seperti ini:
if( a.substr(0,4) != "data" )
d.crossOrigin = this.crossOrigin;
ini berhasil. Jika tidak, Chrome 17 akan menampilkan pemuatan gambar Lintas-asal yang ditolak oleh kebijakan Berbagi Sumber Daya Lintas-Asal untuk url data.
T.
Hmm ... Saya pikir Anda sebaiknya tidak menggunakan ImageUtils.loadTexture dalam kasus itu. Lakukan saja ini:
var image = document.createElement( 'img' );
image.src = dataurl;
var texture = new THREE.Texture( image );
texture.needsUpdate = true;
Bekerja dengan sempurna, terima kasih!
@mrdoob , terima kasih untuk contoh di atas!
Komentar yang paling membantu
Hmm ... Saya pikir Anda sebaiknya tidak menggunakan ImageUtils.loadTexture dalam kasus itu. Lakukan saja ini: