|
Started by Ian, Apr., 17 2018 5:17 PM - 4 replies |
| |
| | | |
|
| |
Registered member 106 messages Popularité : +3 (3 votes) |
|
Posted on April, 17 2018 - 5:17 PM |
Bonjour à tous,
dans mon appli je voudrai permettre à mes utilisateurs de signer. Jusque là ça va, mais je voudrai récupérer une signature sans bordure blanche. Je m explique :
je voudrais donc rogner l'image en supprimant les parties blanches (sans pixels) que l'image générée.
Sachant qu'on ne signe pas tous de la même façon (haute ou petite signature, longue ou courte), je pense qu'il me faut prévoir un rognage automatique.
Avez-vous une idée efficace pour m'aider sur ce plan la svp ?
-- - ian - |
| |
| |
| | | |
|
| | |
| |
Registered member 106 messages Popularité : +3 (3 votes) |
|
Posted on April, 18 2018 - 11:57 AM |
Re Bonjour,
je pense avoir trouvé une solution
merci quand même
-- - ian - |
| |
| |
| | | |
|
| | |
| |
Posted on April, 19 2018 - 9:06 AM |
Ian a formulé la demande :
Re Bonjour,
je pense avoir trouvé une solution
merci quand même
bonjour on est content pour toi
mais il est d'usage d'expliquer sa solution.
-- Roumegou Eric
--- Cet email a fait l'objet d'une analyse antivirus par AVG. http://www.avg.com |
| |
| |
| | | |
|
| | |
| |
Registered member 106 messages Popularité : +3 (3 votes) |
|
Posted on April, 19 2018 - 10:09 AM |
Bonjour Roumegou,
Désolé, je ne pensais pas que ça pouvait être interessant
je balaye mon image :
1) de gauche à droite et de haut en bas dans 2 boucles imbriquées pour récupérer le X du premier pixel non blanc dans ce sens 2) de droite à gauche et de haut en bas dans 2 boucles imbriquées pour récupérer le X du premier pixel non blanc dans ce sens 3) de haut en bas et de gauche à droite dans 2 boucles imbriquées pour récupérer le Y du premier pixel non blanc dans ce sens 4) de bas en haut et de gauche à droite dans 2 boucles imbriquées pour récupérer le Y du premier pixel non blanc dans ce sens
ps : Le traitement dure 5 secondes maxi si la signature est microscopique et en bas à droite de mon champ image sur un téléphone de 6". Je ne le trouve donc pas trop lourd.
POUR Temp_X = 1 _A_ IMG_Signature..Largeur-1 POUR Temp_Y = 1 _A_ IMG_Signature..Hauteur-1 SI dPixelCouleur(IMG_Signature,Temp_X,Temp_Y) <> Blanc ALORS X1 = Temp_X SORTIR FIN FIN SI X1 <> 0 ALORS SORTIR FIN
POUR Temp_X = IMG_Signature..Largeur-1 _A_ 1 PAS - 1 POUR Temp_Y = 1 _A_ IMG_Signature..Hauteur-1 SI dPixelCouleur(IMG_Signature,Temp_X,Temp_Y) <> Blanc ALORS X2 = Temp_X SORTIR FIN FIN SI X2 <> 0 ALORS SORTIR FIN
POUR Temp_Y = 1 _A_ IMG_Signature..Hauteur-1 POUR Temp_X = 1 _A_ IMG_Signature..Largeur-1 SI dPixelCouleur(IMG_Signature,Temp_X,Temp_Y) <> Blanc ALORS Y1 = Temp_Y SORTIR FIN FIN SI Y1 <> 0 ALORS SORTIR FIN
POUR Temp_Y = IMG_Signature..Hauteur-1 _A_ 1 PAS -1 POUR Temp_X = 1 _A_ IMG_Signature..Largeur-1 SI dPixelCouleur(IMG_Signature,Temp_X,Temp_Y) <> Blanc ALORS Y2 = Temp_Y SORTIR FIN FIN SI Y2 <> 0 ALORS SORTIR FIN
dans je fais un test avec la fonction dRectangle, le rectangle encadre bien la signature :
dStylo(RougeFoncé) dRectangle(X1,Y1,X2,Y2)
Par contre je rencontre probleme avec dCopie :
Je veux copier la zone sélectionnée de mon img principale (IMG_Signature) dans un autre champ image (IMG_signatureFinale) que j'ai au préalable redimensionnée.
Sur le simulateur, aucun soucis la zone que je veux est bien copiée et bien enregistrée en base Mais sur mon téléphone (Galaxy S7), la zone n 'est pas copiée. Je me retrouve avec une image aux bonnes dimensions mais sans son contenue. J'ai testé la m^me eméthode avec des variables image , même résultats
IMG_SignatureFinale..Largeur = X2-X1+1 IMG_SignatureFinale..Hauteur = Y2-Y1+1 dDébutDessin(IMG_SignatureFinale) dCopie(IMG_Signature,IMG_SignatureFinale,X1,Y1,X2-X1+1,Y2-Y1+1,1,1,IMG_SignatureFinale..Largeur,IMG_SignatureFinale..Hauteur)
Si tu as une idée ou qq'un d'autres, je suis preneur
cdtl
-- - ian - |
| |
| |
| | | |
|
| | |
| |
Registered member 106 messages Popularité : +3 (3 votes) |
|
Posted on April, 19 2018 - 11:53 AM |
Re bonjour,
finalement j'ai trouvé à nouveau ma solution pour le problème que je rencontre avec dCopie
J'utilise dDécoupe à la place :
ImageTemp est une Image SignatureFinale est une Image
dSauveImageJPEG(IMG_Signature,CheminSignature,100)
ImageTemp = dChargeImage(CheminSignature) SignatureFinale = dDécoupe(ImageTemp,X1,Y1,X2-X1+1,Y2-Y1+1)
Je suis obligé de faire un dSauveImageJPEG de mon champ image puis dChargeImage dans une variable image sinon le dDécoupe ne fonctionne pas.
Ah moins que je raconte n'importe quoi, de cette fonction ça fonctionne
cdlt
-- - ian - |
| |
| |
| | | |
|
| | | | |
| | |
|