Gambas France BETA


Pas de compte ? Incription

Déplacer une image ?

Ce sujet est résolu.

12
AuteurMessages
vuott#16 Posté le 26/7/2024 à 09:12:15
Ne cedere ineluctabili possimus
Patrick et vous,Vuott, avez cru que je voulais déplacer une "petite" image à l'intérieur d'un PictureBox, ce n'est pas exactement cela.
Je voudrais déplacer dans le PictureBox, l'image qui occupe déjà toute la surface du PictureBox.

όμικρον κάππα !
J'ai mal compris. :|



Question à Vuott,
Pourquoi :
La solution avec la « DrawingArea » est la plus correcte et la plus appropriée:
?

Ma suggestion était liée à mon interprétation erronée de ce que je pensais que tu voulais.
De toute façon, en général le "DrawingArea" est un contrôle "dynamique" pour la gestion des dessins et images (qui sont essentiellement dessinés dans ce contrôle). La "PictureBox" est plus rigide et fondamentalement un Contrôle qui ne sert qu’à "montrer" une image.
« Vita non suavis esse potest, nec Mors amara. »
vuott#17 Posté le 26/7/2024 à 09:24:12
Ne cedere ineluctabili possimus
Je voudrais déplacer dans le PictureBox, l'image qui occupe déjà toute la surface du PictureBox.

Mais je n’ai pas compris ce que vous voulez dire et obtenir.
Si l’image occupe déjà toute la zone graphique de la "PictureBox", voulez-vous qu’avec la souris une partie de l’image puisse "sortir" de la "PictureBox"? Et donc cette partie de l’image ne sera pas visible ?
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#18 Posté le 26/7/2024 à 09:29:45
-- Unus Ex Altera --Oui Vuott,
si j’agrandis l'image alors que la pictureBox a toujours les mêmes dimensions alors une partie de l'image n'est pas visible. Je pensais pouvoir déplacer l'image dans la pictureBox pour voir ce qui n'était plus visible quitte à en cacher une autre partie.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#19 Posté le 26/7/2024 à 10:57:39
Ne cedere ineluctabili possimus
Je pensais pouvoir déplacer l'image dans la pictureBox pour voir ce qui n'était plus visible quitte à en cacher une autre partie.

Le problème est que la "PictureBox" ne permet pas de définir les coordonnées, où montrer l’image à l’intérieur.

Uhmmm...... :scratch: Si vous ne voulez pas augmenter la taille de la "PictureBox", alors peut-être que la solution est d’utiliser une "ImageView", qui a des barres de défilement.

https://gambaswiki.org/wiki/comp/gb.form/imageview?l=fr

Exemplum simplex:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PRIVATE im AS Image
PRIVATE ImageView1 AS ImageView


PUBLIC SUB Form_Open()

im = Image.Load("/chemin/du/fichier/image")

ME.Resize(im.W, im.H)
ME.Arrangement = Arrange.Fill

WITH ImageView1 = NEW ImageView(ME) AS "ImageView1"
.Image = im
END WITH

END


PUBLIC SUB ImageView1_MouseUp() ' En cliquant sur le bouton de la souris sur "ImageView", la taille de l’image double.

WITH ImageView1
.Image = .Image.Stretch(.Image.W * 2, .Image.H * 2)
END WITH

END
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#20 Posté le 26/7/2024 à 11:19:26
-- Unus Ex Altera --Ou bien un ScrollView qui ferait la même chose avec des barres de défilement mais qui est mon beau.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#21 Posté le 26/7/2024 à 11:25:44
Ne cedere ineluctabili possimus« Essayer ne fait pas de mal... ça fait du mal de ne pas essayer. » :bounce:
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#22 Posté le 26/7/2024 à 11:48:53
-- Unus Ex Altera --ImageView fait super bien le job exactement comme je le souhaitais.
Un détail, comment commencer l'affichage d'une photo, l'image réduite pour être contenu dans l'ImageView?
:bounce:
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#23 Posté le 26/7/2024 à 12:26:12
Ne cedere ineluctabili possimus :shock: Peut-être ai-je trouvé la solution avec le "PictureBox", en utilisant seulement un seul objet "Image" : celui qui contient l’image chargée par un fichier:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
PRIVATE PictureBox1 AS PictureBox
PRIVATE im AS Image
PRIVATE rc AS Rect
PRIVATE x AS SHORT
PRIVATE y AS SHORT


PUBLIC SUB Form_Open()

im = Image.Load("/chemin/du/fichier/image")

ME.Resize(im.W, im.H)

im = im.Stretch(im.W * 2, im.H * 2)
rc = NEW Rect(0, 0, im.W, im.H)


WITH PictureBox1 = NEW PictureBox(ME) AS "PictureBox1"
.Move(0, 0, im.W, im.H)
.Image = im.Copy(rc.X, rc.Y, rc.W, rc.H)
.Background = Color.Yellow
END WITH

END


PUBLIC SUB PictureBox1_MouseDown()

WITH rc
IF NOT .Contains(Mouse.X, Mouse.Y) THEN RETURN
x = Mouse.X - .X
y = Mouse.Y - .Y
END WITH

END


PUBLIC SUB PictureBox1_MouseMove()

WITH rc
IF NOT .Contains(Mouse.X, Mouse.Y) THEN RETURN
.X = Mouse.X - x
.Y = Mouse.Y - y
END WITH

WITH PictureBox1
.Image = PictureBox1.Image.Fill(PictureBox1.Background)
.Image = PictureBox1.Image.DrawImage(im, rc.X, rc.Y, rc.W, rc.H)
END WITH


END
« Vita non suavis esse potest, nec Mors amara. »
vuott#24 Posté le 26/7/2024 à 12:31:47
Ne cedere ineluctabili possimus
Un détail, comment commencer l'affichage d'une photo, l'image réduite pour être contenu dans l'ImageView?

Mon exemple avec "ImageView" n’était pas clair ? :|
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#25 Posté le 26/7/2024 à 13:15:33
-- Unus Ex Altera --pardonne moi Vuott,
je ne l'ai pas regardé vraiment je me suis focalisé sur l'utilisation de l'imageView qi fonctiopnne à merveille avec plein d'options de réglages.
J'ai placé une version avec cet outil sur la forge.
Omicron Kappa comme dirait l'autre.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
12