|
Fonction <Image>.Redresse |
Débuté par Christian, 08 jan. 2025 14:02 - 8 réponses |
| |
| | | |
|
| |
Membre enregistré 87 messages |
|
Posté le 08 janvier 2025 - 14:02 |
Bonjour,
Je souhaite utiliser la fonction <Image>.Redresse, mais l'exemple de code fourni dans l'aide est inutilisable. D'où sortent les variables ou constantes "POT_SRC_TL", "POT_Bas", "POT_Droite" et "dst_Img" ? Si quelqu'un peut m'expliquer comment utiliser cette fonction, je l'en remercie d'avance.
Christian. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 741 messages |
|
Posté le 08 janvier 2025 - 14:17 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 87 messages |
|
Posté le 08 janvier 2025 - 14:38 |
Merci pour ce retour. J'ai bien compris que POT_SRC_TL sont des coordonnées pour les points du polygone, mais mettre les valeurs numériques aurait permis de mieux comprendre l'exemple, et de le faire fonctionner. Tel quel, l'exemple n'est même pas fonctionnel.
Je comprend que srcPoly sont les coordonnées du polygone à conserver. Par contre, je ne comprend pas comment indiquer les coordonnées du polygone dstPoly.Message modifié, 08 janvier 2025 - 14:41 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 741 messages |
|
Posté le 08 janvier 2025 - 14:58 |
J'essaie de vous orienter suivant un essai que j'avais réalisé, mais en fait j'avais abandonné et je me suis tourné vers un logiciel qui faisait le travail sans intervention. De ce que je me souviens, cette fonction est basique, il n'y a pas de détection de l'image. A vous donc de créer les polygones de déformation par les points qui ont été représentés sur l'image de l'exemple. Sur cette image, le point bas gauche doit être amené sous le point haut gauche. Dans la seconde syntaxe (rectangle), le rectangle est optionnel (je commencerai donc par tester cette syntaxe) mais le polygone d'origine est obligatoire pour indiquer les coordonnées des points à déformer. Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 87 messages |
|
Posté le 08 janvier 2025 - 15:20 |
J'ai bien compris que les points du polygone srcPoly servent à définir le contour de l'image à conserver. C'est dans les points de dstPoly que je butte.
Si je prend dans l'exemple : Ajoute(dstPoly.Point, [srcImg.Largeur - POT_Bas-POT_SRC_TL, srcImg.Hauteur - POT_Droite - POT_SRC_TL])
On est d'accord que la première donnée correspond à l'axe X, et la deuxième à l'axe Y. Or, il soustraient une valeur POT_Bas à la largeur, et la valeur POT_Droite à la hauteur, ce qui ne me semble pas très logique.
Mon problème est : comment définir les points [X,Y] pour l'image de destination ?Message modifié, 08 janvier 2025 - 15:21 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 162 messages |
|
Posté le 08 janvier 2025 - 15:59 |
Bonjour
Je ne vois pas votre problème, j'ai bien étudier la syntaxe .Redresse dans l'éditeur, je ne la trouve pas, dans l'outil image il y a plusieurs syntaxe, est ce que vous pouvez expliquer plus de détail
NB : les variables "POT_SRC_TL", "POT_Bas", "POT_Droite" sont peut être des variables utiliser dans le projet seulement
Cordialement Mr.RATSIMANDRESY Niry Aina Eddy |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 87 messages |
|
Posté le 08 janvier 2025 - 16:48 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 741 messages |
|
Posté le 08 janvier 2025 - 18:51 |
Christian, Apparemment, nous ne nous comprenons pas. Pour exemple, j'ai pris l'image déformée sur la page d'aide (découpage approximatif autour de l'image de gauche). J'obtiens une image que j'ai sauvegardé : "C:\Temp\Image1.png" Cette image a une largeur de 290 et une hauteur de 260
j'ai dans mon projet un champ Image nommé : ChampImg1
srcImg est une Image = "C:\Temp\Image1.png" dstImg est une Image = srcImg
srcPoly est un Polygone srcPoly.Point = [[0,0], [290,74], [290,217], [25,260]]
dstPoly est un Polygone dstPoly.Point = [[0,0], [290,0], [290,260], [0,260]]
ChampImg1 = dstImg
SI ChampImg1.Redresse(srcPoly, dstPoly) = Faux ALORS Erreur() FIN
ps : j'ai supprimé la ligne de code Decoupe et la ligne CouleurRemplissage (inutiles pour l'exemple)
Dans srcPoly, point Haut Gauche ne bouge pas, donc 0,0 reste 0,0 dans dstPoly Dans srcPoly, point Haut Droit est trop bas de 74 points, donc 290,74 est le point que je veux remonter à 290,0 dans dstPoly Dans srcPoly, point Bas Droit est trop Haut de 43 points, donc 290,217 est le point que je veux descendre à 290,260 dans dstPoly (217 + 43 = 260) Dans srcPoly, point Bas Gauche est trop à droite de 25 points, donc 25,260 est le point que je veux déplacer vers la gauche à 0,260 dans dstPoly
Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 87 messages |
|
Posté le 08 janvier 2025 - 19:53 |
Merci beaucoup, j'ai enfin compris.
Christian |
| |
| |
| | | |
|
| | | | |
| | |
|