SELECTION DANS UNE IMAGE PAR RECTANGLE OU ELLIPSE QUI PEUT SE SUBSTITUER AU CURS

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 18 mars 2006 à 18:38
lassad2010 Messages postés 4 Date d'inscription mercredi 3 mars 2010 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/36598-selection-dans-une-image-par-rectangle-ou-ellipse-qui-peut-se-substituer-au-curseur-pour-dessiner

lassad2010 Messages postés 4 Date d'inscription mercredi 3 mars 2010 Statut Membre Derniè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és 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
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és 4 Date d'inscription mercredi 3 mars 2010 Statut Membre Derniè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és 4 Date d'inscription mercredi 3 mars 2010 Statut Membre Derniè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.
Utilisateur anonyme
6 mai 2008 à 14:52
oui merci pour les conseils

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és 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
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...
Utilisateur anonyme
5 mai 2008 à 12:04
Alors là moi je dis FORMIIIDABLE

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és 1 Date d'inscription dimanche 17 septembre 2006 Statut Membre Derniè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és 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
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és 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
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és 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
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és 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
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és 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
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és 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
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.
Rejoignez-nous