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 :

Bibliothèque BGRABitmap : Dessin rapide avec transparence et antialiasing


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut Bibliothèque BGRABitmap : Dessin rapide avec transparence et antialiasing
    Découvrez la bibliothèque BGRABitmap pour Lazarus
    Dessin avec transparence et antialiasing

    Ne trouvant pas de moyen pratique pour faire du dessin avec accès direct aux pixels et de la transparence, j'ai fait une bibliothèque qui permet d'utiliser des images 32-bits BGRA (blue vert rouge alpha dans cet ordre) et de les dessiner directement à l'écran.

    La bibliothèque BGRABitmap a pour but de permettre un dessin avec antialiasing, de contrôler la transparence, de fusionner des couches, ajouter des effets...

    Le tutoriel suivant propose de faire le tour des fonctionnalités de cette bibliothèque :
    http://lazarus.developpez.com/cours/bgrabitmap/

    La page de téléchargement :
    http://pascal.developpez.com/telecha...que-BGRABitmap

    J'ai rajouté une page sur le wiki de Lazarus :
    http://wiki.freepascal.org/BGRABitmap/fr

    Qu'en pensez-vous ?

  2. #2
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    quand j'entends Transparence, je pense PNG.
    simple, déjà implémenté, accès au scanline et à la transparence facile.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  3. #3
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut
    Oui tu peux charger des PNG, les modifier et les sauvegarder. J'ai mis une propriété Scanline pour accéder directement aux pixels.

    Voilà un screenshot (sachant que ça donne la même chose avec Ubuntu et Linux) :

  4. #4
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut Tutorial
    Rebonjour,

    J'ai écrit un tutorial en anglais pour BGRABitmap.

    Il montre comment charger et redimensionner des images, utiliser l'accès direct aux pixels, cominer des layers, remplir avec des gradients, utiliser des styles de lignes et des splines, générer des textures avec du bruit de Perlin et faire des effets de lumière Phong.

    Chaque tuto est accompagnié de screenshots

    http://wiki.lazarus.freepascal.org/BGRABitmap_tutorial

    L'adresse de téléchargement de BGRABitmap a changé, à présent c'est ici :
    http://sourceforge.net/projects/lazpaint/

    Je vais probablement faire une traduction française, et, pourquoi pas, on pourrait le mettre sur developpez.net.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 051
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par circular17 Voir le message
    Je vais probablement faire une traduction française, et, pourquoi pas, on pourrait le mettre sur developpez.net.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut
    Voilà la traduction du tutoriel en français est faite :

    http://wiki.lazarus.freepascal.org/B...ap_tutorial/fr

  7. #7
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Bonjour,

    Sous Ubuntu 11.04 et Lazarus 0.9.30, j'ai téléchargé le fichier "bgrabitmap4.6.1.zip" que j'ai décompressé dans un répertoire perso.

    J'ai voulu tester l'exemple "testcanvas2D" qui m'a demandé les unités :

    bgracontrols et BGRAVirtualScreen

    que je n'ai trouvées nulle part dans le fichier téléchargé ???

    Je ne suis pas allé plus loin. Pour autant, peut-on réaliser des programmes de traitement d'images (couleur, dessin, géométrie) avec les unités figurant dans le fichier "bgrabitmap4.6.1.zip" ?

    Merci de votre aide.

    Pierre

  8. #8
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut
    BGRAControls est un paquet de contrôles (boutons etc.) qui utilisent BGRABitmap. Plus d'information sur ce paquet :
    http://wiki.lazarus.freepascal.org/BGRAControls

    Le contrôle BGRAVirtualScreen permet de dessiner sur un écran virtuel, en évitant ainsi le clignotement et avec simplicité.

    peut-on réaliser des programmes de traitement d'images (couleur, dessin, géométrie) avec les unités figurant dans le fichier "bgrabitmap4.6.1.zip" ?
    Bien entendu.

    Par exemple LazPaint utilise cette bibliothèque :
    https://sourceforge.net/projects/lazpaint/files/

    Pour résumer il y a :
    - une bibliothèque de dessin BGRABitmap
    - une bibliothèque de contrôles BGRAControls
    - un logiciel d'édition d'image LazPaint

    Enfin, de façon indépendante est développée une autre bibliothèque de contrôles (uEControls) utilisant aussi BGRABitmap :
    http://www.lazarus.freepascal.org/in....msg71343.html

  9. #9
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    merci circular17 pour ces précisions.

    J'ai chargé le zip de la dernière version de BGRAControls. Impossible à compilier ni sous Windows, ni sous Ubuntu (Lazarus 0.9.30) : des unités n'ont pas le bon nom (BGRAText ou BGRATextFX) ou sont manquantes dans la clause "Uses" (BGRAGradients), des variables sont introuvables ... ???

    Cordialement.

    Pierre

  10. #10
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut
    BGRAText et BGRATextFX font partie de la librairie BGRABitmap.

  11. #11
    Membre chevronné

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Par défaut
    Site de l'auteur si vous êtes intéressé : http://johann-elsass.net

  12. #12
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    La bibliothèque est intégrée dans la distribution CodeTyphon basée sur Lazarus.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. Réponses: 50
    Dernier message: 26/04/2020, 21h44
  2. Dessiner sur le bureau HBITMAP avec transparence
    Par Invité dans le forum Windows
    Réponses: 2
    Dernier message: 24/09/2010, 18h21
  3. Réponses: 5
    Dernier message: 26/06/2010, 12h33
  4. [JFreeChart] dessins Pie3D avec transparency
    Par bluecameleon dans le forum 2D
    Réponses: 0
    Dernier message: 25/03/2009, 12h09
  5. Bibliothèque 3D avec transparence
    Par Graffito dans le forum Composants VCL
    Réponses: 5
    Dernier message: 25/04/2006, 17h34

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