p
u
b
l
i
c
i
t
é
publicité
+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 2 12 DernièreDernière
  1. #1
    Membre éprouvé

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

    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
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 6 503
    Points : 43 117
    Points
    43 117
    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
    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 éprouvé

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

    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
    927
    Détails du profil
    Informations personnelles :
    Âge : 69

    Informations forums :
    Inscription : septembre 2005
    Messages : 927
    Points : 359
    Points
    359

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

    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
    927
    Détails du profil
    Informations personnelles :
    Âge : 69

    Informations forums :
    Inscription : septembre 2005
    Messages : 927
    Points : 359
    Points
    359

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

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

    Par défaut

    BGRAText et BGRATextFX font partie de la librairie BGRABitmap.

  18. #18
    Membre éprouvé

    Inscrit en
    juillet 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 99
    Points : 448
    Points
    448

    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
    Biologiste ; Progr(amateur)
    Inscrit en
    mars 2005
    Messages
    2 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : mars 2005
    Messages : 2 439
    Points : 5 847
    Points
    5 847

    Par défaut

    La bibliothèque est intégrée dans la distribution CodeTyphon basée sur Lazarus.
    Delphi 5 Pro - CodeTyphon 5.20 sous Win 7 et Ubuntu 14.04

  20. #20
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 986
    Points : 5 693
    Points
    5 693
    Billets dans le blog
    1

    Par défaut

    Bonjour !

    Y a-t-il un moyen de connaître la largeur d'un texte ? Pour la hauteur, c'est la propriété FontHeight de la classe TBGRABitmap. Mais pour la largeur, je n'ai pas trouvé d'indication dans le tutoriel (qui par ailleurs est très bien fait).
    L'Art est long et le Temps est court.

Discussions similaires

  1. Réponses: 49
    Dernier message: 15/08/2014, 19h26
  2. Dessiner sur le bureau HBITMAP avec transparence
    Par Naephus 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