Optimisation: dessin de droite point par point

Soyez le premier à donner votre avis sur cette source.

Vue 3 917 fois - Téléchargée 673 fois

Description

Dessin de droite point par point d'après l'algo de Bresenham et d'après l'algo de Cohen-Sutherland pour le clipping (fenêtrage):

- Environ 15 fois plus rapide que l'API Windows.LineTo (Canvas.LineTo est, quant à lui, dans les choux).

- R,G,B et Canal Alpha de chaque pixel accessible en lecture/écriture.

- Compatibilité assurée avec l'API Windows.LineTo et avec les méthodes de TCanvas.

- Prend en charge l'intégralité de l'étendue de Integer (contrairement à l'API Windows.LineTo).

- Développé sous D7 et testé sous Windows Seven.

Une démo non exhaustive des potentialités offertes est contenue dans le zip.

Conclusion :


L'unité est assez peu commentée.
Ceci est dû à la complexité de l'algo original renforcé par une nette simplification qui rendaient les commentaires obscurs et interminables.

Pour une meilleure compréhension, des liens vers les algos originaux sont cependant donnés dans le code, et l'algo brut de Bresenham est donné en Delphi après le END final.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
6 octobre 2014

Bonjour,
intéressant. 10/10
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Delphi a pêché pendant longtemps de manque de code sources concernant les graphiques (dessin, transformation et formats).
C' est alors que j' ai découvert imageEn 3.1.x et alors Delphi a gagné une nouvelle dimension.

Grâce aux membres de DelphiFr j' ai aussi découvert que l' on pouvait aller plus loin pour le dessin et la transformation d' images.

Merci Cari, Barbichette et tout les membres de DelphiFr pour vos sources plus qu' interessantes qui font (sur)vivre ce site.

A+
Messages postés
285
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
11 février 2018

@FRANKY: Le sieur Debiars est très occupé pour le moment avec la relecture des albums TINTIN, vu que c'est la dernière année où il a le droit de le faire...
Après, je dis pas, mais je pencherais plutôt pour Startreck... j'suis pas très fort en sabre laser.

@CARI: 10/10, que dire de plus!
Messages postés
267
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
7 juin 2018

Bonjour,

"La procédure LineTo peut allez se re-habiller parce que cet algo lui met une claque monstrueuse" :
La procédure Windows.LineTo semble dater des premières années de Windows et n'a pas été optimisée car pressés de mettre Windows sur le marché au plus vite.
Pire encore elle n'a jamais été optimisée lors des "upgrades" successifs.

A+.
Utilisateur anonyme
Merci Cari pour ce source très intéressant. La procédure LineTo peut allez se re-habiller parce que cet algo lui met une claque monstrueuse :). Niveau code : Du Caribensila dans toute sa splendeur, un source codé dans les rêgles de l'art.

Juste un ptit truc : Le END final mal placé et la procédure qui suit ne fonctionne pas (Erreur de type et de variables).

J'aime beaucoup l'effet des fusées : Je me dis meme que ca serait criminel que M'sieur Débiars nous fasse pas un jeu vidéo à la Star War ^^.

Bien que plus présent suite à l'état actuel désastreux de ce forum qui n'a malheureusement plus aucune ame et plus aucune chaleur (Raison : les 95% des boulets qui constituent les membres actuels) je tiens à saluer les anciens qui ont fait les jours de gloire de ce forum : Cari, Cirec, f0xi, Candator, Philippe, Mauricio,Jean-Jean,Matt, Bacterius, JLen, Japee(Si quelqu'un a des news je suis preneur en MP) et tous les autres que je n'ai pas nommé.

Vive les biquettes et les tartes aux concombres ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.