|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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-BGRABitmapJ'ai rajouté une page sur le wiki de Lazarus : http://wiki.freepascal.org/BGRABitmap/fr |
|
10
|
|
|
#2 |
|
Membre Expert
![]() Inscription : septembre 2009 Messages : 980 ![]() |
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! |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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) :
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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. |
|
20
|
|
|
#5 | |
![]() ![]() ![]() |
Citation:
__________________
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] |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
Voilà la traduction du tutoriel en français est faite :
http://wiki.lazarus.freepascal.org/B...ap_tutorial/fr |
|
00
|
|
|
#7 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
Le tutoriel est maintenant disponible sur developpez.net :
http://lazarus.developpez.com/cours/bgrabitmap/ |
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 50 ![]() |
Bonjour,
Cette bibliothèque permet-elle le remplissage de polygones suivant la règle even-odd (option Winding du "canvas.polygon" classique)? |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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). |
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 50 ![]() |
Voilà qui devient intéressant! Je vais regarder ça de plus près donc.
Merci beaucoup. |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
Si vous réalisez quelque chose avec, je serais très heureux de le savoir.
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 50 ![]() |
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)?
|
|
|
00
|
|
|
#13 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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. |
|
00
|
|
|
#14 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 653 ![]() |
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 |
|
|
00
|
|
|
#15 | |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
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é. Citation:
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 |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() Inscription : septembre 2005 Messages : 653 ![]() |
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 |
|
|
00
|
|
|
#17 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
BGRAText et BGRATextFX font partie de la librairie BGRABitmap.
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() ![]() Inscription : juillet 2009 Messages : 59 ![]() |
Site de l'auteur si vous êtes intéressé : http://johann-elsass.net
|
|
00
|
|
|
#19 |
![]() ![]() Yves LemaireBiologiste ; Progr(amateur) Inscription : mars 2005 Messages : 1 721 ![]() |
La bibliothèque est intégrée dans la distribution CodeTyphon basée sur Lazarus.
__________________
Delphi 5 Pro et Code Typhon 2.80 sous Win 7 64 bits - Code Typhon 2.70 / Ubuntu 12.04 64 bits |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com