La création d'image à partir du Tableau en javascript et Html5
Voici mon code. J'ai créé données images tableau 2D en javascript. Après j'ai mis tous les pixels dans le présent tableau, je veux créer une image et la placer ces valeurs dans l'image.
var imageData = new Array(width);
var image = new Image;
for (var i = 0; i < width; i++) {
imageData[i] = new Array(height);
}
image.src = imageData; //Here is the problem. I want to do that.
OriginalL'auteur user3470518 | 2014-04-02
Vous devez vous connecter pour publier un commentaire.
Pour créer une image de tableau, vous pouvez le faire:
La
* 4
à la fin représenter RGBA dont nous avons besoin pour être compatible avec la toile.De remplissage de la mémoire tampon avec certaines données, par exemple:
Lorsqu'il est rempli d'utiliser le tampon en tant que source de la toile:
Notez que vous pouvez utiliser les données images de la mémoire tampon (ici: idata.de données) au lieu de créer votre propre. La création de votre propre est vraiment utile que si vous utilisez par exemple des valeurs à virgule flottante ou d'obtenir de la mémoire tampon à partir d'une autre source - réglage de la mémoire tampon comme ci-dessus prendra soin de clipping et de l'arrondissement des valeurs pour vous si.
Maintenant les données dans votre tableau personnalisé est copié sur la toile de la mémoire tampon. La prochaine étape consiste à créer un fichier image:
Maintenant, vous pouvez utiliser le data-uri en tant que source de l'image:
OriginalL'auteur
Vous ne pouvez pas faire une image.src comme ça.
Valide dataURL est une chaîne encodée en base64 avec un type de préfixe--pas un tableau.
L'image du tableau de données associée à une toile est un Uint8ClampedArray--pas normal d'un tableau javascript.
Voici une façon de créer un réseau de pixels que vous pouvez manipuler:
Une Démo: http://jsfiddle.net/m1erickson/956kC/
OriginalL'auteur markE
Créer un
canvas
élément de la bonne taille et obtenir son 2D contexte de rendu. Vous n'avez pas à ajouter cette toile pour le document. Utiliser le contexte pour créer uneImageData
objet. Copie les valeurs de votre tableau dans laImageData
objet. Dans votre cas, il pourrait être plus efficace pour remplir laImageData
objet, en premier lieu, au lieu d'un tableau séparé. Utiliser le contexte de laputImageData
de tracer les données de pixel. Ensuite, en fonction des exigences spécifiques de la Création de l'image," vous pourriez avoir besoin de sérialiser la toile dans les data uri, de sorte que vous pouvez remplir unimg
de l'élémentsrc
.juste par curiosité, pourquoi ne voulez-vous pas faire cela, et pourquoi avez-vous de tirer cette image avec une autre façon?
Je veux envoyer une image avec webgl. Je l'ai fait à votre façon, mais l'important, c'est que je dois utiliser la texture en webgl.
aller sur une tangente, vous pouvez utiliser les tableaux typés pour spécifier les données de texture en webgl khronos.org/registry/webgl/specs/1.0/#5.14.8
OriginalL'auteur guest