2009-10-16 6 views
-1

Je crée un objet Flash qui soulève de lourdes images. Ce que je cherche à faire est de charger de nombreux objets flash sur la même page pour prendre une image, la modifier et l'afficher dans l'objet flash.Dupliquer un objet Flex en HTML sans réinitialiser

Le problème que je rencontre est que lorsque j'essaie d'ajouter 100 objets flex à la page, le navigateur se fige lorsqu'il tente de recharger/initialiser chaque instance. Une fois qu'ils sont tous chargés, le traitement des images passe rapidement.

Est-ce que quelqu'un sait comment dupliquer le flash sans avoir à tout recharger?

Une autre de mes pensées serait de charger l'image dans un objet flexible, et de modifier les balises d'image en utilisant MHTML/data URI. Des pensées?

+0

de telles choses lourdes cpu est mieux fait sur le côté serveur que flash. – Amarghosh

+0

Je ne suis pas d'accord avec ça. Faire une fonction image similaire dans PHP/GraphicsMagick prend beaucoup plus de temps CPU et de temps que la version Flash en utilisant Pixel Bender. D'ailleurs, ce que je fais n'est pas très intensif, car j'utilise Pixel Bender. – DanO

+0

puis en utiliser un seul et montrer une animation de chargement pendant que 100 images sont traitées. – Amarghosh

Répondre

1

La réponse que j'ai trouvée est en utilisant le data URI scheme. J'envoie l'image à un seul objet flash, je lui demande d'exécuter les scripts de pixel bender et de sortir une chaîne d'image Base64 vers l'URI de données sur les tags d'image.

Pour IE, qui ne supporte pas le schéma, je vais sortir la chaîne à un script php qui retournera l'image décodée. La raison pour laquelle je fais tellement de travail pour cela est que Pixel Bender est puissant et me permet de passer une grande partie du traitement au client. En outre, lors des tests, l'application de toutes les manipulations d'images à l'aide de pixel bender est exponentiellement plus rapide que celle effectuée dans PHP/GraphicsMagick.

0

Vous ne pouvez pas, Flex doit initialiser, et c'est une horrible idée horrible.

Flash est extrêmement gourmande en ressources processeur, Flex doublement car l'interface elle-même utilise beaucoup de puissance de la CPU pour dessiner ses effets d'interface.

Faites ce dont vous avez besoin, mais n'initialisez pas 100 SWF Flex, sauf si vous voulez des utilisateurs mécontents.

+0

Je le sais évidemment. C'est pourquoi je demandais ici. Je ne veux pas initialiser plus d'un objet flash, mais vous ne fournissez aucune alternative, et certainement pas de réponse à cette question ... – DanO

+0

"Est-ce que quelqu'un sait comment dupliquer la pièce flash sans avoir à tout recharger?" Vous avez demandé cela. Je t'ai dit. Tu ne peux pas le faire. Je ne vois pas le problème. Pouvez-vous même expliquer pourquoi vous utilisez 100 SWF Flex au lieu de simplement charger 100 images dans le même fichier SWF? –

+0

C'était une alternative à laquelle j'avais pensé, que je pourrais finir par devoir faire. Je veux les afficher dans une vue de liste, mais l'affichage de la liste sera HTML et les gens pourront éditer la liste, donc je ne voulais pas avoir à redimensionner l'objet flexible et éditer les images à l'intérieur ... – DanO

Questions connexes