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

Lazarus Pascal Discussion :

Apprendre à créer des transitions d'image à image avec Lazarus et BGRABitmap (3)


Sujet :

Lazarus Pascal

  1. #1
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut Apprendre à créer des transitions d'image à image avec Lazarus et BGRABitmap (3)
    Apprendre à créer des transitions d'image à image - Travailler avec des masques
    Avec Lazarus et BGRABitmap



    Bonjour à toutes et à tous !

    Après avoir installé la bibliothèque BGRABitmap, bâti un logiciel de test avec la prise en charge de la vitesse d'affichage et de l'opacité, produit les premières transitions par simple recouvrement, le tutoriel proposé à présent décrit comment utiliser des masques pour des résultats encore plus intéressants.

    Voici par exemple une des transitions que vous obtiendrez sans peine après avoir lu ce tutoriel :




    Pour lire le tutoriel, c'est ici : https://gilles-vasseur.developpez.co...sitions/bgra3/

    Que pensez-vous de ce tutoriel ?
    Quelle utilisation faites-vous du graphisme avec Lazarus ?

    Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation avec Lazarus.
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  2. #2
    Membre confirmé

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Points : 623
    Points
    623
    Par défaut
    Bonjour et merci pour ces joli tutoriels !

    Petite remarque sur FillRectAntialias. Les procédures avec des paramètres de type Single suppose a priori que les coordonnées sont centrées sur les pixels. Donc la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LBGRAMask.FillRectAntialias(0, 0, imgResult.ClientWidth, imgResult.ClientHeight, BGRABlack);
    n'efface pas vraiment tout. Le 0,0 ne remplit qu'à moitié les pixels en haut à gauche.

    Pour remplir tout, il faut spécifier le paramètre pixelCenteredCoordinates à false. Cela revient alors au même résultat qu'en utilisant la procédure FillRect tout court.

    Notez que dans ce cas, il s'agit d'effacer toute l'image, ce qui peut se faire avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LBGRAMask.Fill(BGRABlack);
    Sinon, il me semble que dans la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LBGRAMask := TBGRABitmap.Create(imgResult.ClientWidth, ClientHeight, BGRABlack);
    Il s'agit en fait de imgResult.ClientHeight au lieu de ClientHeight.

    Cordialement
    Par-delà nos conceptions du bien et du mal se trouve une prairie. Je te rencontrerai là-bas.

  3. #3
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Bonjour Johann,

    Merci pour cette relecture attentive

    La remarque sur les pixels avec les single est tout à fait pertinente. J'avais cru bon utiliser les méthodes avec anticrénelage dès cette introduction, car le composant final utilise les single (et non les entiers comme les démos), mais c'est effectivement au détriment de l'exactitude du dessin obtenu.
    Quant à la ligne de code reproduite, elle contient en effet un oubli .

    Je corrige l'ensemble et je t'ajoute aux contributeurs.

    Encore merci à toi,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  4. #4
    Membre confirmé

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Points : 623
    Points
    623
    Par défaut
    C'est tout naturel Gilles pour moi d'être là pour les projets en relation avec ma bibliothèque.
    Par-delà nos conceptions du bien et du mal se trouve une prairie. Je te rencontrerai là-bas.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/05/2018, 12h48
  2. Réponses: 27
    Dernier message: 23/05/2018, 22h14
  3. Réponses: 0
    Dernier message: 20/12/2013, 15h29
  4. [Images] Créer des miniatures d'une image
    Par jeangaza dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 15/06/2010, 16h42
  5. Créer des Section dans un Image JPG
    Par Charo dans le forum Imagerie
    Réponses: 2
    Dernier message: 31/01/2007, 10h56

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