IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Afficher un diaporama Flash à partir d'image stockées en base SQL


Sujet :

Flash

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Points : 238
    Points
    238
    Par défaut Afficher un diaporama Flash à partir d'image stockées en base SQL
    Bonjour,
    J'essai de comprendre le principe de fonctionnement du flash. Connaissance actuelle : zéro!
    Je vous explique ma demande :
    Je développe une appli en asp (qu'importe le langage...) pour laquelle je souhaiterai intégré un diaporama flash avec fondu qui lit des images stockées dans une base SQL.
    Jusqu'à présent, je réalisais ça en javascript, mais pour des soucis de lenteur de chargement des images, je voulais tenter ma chance avec un petit compo flash/xml, ce qui me permettrait peut être par la même occasion de mettre un demi pied dans le monde du flash...
    J'ai trouvé quelques bouts de code fonctionnel mais je pense que ça coince au niveau flash!

    L'idée est :
    Je charge mon objet flash à partir d'un objet xml qui me renvoi les bons tags :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8" ?> 
    - <images>
      <image src="diapos.asp?id=16" /> 
      <image src="diapos.asp?id=4" /> 
      <image src="diapos.asp?id=8" /> 
      <image src="diapos.asp?id=6" /> 
      <image src="diapos?id=13" /> 
      </images>
    La page diapos.asp n'est qu'une page de lecture de la base de données.
    Si je teste les urls retournées dans un navigateur, les images s'affichent bien.
    Or mon objet Flash lui reste désespérement vide...
    Il ya sans doute une explication... quelqu'un l'aurait-il ? et éventuellement une astuce pour la contourner.
    D'avance merci.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Points : 1 226
    Points
    1 226
    Par défaut
    hum il faut vérifier que le xml est bien lu correctement par flash.
    Puis que le loader charge bien la bonne url et que l'event complete et bien lancé par le loader. Et que les image chargées son bien affichées.

    Le flash player n'indique aucune erreur ?
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Points : 238
    Points
    238
    Par défaut
    Dans un premier temps, j'ai effectivement vérifié ça!
    J'ai remplacé l'ensemble des images générés par des fichiers existants et le diaporama fonctionnait...
    Actuellement, la seule "erreur" qu'il m'affiche est : Animation non chargée

    Je me demandais si flash était capable de lire des images non existantes en dures ?

    Je place le bout de code flash (dont je ne suis pas l'auteur!), peut être cela parlera t-il plus pour vous que pour moi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    // settings
    var changingspeed = 150;
     
    // stop the frame
    stop();
     
    // errorbox is not visible
    errorbox._visible = false;
     
    // Prepare the images
    var totalnrimg;
    var curnrimg = 0;
     
    // Prepare the images array
    _root.img = new Array();
     
    // Load the XML file
    var xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = processXMLData;
    xmlData.load("source_flash_image.asp");
     
    // When XML data is loaded, execute this function
    function processXMLData(success)
    {
    	if (success)
    	{
    		// Loop through the XML file
    		for (i = 0; i < this.childNodes.length; i++)
    		{
    			xmlNode = this.childNodes[i];
    			for (j = 0; j < this.childNodes[i].childNodes.length; j++)
    			{
    				_root.img[j] = xmlNode.childNodes[j].attributes.src;
    			}
    		}
    		totalnrimg = _root.img.length;
    		// Load the first image
    		loadMovie(_root.img[curnrimg], imgholder);
    		alert(_root.img[curnrimg]);
    		curnrimg++;
    		// Load the second image
    		loadMovie(_root.img[curnrimg], imgholder2);
    	}
    	else
    	{
    		errorbox._visible = true;
    		errorbox.text = "XML file could not be found";
    	}
    }
     
    var showingHidebox = 100;
    var isShowing = 0;
    var showingFirstImg = changingspeed;
    var firstIsShowing = true;
    _root.onEnterFrame = function()
    {
    	// Slowly show the image
    	hidebox._alpha = showingHidebox;
    	if (showingHidebox != 0)
    	{
    		showingHidebox--;
    	}
     
    	// Slowly hide the first image
    	imgholder._alpha = showingFirstImg;
    	if (firstIsShowing == true)
    	{
    		showingFirstImg--;
    		if (showingFirstImg <= (0-changingspeed/2))
    		{
    			firstIsShowing = false;
    			curnrimg++;
    			if (totalnrimg == curnrimg)
    			{
    				curnrimg = 0;
    			}
    			loadMovie(_root.img[curnrimg], imgholder);
    		}
    	}
    	if (firstIsShowing == false)
    	{
    		showingFirstImg++;
    		if (showingFirstImg >= changingspeed)
    		{
    			firstIsShowing = true;
    			curnrimg++;
    			if (totalnrimg == curnrimg)
    			{
    				curnrimg = 0;
    			}
    			loadMovie(_root.img[curnrimg], imgholder2);
    		}
    	}
    }

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Points : 1 226
    Points
    1 226
    Par défaut
    "Animation non chargée" c'est quand vous cliquez sur le bouton droit sur votre animation ?
    si tel est le cas cela veut dire que votre animation contenant le code précité n'as pas été trouvée par le lecteur flash. Vérifiez auquel cas le chemin du swf .
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  5. #5
    Membre actif
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Points : 238
    Points
    238
    Par défaut
    Ah oui... quel c.... forcément, ça marche mieux comme ça (2 jours!!!)
    Ca répond au moins à la question de savoir si flash peut lire des images dans la base...
    Petite question subsidiaire : mes photos sont de taille 800x600; mon objet flash de 240x200. Je pensais (bêtement) que les images seraient automatiquement redimenssionnées en fonction de taille de mon objet (or non..) Y a t-il un param à mettre quelque part pour fixer ça ?

    je précise que l'appel de l'object est fait par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var so = new SWFObject("image.swf", "Image Rotator", "240", "200", "1", "#FFFFFF");

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Points : 1 226
    Points
    1 226
    Par défaut
    donc pour le redimensionnement il faut le faire dans le code. Après chargement des image.
    Mais je ne vous le conseille pas car en fessant ça c'est le poste client qui prend les calcules de redimensionnement en charge a chaque affichage. et selon le nombre d'image sa peut faire mal au cpu. Et donner une mauvaise image de votre site. Le mieux et de redimensionner les images avant avec gimp. Sinon je pense qu'asp doit pouvoir faire des miniature (System.drawing ? )dans un répertoire de cache, elle serrait ainsi redimensionnées une seul fois ça créera a la long des économies de bande passante.
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Points : 1 226
    Points
    1 226
    Par défaut
    il y'as plusieur facteur a prendre en compte...
    Si la taille de publication de votre swf est de 1000*200 (taille stocké dans le swf ) et que cette animation est affiché en 200*200 sa taille est étiré.
    Donc il faut regarder la documentation de la property scaleMode :
    http://www.adobe.com/support/flash/a...ionary678.html

    Et faire en sorte que le swf ne soit pas étire lorsqu'il est affiché dans le document html.

    Ensuite l'image chargée peut aussi être déformée si sont _parent conteneur est déformée _xscale,_yscale.

    De ce fait la déformation peut découler de plusieurs point....

    Si vous avez une url de debug je pourrais tenter de voir ce qu'il se produit.
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  8. #8
    Membre actif
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Points : 238
    Points
    238
    Par défaut
    J'ai trouvé le problème dans la taille du container. J'avais modifié la taille des espaces séquences masi pas celle des espaces symboles (je m'excuse bien bas pour les termes que j'utilisent aors que je n'en ai toujours pas compris le sens...)
    Du coup l'image (enregistrée en 240x200) apparait bien dans l'objet alors que celle en 800 n'est pas du tout optimisé.

    pour l'url : http://www.anes-pays-basque.com/?t=1

    Il va falloir que je regarde plus avant cette propriété scalemode pour éviter de me retaper l'ensemble des images.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Points : 1 226
    Points
    1 226
    Par défaut
    A première ce n'était donc pas un problème de scaleMode.
    N'hésitez pas a passer le sujet en [résolu], si tout est opérationnel !
    Bon code !
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  10. #10
    Membre actif
    Homme Profil pro
    Webmaster Pays Basque
    Inscrit en
    Avril 2004
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster Pays Basque
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 207
    Points : 238
    Points
    238
    Par défaut
    Merci de votre aide sur ce coup là.
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Afficher image stocké dans BD sql sur PictureBox
    Par nabileon dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/09/2014, 09h11
  2. Réponses: 1
    Dernier message: 20/09/2012, 04h22
  3. Réponses: 4
    Dernier message: 25/11/2008, 19h32
  4. [MySQL] Afficher une image stocké en base données
    Par Blo0d4x3 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 19/06/2006, 17h02
  5. [Forms] Afficher une image stockée en base
    Par oramine dans le forum Forms
    Réponses: 12
    Dernier message: 01/02/2005, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo