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 Pascal Discussion :

Preview correcte mais résultat flash différent [Flash Pascal]


Sujet :

Flash Pascal

  1. #1
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut Preview correcte mais résultat flash différent
    Je me suis essayé à un motif papier millimétré... le résultat obtenu dans la preview est satisfaisant mais le fichier flash généré est complétement différent...
    Le changement d'échelle pose soucis...

    ci-joint :

    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
     
    program motifppmilli;
     
    uses
      Flash8;
     
    {$FRAME_WIDTH 1000}
    {$FRAME_HEIGHT 500}
    {$BACKGROUND $ffffff}
     
    var
      i:integer;
      bmp: BitmapData;
      m:matrix;
      image:movieclip;
    begin
       image:=movieclip.create(nil,'ppmillimetre',1);
       image.linestyle(3,$4091CE);
       image.moveto(0,0);
       image.lineto(100,0);
       image.moveto(0,0);
       image.lineto(0,100);
       image.linestyle(1,$4091CE);
       For i:=1 to 9 do
       begin
        image.moveto(0,10*i);
        image.lineto(100,10*i);
        image.moveto(10*i,0);
        image.lineto(10*i,100);
       end;
       //fin motif
       bmp:=Bitmapdata.create(100,100);
       bmp.draw(image);
       image._visible:=false; 
       m:=matrix.create();
       m.CreateBox(0.5,0.5,0,0,0);    //scalex 50% et scaley 50% echelle 1/2 du motif
      _root.beginBitmapFill(bmp,m);
      _root.moveto(0,0);
      _root.lineto(1000, 0);
      _root.lineto(1000,500);
      _root.lineto(0,500);
      _root.lineto(0,0);
      _root.EndFill();  
    end.
    ? décidément, ça n'arrive qu'à moi...

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Il est beau ton papier millimétré. Le mien est plus rudimentaire:

    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
    program Exemple; { papier "millimétré" }
    uses Flash8;
     
    {$FRAME_WIDTH 500}
    {$FRAME_HEIGHT 500}
    {$BACKGROUND $ffffff}
     
    var
      n: Integer;
     
    begin
      _root.lineStyle(1,$FF9900);
     
      for n:=0 to 119 do
        begin
          _root.moveTo( 4 * n + 10, 10);
          _root.lineTo( 4 * n + 10, 490);
          _root.moveTo( 10, 4 * n + 10);
          _root.lineTo(490, 4 * n + 10);
        end;
      _root.moveTo(10,490);
      _root.lineTo(490,490);
      _root.lineTo(490,10);
     
    end.
    Je crois que je me servirai du tien plutôt.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    J'ai ajouté des dessins sur ton papier. Je trouve le résultat très bon.

    Pour revenir au sujet de la discussion : j'ai ouvert ensuite le fichier Flash que j'avais obtenu avec le logiciel dont je me sers, qui s'appelle SWF Opener. On peut choisir entre 4 "scale modes" : "show all", "exact fit", "no border", "no scale". Avec l'option "no scale", l'image est correcte ; avec les autres non.

    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
    96
    97
    98
    program motifppmilli_plus_dessin;
     
    uses
      Flash8, Math;
     
    {$FRAME_WIDTH 500}
    {$FRAME_HEIGHT 500}
    {$BACKGROUND $ffffff}
     
    var
      i:integer;
      bmp: BitmapData;
      m:matrix;
      image:movieclip;
      x,y: Number;
      angle: Number;
     
    const
      pi = 3.1415926535897932;
     
    procedure fPoint(xp,yp:Number);
    { faux point }
    begin
      _root.moveTo(xp,yp);
      _root.lineTo(xp+1,yp+1);
    end;
     
    begin
       image:=movieclip.create(nil,'ppmillimetre',1);
       image.linestyle(3,$4091CE);
       image.moveto(0,0);
       image.lineto(100,0);
       image.moveto(0,0);
       image.lineto(0,100);
       image.linestyle(1,$4091CE);
       For i:=1 to 9 do
       begin
        image.moveto(0,10*i);
        image.lineto(100,10*i);
        image.moveto(10*i,0);
        image.lineto(10*i,100);
       end;
       //fin motif
       bmp:=Bitmapdata.create(100,100);
       bmp.draw(image);
       image._visible:=false; 
       m:=matrix.create();
       m.CreateBox(0.5,0.5,0,0,0);    //scalex 50% et scaley 50% echelle 1/2 du motif
      _root.beginBitmapFill(bmp,m);
      _root.moveto(0,0);
      _root.lineto(500, 0);
      _root.lineto(500,500);
      _root.lineto(0,500);
      _root.lineto(0,0);
      _root.EndFill();
     
     
      // Repère
      _root.lineStyle(1,$000000);
      _root.moveTo(-200+250,   0+250);
      _root.lineTo(+200+250,   0+250);
      _root.moveTo(0+250   ,-200+250);
      _root.lineTo(0+250   ,+200+250);
     
      // Parabole
      _root.lineStyle(1,$F00000);
      x:=-200;
      while (x<200) do
        begin
          y:=-x*x/100;
          if abs(y)<200 then fPoint(x+250,y+250);
          x:=x+1;
        end;
     
      // Arc de cercle
      _root.lineStyle(1,$0000F0);  
      angle:=pi/2;
      while (angle<3*pi/2) do
        begin
          x := 200 + 100 * cos(angle);
          y :=   0 - 100 * sin(angle);
          fPoint(x+250,y+250);
          angle:=angle+pi/200;
        end;
     
       // Droite coupant le cercle
      _root.lineStyle(1,$F000F0);
      x:=-200;
      while (x<200) do
        begin
          y := -x / 2 + 30;
          // La droite change de couleur au moment où elle coupe le cercle
          if floor(sqrt((x-200)*(x-200) + y*y)) = 100 then _root.lineStyle(1,$00AA00);
          fPoint(x+250,y+250);
          x:=x+1;
        end;
     
    end.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Bonjour,

    c'est assez logique, un Bitmap est de taille figée, si tu agrandis le player, contrairement à une image vectorielle les pixels sont étirés

    tu peux limiter la casse avec le paramètre Smooth qui donnera cependant un effet de flou.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      _root.beginBitmapFill(bmp,m, True, True);
    au passage j'utilise personnellement FlashPlayer.exe qu'on peut télécharger sur le site Adobe (renommez l'executable au besoin est placez au même endroit que EditPascal.exe)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Merci effectivement, sur ce genre de motif très serré, le mode points n'est pas adapté... Autant le réaliser directement en vectoriel dans un movieclip, au moins on a pas de surprise...
    J'avais déjà téléchargé flashplayer mais je n'ai pas pensé à l'introduire dans le même répertoire que flashpascal. C'était évident...dans ton menu tu avais uses player. Merci.

    Pour Roland Chastain, je pense qu'il vaut mieux faire ton quadrillage ppmillimétré directement dans le movieclip pour la raison citée plus haut. C'est vrai que c'était bien pratique puisque c'est un motif...

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    en même temps je ne l'avais pas précisé il fallait lire les sources de la version OpenSource pour le savoir...ça fait maigre comme documentation

    en fait l'option "Compile" s'assure que le code est valide et l'option "Run" lance le preview ou fait un ShellExecute du Player selon que la case "use Player" est cochée ou non.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Ok, merci pour cette précision... Je n'avais pas chercher à mettre mon nez dans les sources de flashpascal puisque ce qui m'intéresse, c'est l'utilisation. Le reste, c'est une affaire de spécialiste comme toi. A chacun sa place...

  8. #8
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    renommez l'executable au besoin et placez-le au même endroit que EditPascal.exe
    Citation Envoyé par Paul TOTH Voir le message
    l'option "Compile" s'assure que le code est valide et l'option "Run" lance le preview ou fait un ShellExecute du Player selon que la case "use Player" est cochée ou non.
    Ça fonctionne.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  9. #9
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Ok pour moi aussi

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

Discussions similaires

  1. paramètres constants mais résultats différents
    Par mad_dream dans le forum LabVIEW
    Réponses: 2
    Dernier message: 29/04/2010, 14h43
  2. Mêmes donnés mais résultats différents
    Par Chiwawa dans le forum Langage
    Réponses: 2
    Dernier message: 24/07/2009, 23h55
  3. [MySQL] Requete SQL correcte Mais aucun affichage
    Par jenga dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 10/04/2006, 13h55

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