SELECTION DANS UNE IMAGE PAR RECTANGLE OU ELLIPSE QUI PEUT SE SUBSTITUER AU CURS
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
18 mars 2006 à 18:38
lassad2010
Messages postés4Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention 1 juin 2010
-
1 juin 2010 à 10:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
lassad2010
Messages postés4Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention 1 juin 2010 1 juin 2010 à 10:36
Bonjour Thierry
Merci pour votre aide et j'ai testé votre composant ZSImage et parfait son exécution, mais j'ai une petite demande y'at'i un moyen de rendre le cadre de sélection proportionnel lors de redimensionnement en rendant le rapport fixe entre Hauteur et largeur.
Merci d'avance.
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 23 mars 2010 à 18:21
Re-bonjour Lassad2010,
Dans ZSImage, la sélection peut "sortir de l'image" (c'est la méthode utilisée par PhotoShop) , mais tu auras remarqué dans la démo qu'il est impossible, par exemple, de peindre en dehors de l'image (ce grâce à une fonction très simple: regarde la procédure de peinture en rouge ou celle du recadrage).
Il y a toujours moyen de modifier le code de SImage, mais je délaisse ce composant au profit de ZSImage qui, en 1 ligne de code me change le facteur d'agrandissement. Donc on peut faire de la retouche par sélection magnétique en travaillant à 100 ou 200% d'affichage, puis revenir à la taille écran pour juger du résultat global.
Re-teste ce composant, il est très simple à utiliser et je ne vois pas pourquoi il te conviendrait moins bien.
Thierry
lassad2010
Messages postés4Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention 1 juin 2010 23 mars 2010 à 17:23
Bonjour Thierry
Merci pour votre aide et apropos du ZSImage le cadre du selection peut sortir de l'image et moi j'ai vu dans SImage qu'il est toujours dans l'image et d'autre part SImage me convient mieux dans les testes que j'ai fait.
Y'a t'il un moyen de le modifier ?
Merci d'avance
lassad2010
Messages postés4Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention 1 juin 2010 23 mars 2010 à 09:29
Bonjour,
Je suis intéressé par votre composant; mais y a t il un moyen de rendre l'image proportionnel (Proportional=true) au lieu d'autosize, et d'ajouter un facteur sur la dimension réel de l'image et la dimension d'affichage.
par contre pour les besoins de ma source j'ai du modifier ceci :
function TSImage.SelectionAvailable: boolean;
begin
Result:= SelectionExist;// and (SelectionState >= 9));
end;
ça m'empêchait de faire une copie directement ... il fallait d'abords bouger le rectangle de sélection sinon il ne se passait rien ;)
ps: pour la gratouille, désolé de t'avoir rappelé ça.
c'est ma plus grande crainte avec le mien ... c'est qu'on s'y attache ...
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 5 mai 2008 à 22:07
Merci à toi Cirec.
Ce à quoi tu dois faire gaffe, c'est de jouer au bon endroit avec "UnSelect", "HideSelection" ou "ShowSelection", pour éviter d'avoir à l'écran 2 rectangles ou...aucun. Pas toujours très simple le dessin en mode pmXor.
Thierry
PS : j'aimerais tant lui faire une petite gratouille de ta part. Hélas, grave maladie, puis...
j'ai justement besoin de faire une sélection d'une zone d'image et je suis tombé sur ce composant ... pile poile ci qu'il me faut ^^
Bravo ça fonctionne très bien (j'ai testé que la démo mais il n'y a pas de raison)
10/10
ps joli toutou tu lui feras une petite gratouille de ma part
dlewin
Messages postés1Date d'inscriptiondimanche 17 septembre 2006StatutMembreDernière intervention 7 mars 2007 7 mars 2007 à 16:41
Bonjour,
Il n'est pas possible d'envoyer de message sur le site (un problème de serveur); est il possible
de me contacter à propos de TSimage, notamment pour quelques ajouts dans le cadre d'un application professionelle.
Merci
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 27 mars 2006 à 21:15
petite reflexion au sujet de ton zip, enleve les fichiers : .DOF et .CFG
ils ne sont pas utiles.
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 22 mars 2006 à 21:21
Salut CINCAP.
J'aimerais savoir quand tu as du scintillement : en traçant le rectangle de sélection ou en dessinant ?
"Créer un cadre défini" ? Tu veux parler de recadrer l'image ?
Fais-moi signe.
Grand merci pour ton commentaire.
A +
ThW
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 22 mars 2006 à 11:11
Bravo pour cette source,
Sur ma machine avec xp pack2, j'ai un scintillement qui pourrait être corrigé simplement en ajoutant dans le "oncreate" de la fiche, doublebuffered := true;
Ou rajouter un bouton avec le code suivant :
"doublebuffered:= not doublebuffered;"
Ce serait idéal de créer un cadre défini de la photo et surtout de pouvoir sauver cette nouvelle image en *.jpg ou *.bmp.
@+,
Cincap
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 19 mars 2006 à 18:32
Salut F0XI.
J'allais justement te répondre que je ne comprenais pas ta remarque sur les propriétés publiées.
Par contre, je vais faire les modif pour Deselect et XYInRect.
Merci pour ton commentaire. Sympa.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 19 mars 2006 à 13:57
oops j'ai dis une grosse betise plus haut, a propos de la zone public et published.
je suis tellement a l'ouest que j'ai oublier que dans ce cas, les prop ne seront plus visible dans l'inspecteur d'objet.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 18 mars 2006 à 18:38
petite corrections a faire dans la declaration de la classe :
procedure Deselect devrait s'appelée Unselect
property SelectionType: TSImageSelectionType ...
property SelectionForm: TSImageSelectionForm ...
property CursorOnDrawSel: TCursor ...
property CursorOnMoveSel: TCursor ...
devraient etre en zone Public et non Published
function TSImage.XYInRect(X,Y,X1,Y1,X2,Y2: integer): boolean;
begin
result := InRange(X,X1,X2) and InRange(Y,Y1,Y2);
end;
en tout cas, trés bon boulot, cela merite une trés bonne note.
1 juin 2010 à 10:36
Merci pour votre aide et j'ai testé votre composant ZSImage et parfait son exécution, mais j'ai une petite demande y'at'i un moyen de rendre le cadre de sélection proportionnel lors de redimensionnement en rendant le rapport fixe entre Hauteur et largeur.
Merci d'avance.
23 mars 2010 à 18:21
Dans ZSImage, la sélection peut "sortir de l'image" (c'est la méthode utilisée par PhotoShop) , mais tu auras remarqué dans la démo qu'il est impossible, par exemple, de peindre en dehors de l'image (ce grâce à une fonction très simple: regarde la procédure de peinture en rouge ou celle du recadrage).
Il y a toujours moyen de modifier le code de SImage, mais je délaisse ce composant au profit de ZSImage qui, en 1 ligne de code me change le facteur d'agrandissement. Donc on peut faire de la retouche par sélection magnétique en travaillant à 100 ou 200% d'affichage, puis revenir à la taille écran pour juger du résultat global.
Re-teste ce composant, il est très simple à utiliser et je ne vois pas pourquoi il te conviendrait moins bien.
Thierry
23 mars 2010 à 17:23
Merci pour votre aide et apropos du ZSImage le cadre du selection peut sortir de l'image et moi j'ai vu dans SImage qu'il est toujours dans l'image et d'autre part SImage me convient mieux dans les testes que j'ai fait.
Y'a t'il un moyen de le modifier ?
Merci d'avance
23 mars 2010 à 09:29
Je suis intéressé par votre composant; mais y a t il un moyen de rendre l'image proportionnel (Proportional=true) au lieu d'autosize, et d'ajouter un facteur sur la dimension réel de l'image et la dimension d'affichage.
6 mai 2008 à 14:52
par contre pour les besoins de ma source j'ai du modifier ceci :
function TSImage.SelectionAvailable: boolean;
begin
Result:= SelectionExist;// and (SelectionState >= 9));
end;
ça m'empêchait de faire une copie directement ... il fallait d'abords bouger le rectangle de sélection sinon il ne se passait rien ;)
ps: pour la gratouille, désolé de t'avoir rappelé ça.
c'est ma plus grande crainte avec le mien ... c'est qu'on s'y attache ...
5 mai 2008 à 22:07
Ce à quoi tu dois faire gaffe, c'est de jouer au bon endroit avec "UnSelect", "HideSelection" ou "ShowSelection", pour éviter d'avoir à l'écran 2 rectangles ou...aucun. Pas toujours très simple le dessin en mode pmXor.
Thierry
PS : j'aimerais tant lui faire une petite gratouille de ta part. Hélas, grave maladie, puis...
5 mai 2008 à 12:04
j'ai justement besoin de faire une sélection d'une zone d'image et je suis tombé sur ce composant ... pile poile ci qu'il me faut ^^
Bravo ça fonctionne très bien (j'ai testé que la démo mais il n'y a pas de raison)
10/10
ps joli toutou tu lui feras une petite gratouille de ma part
7 mars 2007 à 16:41
Il n'est pas possible d'envoyer de message sur le site (un problème de serveur); est il possible
de me contacter à propos de TSimage, notamment pour quelques ajouts dans le cadre d'un application professionelle.
Merci
27 mars 2006 à 21:15
ils ne sont pas utiles.
22 mars 2006 à 21:21
J'aimerais savoir quand tu as du scintillement : en traçant le rectangle de sélection ou en dessinant ?
"Créer un cadre défini" ? Tu veux parler de recadrer l'image ?
Fais-moi signe.
Grand merci pour ton commentaire.
A +
ThW
22 mars 2006 à 11:11
Sur ma machine avec xp pack2, j'ai un scintillement qui pourrait être corrigé simplement en ajoutant dans le "oncreate" de la fiche, doublebuffered := true;
Ou rajouter un bouton avec le code suivant :
"doublebuffered:= not doublebuffered;"
Ce serait idéal de créer un cadre défini de la photo et surtout de pouvoir sauver cette nouvelle image en *.jpg ou *.bmp.
@+,
Cincap
19 mars 2006 à 18:32
J'allais justement te répondre que je ne comprenais pas ta remarque sur les propriétés publiées.
Par contre, je vais faire les modif pour Deselect et XYInRect.
Merci pour ton commentaire. Sympa.
19 mars 2006 à 13:57
je suis tellement a l'ouest que j'ai oublier que dans ce cas, les prop ne seront plus visible dans l'inspecteur d'objet.
18 mars 2006 à 18:38
procedure Deselect devrait s'appelée Unselect
property SelectionType: TSImageSelectionType ...
property SelectionForm: TSImageSelectionForm ...
property CursorOnDrawSel: TCursor ...
property CursorOnMoveSel: TCursor ...
devraient etre en zone Public et non Published
function TSImage.XYInRect(X,Y,X1,Y1,X2,Y2: integer): boolean;
begin
result := InRange(X,X1,X2) and InRange(Y,Y1,Y2);
end;
en tout cas, trés bon boulot, cela merite une trés bonne note.