Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Lazarus
Lazarus Forum d'entraide sur Lazarus, l'EDI RAD multiplateforme basé sur Free Pascal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 30/03/2010, 13h04   #1
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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 ?
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/03/2010, 23h50   #2
Dr.Who
Membre Expert
 
Avatar de Dr.Who
 
Inscription : septembre 2009
Messages : 980
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : septembre 2009
Messages : 980
Points : 1 175
Points : 1 175
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!
Dr.Who est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2010, 14h38   #3
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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) :
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2011, 00h06   #4
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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.
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 03/04/2011, 07h38   #5
Alcatîz
Responsable Pascal

 
Avatar de Alcatîz
 
Homme Jean-Luc Gofflot
Ressources humaines
Inscription : mars 2003
Messages : 5 547
Détails du profil
Informations personnelles :
Nom : Homme Jean-Luc Gofflot
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : mars 2003
Messages : 5 547
Points : 33 745
Points : 33 745
Envoyer un message via ICQ à Alcatîz Envoyer un message via MSN à Alcatîz Envoyer un message via Yahoo à Alcatîz Envoyer un message via Skype™ à Alcatîz
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]
Alcatîz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 17h43   #6
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
Voilà la traduction du tutoriel en français est faite :

http://wiki.lazarus.freepascal.org/B...ap_tutorial/fr
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 23h30   #7
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
Le tutoriel est maintenant disponible sur developpez.net :
http://lazarus.developpez.com/cours/bgrabitmap/
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 14h12   #8
mittag
Membre du Club
 
Inscription : novembre 2008
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 50
Points : 54
Points : 54
Bonjour,

Cette bibliothèque permet-elle le remplissage de polygones suivant la règle even-odd (option Winding du "canvas.polygon" classique)?
mittag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 22h40   #9
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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).
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h35   #10
mittag
Membre du Club
 
Inscription : novembre 2008
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 50
Points : 54
Points : 54
Voilà qui devient intéressant! Je vais regarder ça de plus près donc.

Merci beaucoup.
mittag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h56   #11
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
Si vous réalisez quelque chose avec, je serais très heureux de le savoir.
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 18h05   #12
mittag
Membre du Club
 
Inscription : novembre 2008
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 50
Points : 54
Points : 54
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)?
mittag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 21h56   #13
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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.
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 17h01   #14
ChPr
Membre confirmé
 
Avatar de ChPr
 
Inscription : septembre 2005
Messages : 653
Détails du profil
Informations personnelles :
Âge : 67

Informations forums :
Inscription : septembre 2005
Messages : 653
Points : 246
Points : 246
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
ChPr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 20h29   #15
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
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:
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
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 21h27   #16
ChPr
Membre confirmé
 
Avatar de ChPr
 
Inscription : septembre 2005
Messages : 653
Détails du profil
Informations personnelles :
Âge : 67

Informations forums :
Inscription : septembre 2005
Messages : 653
Points : 246
Points : 246
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
ChPr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 23h04   #17
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
BGRAText et BGRATextFX font partie de la librairie BGRABitmap.
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 14h26   #18
circular17
Membre confirmé
 
Inscription : juillet 2009
Messages : 59
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 59
Points : 205
Points : 205
Site de l'auteur si vous êtes intéressé : http://johann-elsass.net
circular17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 16h27   #19
tourlourou
Modérateur
 
Avatar de tourlourou
 
Homme Yves Lemaire
Biologiste ; Progr(amateur)
Inscription : mars 2005
Messages : 1 721
Détails du profil
Informations personnelles :
Nom : Homme Yves Lemaire
Âge : 50
Localisation : France, Yvelines (Île de France)

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

Informations forums :
Inscription : mars 2005
Messages : 1 721
Points : 3 326
Points : 3 326
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
tourlourou est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web