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 :

GDI+ et rotation, probleme


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut GDI+ et rotation, probleme
    bonjour,

    un nouveau problème, un de plus lol

    Voila j'utilise GDI+ pour l'affichage d'un aperçu d'étiquette. Seulement je dois faire des rotations d'éléments (textes) sur mon aperçu.

    Pour cela j'utilise les matrices avec cet exemple:

    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
     
    Private Sub PicEtiquette_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PicEtiquette.Paint
            ' Tester la taille de la PictureBox
            Dim parametre As String
            Dim dateexp As String
     
            Dim ft As Font = New Font("arial", 10, FontStyle.Bold, GraphicsUnit.Pixel)
            Dim Size As New Size(MyEtiquette.SizeX * myZoom, MyEtiquette.SizeY * myZoom)
            Dim mymatrix As New Drawing2D.Matrix
            Dim pt As PointF
     
            If Size.Width < 5 Then Size.Width = 5
            If Size.Height < 5 Then Size.Height = 5
            If PicEtiquette.Size <> Size Then PicEtiquette.Size = Size
            ' dessiner l'etiquette
            e.graphics.ScaleTransform(myZoom, myZoom)
     
            ' Parametre
            If parametre = Nothing Then
                mymatrix.RotateAt(MyEtiquette.OrientParam, New Point(MyEtiquette.XParam, MyEtiquette.Yparam))
                e.Graphics.Transform = mymatrix
                e.Graphics.ScaleTransform(myZoom, myZoom)
                e.Graphics.DrawString("#############", ft, Brushes.Black, MyEtiquette.XParam, MyEtiquette.Yparam)
                e.Graphics.Transform.Reset()
                mymatrix.Reset()
    Else
                mymatrix.RotateAt(MyEtiquette.OrientParam, New Point(MyEtiquette.XParam, MyEtiquette.Yparam))
                e.Graphics.Transform = mymatrix
                e.Graphics.ScaleTransform(myZoom, myZoom)
                e.Graphics.DrawString(parametre, ft, Brushes.Black, MyEtiquette.XParam, MyEtiquette.Yparam)
                e.Graphics.Transform.Reset()
                mymatrix.Reset()
            End If
    La rotation selon l'angle "OrientParam" se fait sans probleme, par contre le point d'origine (MyEtiquette.XParam, MyEtiquette.Yparam) n'est pas bon. De plus ce point de rotation est sensé être fixé (a distance constante des bords de l'image qqsoit le zoom appliqué), hors ce n'est pas le cas.

    En effet en fonction du zoom le text "transformé" se déplace sur le dessin, par contre si il n'y a pas de rotation (OrientParam=0) alors le texte est a la bon place.

    qq1 a une idée du problème? perso je sèche dessus depuis hier et toujours pas d'éclair de génie :-(

    a l'avance, merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Par défaut
    personne n'as une idée? y a qu'en même quelqu'un qui dessine sous vb.net j'espère.... au moins une

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/01/2006, 16h53
  2. Probleme de rotation...
    Par Daedar dans le forum OpenGL
    Réponses: 3
    Dernier message: 29/12/2005, 11h03
  3. [vb.net][gdi+] probleme d'affichage
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/12/2005, 11h06
  4. Probleme de rotation de bannieres
    Par bug33 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/09/2005, 20h30
  5. Réponses: 2
    Dernier message: 18/03/2005, 08h32

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