DÉFORMER UNE IMAGE AUX DIMENSIONS D'UN QUADRANGLE QUELCONQUE MODIFIER

FFCAST Messages postés 36 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 2 novembre 2015 - 12 sept. 2009 à 13:51
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013 - 21 nov. 2013 à 15:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50558-deformer-une-image-aux-dimensions-d-un-quadrangle-quelconque-modifier

blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
21 nov. 2013 à 15:48
Vraiment bon le bonhomme....
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
13 sept. 2009 à 18:07
@Bacterius:
oui Delphi2009 gère les PGN & GIF nativement ... on peut donc s'en servir pour les objets de la VCL (TButton, TImage, TImageList, etc. etc.) et donc dans ce code (tel qu'il est construit) elle est utile ;)

Mais pour ne gêner personne on pourrait écrire les "uses" comme ceci:

uses windows, ..., jpeg
{$ifdef ver200}, pngimage, gifimg{$endif};

comme ça les versions antérieurs compileront quand même.

@FFcast:

1°) tu peux virer quelques fichiers inutiles de ton Zip.
à conserver: *.DPR; *.RES; *.PAS; *.DFM; et les 3 images
tout le reste est à virer !!!

2°) Dans une condition (if then) le "= True" est implicite
ainsi:
if CheckBox1.Checked=true then
s'écrit:
if CheckBox1.Checked then
...

mais dans ton cas:
Image2.Transparent := CheckBox1.Checked;
est amplement suffisant.

3°) je ne suis pas certain que le fait de passer par un TImage soit un gain en soit!
de toute façon, au final, le travail se fait sur un bitmap. Le TImage étant plus lourd dans son
fonctionnement.

4°) Dans le code je ne comprend pas le choix des paramètres pour les fonctions Render ?
si déjà tu choisis le TImage pourquoi ne pas passer l'objet en paramètre à la place du nom de
l'objet ?
ça t'éviterait de faire 36 "FindComponent" qui coutent cher en ressources!!!
et je pense que l'on peut aussi se passer du paramètre "Fenetre"

pour le reste on verra plus tard ... d'autre améliorations (allègements) sont possibles ;)

@++
FFCAST Messages postés 36 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 2 novembre 2015
13 sept. 2009 à 07:52
oui je suis dsl je n'est pas mis les procedure que jai rajouter ou modifier

procedure Render(const Fenetre:Tform;const nom_du_Timage_final:string;const XA,YA,XB,YB,XC,YC,XD,YD:integer);overload;

cette procedure permet de placer les point ou on le souette

procedure Render(const Fenetre:Tform;const nom_du_Timage_final:string;const XA,YA,XB,YB,XC,YC,XD,YD:integer;const Animation:boolean;vitesse:byte);overload;

cette proedure permet de placer les point ou on le souette avec une diference c'est que l changement se fait progressivement avec la vitesse de deplacement

"pngimage" ce crée automatiquement avec delphi 2009 car le Timage et gerer de base

les procedure
"Render_centrer","Render_gauche","Render_droite" sont des procedure de base que j'ai besion dans un nouveau projet ce que jaimme avec c'est 3 procedure et que peu importe la taille de mont Timage il se placeront correctement ^^

cordialement , FFcast!
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
13 sept. 2009 à 05:16
Oui, c'est bien, seulement ... c'est pas vraiment une amélioration. Pas dans ton exemple en tout cas. La source de Spatul permettait de définir un quadrangle dans lequel le bitmap se déformait. Ton exemple ne permet que de définir trois quadrangles. Essaye de faire un exemple dans lequel tu peux choisir ton quadrangle à l'aide de petits "crochets" sur l'image (comme sur la source de Spatul) ? C'est beaucoup plus ludique, et ça fait encore plus pro :)

Cordialement, Bacterius !

PS : tu peux supprimer "pngimage" dans les uses de la Unit1, elle ne sert à rien.
FFCAST Messages postés 36 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 2 novembre 2015
12 sept. 2009 à 13:51
les critique ou amelioration sont les bienvenue jai oublier de précisé les deplacement est en animation
Rejoignez-nous