IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Faire tourner une image selon un axe calculé [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut Faire tourner une image selon un axe calculé
    Bonsoir,

    Comme un bon dessin vaut mieux qu'une mauvaise explication .......



    voila donc une petite partie de mon appli

    la textbox sous le button exit affiche une valeur calculée entière comprise entre 0 et 360 (unité est le degré)

    Lorsque je clique sur le bouton database, la valeur de la textbox se calcule et je voudrais que l'image (contenue dans une picturebox) pivote de la valeur en degrés de la textbox

    les chiffres en rouge sont le repère

    exemple : ma valeur de textbox = 90 ferait tourner mon image d'un quart de tour vers le haut de manière à aligner le 0 sur le 90

    j'ai cherche mais j'avoue ne pas y être arrivé du tout ( a part mettre 360 images décalées de 1 degré et jouer sur les .visible ).

    A vrai dire, je ne vois même pas comment aborder le sujet

    Merci de vos conseils

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    dans system.drawing et system.drawing.drawing2D il y a tout ce qu'il faut pour manipuler des images et du rendu, avec entre autre rotatetransform
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour attila
    Utilise matrix.rotateAt(angle, pointCentreRotation) et un bmp qui contient ton image.
    voici un exemple pour t'edifier sur la demarche à suivre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    53
    54
    55
    56
    57
    58
     
    Imports System.Drawing.Drawing2D
     
    Public Class Form1
    	Private angleRotation As Integer
    	Private bmp As Bitmap
     
    	Public Sub New()
     
    		' Cet appel est requis par le Concepteur Windows Form.
    		InitializeComponent()
     
    		' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
    		'un picbox
    		Me.PictureBox1.Dock = DockStyle.Fill
    		'un trackbar
    		Me.TrackBar1.Dock = DockStyle.Left
     
    		Me.PictureBox1.Image = Nothing
    		'pick image from resource 
    		bmp = My.Resources.Nenuphars
     
    		Me.TrackBar1.Minimum = 0
    		Me.TrackBar1.Maximum = 360
    		Me.TrackBar1.SmallChange = 1
    		Me.TrackBar1.LargeChange = 5
     
    		'initialise l'angle de rotation
     
    		Me.angleRotation = 15
    		Me.TrackBar1.Value = Me.angleRotation
     
    	End Sub
     
     
     
    	Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    		If bmp Is Nothing Then Return
     
     
    		Dim g As Graphics = e.Graphics
    		Dim myMatrix As Matrix = New Matrix
    		g.PageUnit = GraphicsUnit.Pixel
    		'calcule le centre de rotation 
    		Dim centerBmp As Point = New Point(bmp.Width / 2, bmp.Height / 2)
    		myMatrix.RotateAt(Me.TrackBar1.Value, centerBmp)
     
    		g.Transform = myMatrix
    		g.DrawImage(bmp, 0, 0)
     
    	End Sub
     
    	Private Sub TrackBar1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.ValueChanged
    		Me.PictureBox1.Invalidate()
    	End Sub
     
     
    End Class
    bon code............

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    merci a vous deux, cela fonctionne parfaitement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire tourner une image sur son axe
    Par choupinou22 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 04/07/2015, 17h49
  2. Faire tourner une image en fonction des jours
    Par bastien_hj dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 04/04/2009, 17h25
  3. faire tourner une image
    Par paulselvan dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 10/08/2008, 16h22
  4. Réponses: 7
    Dernier message: 28/06/2007, 08h26
  5. Faire afficher une image dans un axe ?
    Par blanchonvincent dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/04/2007, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo