Publicité
+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 19 sur 19
  1. #1
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    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 : 35

    Informations forums :
    Inscription : septembre 2009
    Messages : 980
    Points : 1 299
    Points
    1 299

    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 éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    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 éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    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, Delphi et Assembleur

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 179
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 6 179
    Points : 40 855
    Points
    40 855

    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
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    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]

  6. #6
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    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 éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    Le tutoriel est maintenant disponible sur developpez.net :
    http://lazarus.developpez.com/cours/bgrabitmap/

  8. #8
    Membre du Club
    Inscrit en
    novembre 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 50
    Points : 61
    Points
    61

    Par défaut

    Bonjour,

    Cette bibliothèque permet-elle le remplissage de polygones suivant la règle even-odd (option Winding du "canvas.polygon" classique)?

  9. #9
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    Oui. La propriété FillMode peut prendre la valeur fmWinding ou fmAlternate.

    EDIT: Je viens de publier la dernière version qui inclut une propriété CanvasBGRA contenant les mêmes fonctions que le canvas standard, avec l'antialiasing et la transparence (propriété Opacity de Pen, Font et Brush).

  10. #10
    Membre du Club
    Inscrit en
    novembre 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 50
    Points : 61
    Points
    61

    Par défaut

    Voilà qui devient intéressant! Je vais regarder ça de plus près donc.

    Merci beaucoup.

  11. #11
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    Si vous réalisez quelque chose avec, je serais très heureux de le savoir.

  12. #12
    Membre du Club
    Inscrit en
    novembre 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 50
    Points : 61
    Points
    61

    Par défaut

    Je pensais suggérer à l'auteur de TeXgraph d'utiliser votre bibliothèque plutôt que le canvas de base. J'ignore quelle sera sa réponse, il faut que cette bibliothèque soit compatible windows/linux/mac, et savoir ce qu'il en est pour la distribution du source (TeXgraph est en GPL, donc le source est fourni)?

  13. #13
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    Ce logiciel a l'air très complet.

    Oui, la bibliothèque a été testée sous Windows, Linux Gtk, Mac OS et un peu sur Linux Qt. Cependant, si vous rencontrez un problème, signalez-le moi que je puisse le corriger.

  14. #14
    Membre éclairé Avatar de ChPr
    Inscrit en
    septembre 2005
    Messages
    838
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : septembre 2005
    Messages : 838
    Points : 336
    Points
    336

    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

  15. #15
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    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

  16. #16
    Membre éclairé Avatar de ChPr
    Inscrit en
    septembre 2005
    Messages
    838
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : septembre 2005
    Messages : 838
    Points : 336
    Points
    336

    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

  17. #17
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    BGRAText et BGRATextFX font partie de la librairie BGRABitmap.

  18. #18
    Membre éclairé

    Inscrit en
    juillet 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 65
    Points : 320
    Points
    320

    Par défaut

    Site de l'auteur si vous êtes intéressé : http://johann-elsass.net

  19. #19
    Modérateur
    Avatar de tourlourou
    Homme Profil pro Yves Lemaire
    Biologiste ; Progr(amateur)
    Inscrit en
    mars 2005
    Messages
    2 221
    Détails du profil
    Informations personnelles :
    Nom : Homme Yves Lemaire
    Âge : 51
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : mars 2005
    Messages : 2 221
    Points : 4 914
    Points
    4 914

    Par défaut

    La bibliothèque est intégrée dans la distribution CodeTyphon basée sur Lazarus.
    Delphi 5 Pro et Code Typhon 4.41 sous Win 7 64 bits - Code Typhon 4.50 sous Ubuntu 14.04 64 bits et 12.04 64 bits (VM)

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •