Plusieurs shapes = 1image?

Le
latouffe59
Bonjour,
voila j'ai fais utiliser un programme qui change le contraste d'une
ImageAffiché (qui est dasn une picturebox)
Malheureusement je dois changer mes projets initiaux et remlacer cette
image par quelques rectangles pleins..

Donc peut on faire quelque chose de la sorte:
shape1+shape2+shape3+shape4 = ImageAffiché ????

Si vous pouviez me renseignez ca serait sympa.

Mrci d'avance
latouffe59
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-marc
Le #15406411
wrote:
Bonjour,
voila j'ai fais utiliser un programme qui change le contraste d'une
ImageAffiché (qui est dasn une picturebox)
Malheureusement je dois changer mes projets initiaux et remlacer cette
image par quelques rectangles pleins........

Donc peut on faire quelque chose de la sorte:
shape1+shape2+shape3+shape4 = ImageAffiché ????

Si vous pouviez me renseignez ca serait sympa................

Mrci d'avance
latouffe59



Hello,

Les shape ne sont pas la solution ici. Par contre tu peux dessiner
tes rectangles dans ta picturebox.

Voici un rectangle plein, rouge, centré:

faire une form, Autoredraw = true
mettre une pictureBox, AutoRedraw = true
un bouton de commande (Command1).
Puis ce code:

Private Sub Command1_Click()

Dim x1 As Single, y1 As Single
Dim x2 As Single, y2 As Single

x1 = Picture1.ScaleWidth * 0.15
y1 = Picture1.ScaleHeight * 0.15
x2 = Picture1.ScaleWidth * 0.85
y2 = Picture1.ScaleHeight * 0.85

Picture1.FillStyle = 0 ' plein
Picture1.FillColor = RGB(255, 0, 0) ' rouge
Picture1.Line (x1, y1)-(x2, y2), , B ' boite

End Sub

Et voila :-)



--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
latouffe59
Le #15405111
Merci de cette information c'est bien sympa mais....

Comment enlever la bordure créer .....

-Picture1.borderstyle >> modifie pour la picture box!!
- si on peut déterminer la couleur de la bordure du rectangle tracé on
peut mettre "BF" à la place de "B" mais comment imposé la couleur?

Latouffe59 ;)
jean-marc
Le #15405101
news:
Merci de cette information c'est bien sympa mais....



Comment enlever la bordure créer .....



-Picture1.borderstyle >> modifie pour la picture box!!
- si on peut déterminer la couleur de la bordure du rectangle tracé on
peut mettre "BF" à la place de "B" mais comment imposé la couleur?



Hello,

Voir la documentation de la fonction Line.
Voir aussi comment fonctionne
Picture1.ForeColor()

La réponse est la :-)

--
Jean-marc
latouffe59
Le #15405091
OK!!
je viens de comprendre exactement le fonctionnement de "line" et donc
la différence entre forecolor et fillcolor !!!(qui était pour moi
identique quadn j'avais lu la MSDN .....

Merci beaucoup.
latouffe59
latouffe59
Le #15405061
Bon je veux pas recréer un post pour ca donc je le demande ici:

Comment dessiner, avec line comme me l'a montrer jean marcq plus
haut, une sorte de polygone penché?

en fait je veux simplement dessiner un V ,un K, un Y


De même peut on faire des demi cercle (je sais faire cercle + tracé un
cache ) pour le D ou alors une elipse et demi elipse ?

merci d'avance,
latouffe59
jean-marc
Le #15405051
news:
Bon je veux pas recréer un post pour ca donc je le demande ici:
Comment dessiner, avec line comme me l'a montrer jean marcq plus
haut, une sorte de polygone penché?



L'instruction line à 2 syntaxes:
line (x1,y1)-(x2,y2)
ou
line -(x2,y2)

Il suffit de définir correctement les coordonnées des points pour faire des
polygones.
Par exemple pour un triangle:
line (100,100)-(0, 200)
line -(200,200)
line -(100,100)

en fait je veux simplement dessiner un V ,un K, un Y



Pareil.

A ce propos, tu peux dessiner directement de grandes lettres
en faisant par exemple:

Picture1.FontName = "Arial"
Picture1.FontSize = 100
Picture1.Print "K"


De même peut on faire des demi cercle (je sais faire cercle + tracé un
cache ) pour le D ou alors une elipse et demi elipse ?



Oui, lire la doc de l'instruction Circle, qui permet précisément de faire
cela, grace aux paramètres Start, End:

Draws a circle, ellipse, or arc on an object.
Syntax
object.Circle [Step] (x, y), radius, [color, start, end, aspect]


tu peux aussi faire à la main sachant que les coordonnées d'un point d'un
cercle sont:
X = XC + RAYON * COS(ALPHA)
Y = YC + RAYON * SIN(ALPHA)

ALPHA l'angle, RAYON le rayon, XC et YC les coordonnées du centre.

les angles sont en radians, et pour convertir

angle_en_radian = valeur_en_degré * 180 / PI
et
Private Const PI As Double = 3.141592657


Si tu veux dessiner de jolies 'part de tarte', tu peux utiliser
les méthodes ci-dessus et tu peux t'amuser à colorier avec
la sympathique API ExtFloodFill :

Declare Function ExtFloodFill Lib "gdi32" ( _
ByVal hDC As Long, _
ByVal XStart As Long, _
ByVal YStart As Long, _
ByVal ClrRef As Long, _
ByVal FillType As Long) As Long


Tu peux alors faire de jolies dessins comme ça:
http://users.skynet.be/candide/pies.html


Bon dessins !

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Publicité
Poster une réponse
Anonyme