Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par gvasseur58

26PARTAGES

6  0 
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.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de gvasseur58
Responsable Lazarus & Pascal https://www.developpez.com
Le 19/06/2018 à 15:03
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
2  0 
Avatar de circular17
Membre confirmé https://www.developpez.com
Le 08/07/2018 à 17:48
C'est tout naturel Gilles pour moi d'être là pour les projets en relation avec ma bibliothèque.
2  0 
Avatar de circular17
Membre confirmé https://www.developpez.com
Le 19/06/2018 à 11:57
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
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
LBGRAMask.Fill(BGRABlack);
Sinon, il me semble que dans la ligne suivante :
Code : Sélectionner tout
LBGRAMask := TBGRABitmap.Create(imgResult.ClientWidth, ClientHeight, BGRABlack);
Il s'agit en fait de imgResult.ClientHeight au lieu de ClientHeight.

Cordialement
1  0