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

EDI/Outils Discussion :

[FLASH 8] Dimensions fantaisistes d'un SWF créé via PDF2SWF


Sujet :

EDI/Outils

  1. #21
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 339
    Points : 130 357
    Points
    130 357
    Billets dans le blog
    1
    Par défaut
    Bon, j'ai encore essayé avec une autre série de pdfs (un pdf divisé page par page), passé le tout à la moulinette pdf2swf... et chaque swf généré possède des dimensions fantaisistes... aussi bien en largeur qu'en hauteur.

    Si j'affiche les .swf à la suite sans appliquer aucun redimensionnement, ils sont tous visiblement de la même taille, ce n'est donc que la taille renvoyée qui est fantaisiste.

    Il m'est donc impossible de redimensionner avec cible._width et cible._height pour leur affecter la taille de la zone de réception parce que ça prend en compte les dimensions (incorrectes) de la cible comme base. Il m'est aussi impossible d'utiliser ma formule initiale utilisant cible._xscale et cible._yscale puisque j'utilise cible._width et cible._height.

    La seule solution est donc de fixer cible._xscale et cible._yscale sur des constantes, ou au moins une constante multiplié par la largeur (resp. la hauteur) de la zone de réception. Il faudra donc, pour chaque cas, trouver empiriquement les deux constantes. Solution vraiment peu satisfaisante, mais on dirait que je n'ai pas le choix, hormis trouver un autre outil capable de convertir les pdf en swf qui n'a pas ce bug.

  2. #22
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    mmmh bizarre ça... Est-ce que ça viendrait de la génération vai pdf2swf ? Ou est-ce que les dimentions sont fantaisistes uniquement lorsque tu les charges dans un autre ? Si c'est le cas, quel est ton code ?

    @++

  3. #23
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 339
    Points : 130 357
    Points
    130 357
    Billets dans le blog
    1
    Par défaut
    J'ai refait un code extrêmement simple pour mettre en évidence le problème.

    Je crée un nouveau document .fla. Je dessine un rectangle, que je convertis en clip. Je donne comme nom d'instance "zone" à ce clip.

    Je crée un bouton. Sur ce bouton j'ajoute le code suivant :
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    on(press) {
    	var monpdf = zone.createEmptyMovieClip("monpdf", 1);
    	var mcl = new MovieClipLoader();
    	var ecouteur = new Object();
     
    	ecouteur.onLoadInit = function(cible) {
    		trace(cible._width + "-" + cible._height);
    	}
     
    	mcl.addListener(ecouteur);
    	mcl.loadClip("page1.swf", monpdf);
    }

    Je lance ensuite l'application pour regarder les dimensions de la page 1, je met les coordonnées lues de côté, puis je la modifie pour mettre page2.swf à la place de page1.swf, etc. Les fichiers page1.swf, page2.swf ... proviennent des fichiers pdf monopages correspondant (déjà extraits d'un pdf multipages).

    Voici les valeurs lues pour les 5 premières pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    594.75-718
    600.5-722
    632.1-771.7
    594.75-718
    620.5-730.05
    Ici les écarts ne sont pas très grands, mais j'ai vu des cas où parfois ça va du simple au double. Et pourtant elles ont exactement les mêmes dimensions si on les affiche sans se préoccuper de leur taille, et si je lance les .swf directement depuis l'explorateur, tout va bien (taille de la fenêtre flash exactement aux dimensions de la page).

  4. #24
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Re,

    mmmh vraiment zarb ! Bon déjà pour commencer, utilise du code Flash 8 La tu fais quasiment tu flash 5 ! Donc nommes ton bouton et fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    monBtn.onRelease = function(Void):Void
    {
            var monpdf:MovieClip = this._parent.zone.createEmptyMovieClip("monpdf", 1);
    	var mcl:MovieClipLoader = new MovieClipLoader();
    	var ecouteur:Object = new Object();
     
    	ecouteur.onLoadInit = function(cible:MovieClip):Void {
    		trace(cible._width + "-" + cible._height);
    	}
     
    	mcl.addListener(ecouteur);
    	mcl.loadClip("page1.swf", monpdf);
    }
    Ensuite vis-à-vis de ma question => ce phénomène ne se fait que lorsque tu charge le swf dans un autre ? Si tu lances directement le swf généré via pdf2swf, il sont bons ???

    @++

  5. #25
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 339
    Points : 130 357
    Points
    130 357
    Billets dans le blog
    1
    Par défaut
    Ose me dire que je code mal ?

    Autant je suis d'accord que disperser le code source sur les clips et boutons n'est pas bien - ma méthode du on(press) était surtout là pour faire le code le plus court possible pour mon exemple, autant j'avoue ne pas saisir l'intérêt du typage, hormis alourdir le code et le rendre moins lisible.

    Bon, quoiqu'il en soit, mon problème est résolu !

    J'ai trouvé la solution sur la mailing list de swftools : en fait, après la conversion par pdf2swf, il faut passer une autre moulinette fournie avec swftools, swfbbox, pour retraiter les .swf générés. Et après ce deuxième traitement, tous les .swf ont exactement la même taille, et elle est correcte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    swfbbox -c file.swf -o file.swf

  6. #26
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Citation Envoyé par Anomaly
    Ose me dire que je code mal ?

    Autant je suis d'accord que disperser le code source sur les clips et boutons n'est pas bien - ma méthode du on(press) était surtout là pour faire le code le plus court possible pour mon exemple, autant j'avoue ne pas saisir l'intérêt du typage, hormis alourdir le code et le rendre moins lisible.
    Cédric, on lui pète quel genou ?
    Typer permet à flash d'ajouter un controle d'erreur, si tu mets une string dans un number, ben ca plante
    De plus, cela permet d'améliorer le temps d'éxécution
    Enfin, perso, je trouve que c'est plus lisible quand c'est typé, et c'est d'autant plus vrai si tu déclares et affectes tes varaibles à des endroits différents

    Sinon comment tu voulais qu'on trouve ?

  7. #27
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 339
    Points : 130 357
    Points
    130 357
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par freegreg
    Typer permet à flash d'ajouter un controle d'erreur, si tu mets une string dans un number, ben ca plante
    Cela plante comment ? Flash a juste tendance à ignorer les instructions incorrectes au lieu de donner des messages d'erreurs. Cela est d'autant plus vrai si par exemple une classe a.as appelle du code placé dans une classe b.as. Dans ce cas les vérifications de correspondance (noms de variables, de fonctions) ne se font plus.

    De plus, cela permet d'améliorer le temps d'éxécution
    Tu me prends par les sentiments là.

    Sinon comment tu voulais qu'on trouve ?
    J'ai compris je ne poserai plus de questions...

  8. #28
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Citation Envoyé par Anomaly
    J'ai compris je ne poserai plus de questions...
    Oui, tu ne posteras que des réponses !!!

    Sinon j'ai pas trop compris ce que tu voulais dire ici :
    Cela plante comment ? Flash a juste tendance à ignorer les instructions incorrectes au lieu de donner des messages d'erreurs. Cela est d'autant plus vrai si par exemple une classe a.as appelle du code placé dans une classe b.as. Dans ce cas les vérifications de correspondance (noms de variables, de fonctions) ne se font plus.
    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    classe Tata {
       public function Tata() { }
     
       public testString(s_:String):Void {
          trace(s_);
       }
     
       public testNumber(n_Number):Void {
          trace(n_);
       }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    classe Toto {
       private var n:Number;
     
       public function Toto() {
          n = 10;
       }
     
       public getN():Number {
          return n;
       }
    Chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var to:Toto = new Toto();
    var ta:Tata = new Tata();
    ta.testString(to.getN());
    plante à la compilation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var to:Toto = new Toto();
    var ta:Tata = new Tata();
    ta.testNumber(to.getN());
    fonctionne

  9. #29
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Mais tu est ivre !

    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
    class Toto
    {
    	private var n:Number;
     
    	public function Toto(Void)
    	{
    		n = 10;
    	}
    	//public function getN(Void):String  <= retourne une erreur sous Flash 8
    //L'expression renvoyée doit correspondre au type de renvoi de la fonction
    	//public function getN(Void):Number // <= ne renvoie pas d'erreur
    	public function getN(Void) // <= ne renvoie pas d'erreur
    	{
    		return n;
    	}
    }
    on lui pète quel genou ?

  10. #30
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut

    C'est pas toi qui a un peu trop bu?
    J'ai mis
    [edit]
    on lui pète quel genou ?
    flash private joke
    [/edit]

  11. #31
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    autant pour moi.

    flash private joke
    Il faut etre inicier je voie. Je n'insiste pas plus alors.



    Rappel : http://www.developpez.net/forums/sho...5&postcount=25

  12. #32
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    Citation Envoyé par freegreg
    Cédric, on lui pète quel genou ?
    gniark tu me prends par les sentiments

    Ceci dit il est vrai que l'IDE est mal foutu de ce coté la, il n'y a en effet pas de vérification avancée du typage, par contre, comme l'a souligné freegreg, dans les classes ca marche très bien ^^ et oui cela améliore le temps d'exécution qui plus est

    @++

  13. #33
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 339
    Points : 130 357
    Points
    130 357
    Billets dans le blog
    1
    Par défaut
    Je dois vous dire merci de m'avoir ouvert les yeux sur le typage ! En effet, désormais Flash détecte correctement les erreurs entre classes ActionScript qui s'appellent réciproquement, alors que sans typage il laisse passer, et ignore les erreurs silencieusement à l'exécution.



    Apparemment, faire autant de PHP ces derniers mois m'a fait oublier les vertus du typage de variables.

  14. #34
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Points : 83
    Points
    83
    Par défaut
    Bonjour,
    est-ce que l'utilisation de SWF Tools est possible sur un serveur dont on a pas tous les droits (ovh,...), juste en uploadant les fichiers exe?

    en gros est-ce possible d'utiliser une commande exec sur un serveur non dédié

  15. #35
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    concernant swfbbox, est ce que cet utilitaire permet de redimensionner un fichier swf en fonction d'une hauteur et d'une largeur passés en parametres?
    sinon, est-ce possible avec pdf2swf de passer en parametre une hauteur et une largeur (ou de jouer avec le parametre zoom afin que tous mes swfs créés aient la meme taille)?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [FLASH MX2004] [FLASH 8] Dimension d'un .swf
    Par bibile dans le forum Flash
    Réponses: 2
    Dernier message: 20/01/2006, 22h57
  2. [FLASH MX2004] Chargement d'une animation swf
    Par bootx dans le forum Flash
    Réponses: 2
    Dernier message: 20/10/2005, 14h16
  3. [FLASH MX2004] Dimension de l'animation
    Par netsliver dans le forum Flash
    Réponses: 9
    Dernier message: 05/08/2005, 19h49
  4. [FLASH MX2004] [AS2] Dialogue entre 2 SWF- tellTarget ???
    Par Geilgestorm dans le forum ActionScript 1 & ActionScript 2
    Réponses: 11
    Dernier message: 24/10/2004, 22h07
  5. [FLASH MX 2004]Precharger une animation(SWF dans SWF)
    Par Geilgestorm dans le forum Flash
    Réponses: 20
    Dernier message: 16/05/2004, 13h40

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