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

C++Builder Discussion :

Desoptimisation d'animation Gif


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut Desoptimisation d'animation Gif
    Bonjour,
    Espérant être plus heureux aujourd'hui dans ma demande d'aide.

    Je serai heureux de savoir si il y a une possibilité de "désoptimiser"
    une animation GIF.

    C'est à dire de retrouver les images sans Transparence, ni Disposal , etc etc.
    J'ai vu ca en Delphi, mais je ne trouve pas en C++Builder ?

    J'ai essayé avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GIF->OptimizeColorMap();
    GIF->Optimize((TGIFOptimizeOptions)ooCleanup, rmNone, dmNoDisposal, 0);
    Mais rien...

    Merci d'avance
    luiso

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut
    Tu ne semble pas savoir utiliser les Set
    Voici un petit cours pour débutant :
    là tu transtype la valeur ooCleanup donc 2 en un Set TGIFOptimizeOptions, ça doit faire 10 en binaire (0010) que l'on doit lire à l'envers 0100, chaque bit représentant les valeurs ooCrop, ooMerge, ooCleanup, ooColorMap, et donc là c'est comme si tu avais demandé ooMerge !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GIF->OptimizeColorMap();
    GIF->Optimize(TGIFOptimizeOptions() << ooCleanup, rmNone, dmNoDisposal, 0);
    le code Delphi était je suppose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GIF.OptimizeColorMap();
    GIF.Optimize([ooCleanup], rmNone, dmNoDisposal, 0);
    La ce n'est que la théorie du langage, aucune idée du résultat réel, je n'ai jamais travaillé sur le TGIFImage
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Bonjour ShaiLeTroll,

    Effectivement comme tous ceux qui débutent, j'apréande mal certaines fonctions et finacitées du langage.

    De plus TGIFImg pour Cbuilder n'est pas trés pourvu question exemples concrets. On trouve davantage pour Delphi.
    J'en suis toujours à ré-inventer la roue, tellement cela me semble "clair".

    En fait je cherche à désoptimiser "avoir les 3 images de base" de l'animation que j'ai en exemple, mais même avec Optimize je n'y parvient pas...

    mon code est:
    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
    void __fastcall TForm1::OuvreClick(TObject *Sender)
    {
    //Bout de code exemple: 3 image 1 bouton 1 anime optimisée
      TGIFImage *GIF = new TGIFImage();
      if(OpenPictureDialog1->Execute())
       {
    	GIF->LoadFromFile(OpenPictureDialog1->FileName);
    	GIF->OptimizeColorMap();
    	GIF->Optimize(TGIFOptimizeOptions() << ooCleanup, rmNone, dmNoDisposal, 0);
    	for(int i=0; i<GIF->Images->Count; i++)
    	 {
    	  Graphics::TBitmap *BMP    = new Graphics::TBitmap;
    	  BMP->Width                = GIF->Width;
    	  BMP->Height               = GIF->Height;
    	  //des essais non concluants avec les 3 lignes qui suivent
    	  //BMP->Transparent=true;
    	  //BMP->Canvas->Brush->Color = clBlack; // clBackground; //GIF->BackgroundColorIndex;
    	  //BMP->Canvas->FloodFill(0,0,clBackground,fsBorder);
    	  BMP->Canvas->Draw(GIF->Images->Frames[i]->Left, GIF->Images->Frames[i]->Top, GIF->Images->Frames[i]->Bitmap);
    	  if(i==0)Image1->Canvas->Draw(0,0,BMP);
    	  else if(i==1)Image2->Canvas->Draw(0,0,BMP);
    	  else if(i==2)Image3->Canvas->Draw(0,0,BMP);
    	  delete BMP;
    	 }
      }
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Hello!

    Je remonte un peu le sujet, au cas ou il y aurait un amateur dans la catégorie TGIFImg /TGIFImage.

    Merci car là je bloque vraiment, ce n'est pourtant pas faute d'essais.

Discussions similaires

  1. Optimisations animation gif?
    Par LEK dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 06/06/2008, 15h32
  2. Affichage d'une animation Gif
    Par lezert dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/05/2008, 16h17
  3. Importation d'une animation Gif
    Par Labbe100 dans le forum Flash
    Réponses: 3
    Dernier message: 17/07/2007, 19h10
  4. Réponses: 6
    Dernier message: 15/08/2006, 20h52

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