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 :

Afficher une image parmi les elements importés d'une picturebox [Débutant]


Sujet :

VB.NET

  1. #21
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Voui mais une erreur d'innatention je pense :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ElseIf textboxcalculee.Text <= "" AndAlso textboxcalculee2.Text > "" Then
    Remplacé par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ElseIf textboxcalculee.Text = "" Then
    Tu ne peux pas utiliser un comparateur > ou < avec une chaine vide

  2. #22
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    voui arf bien sur pour les > et <, le truc, c'est que même si je mets le elseif concernant les chaines vides en commentaire, ca ne fonctionne pas non plus
    cela m'affiche uniquement img2 quel que soit la condition

  3. #23
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Après tout dépend les valeurs contenues dans tes deux textbox...

    Quand tu debug tu devrais voir si il rentre dans une boucle ou l'autre, et ainsi ajuster tes conditions

  4. #24
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    c'est bon, encore une etourderie de ma part ........ bon deja la commutation d'images fonctionne, maintenant j'attaque la rotation

  5. #25
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    ouille ouille j'ai

    {"La référence d'objet n'est pas définie à une instance d'un objet."}
    d'entrée de jeu a la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim bm_in As New Bitmap(Me.PictureBox1.Image)

  6. #26
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    En effet, je me suis trompé entre la propriété image et backgroundimage

    Il te sort cette exception car la propriété image n'a aucune valeur (Nothing), donc il te suffit juste de changer .Image par .BackgroundImage

  7. #27
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    ah oui je comprends maintenant
    mais d'ailleurs, quand je clique sur propriete ==> image du picturebox, j'ai exactement les memes images que dans backgroundimage.

    Je ne comprends pas bien la différence d'un point de vue de l'utilisation quand on code

  8. #28
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Citation Envoyé par Attila54 Voir le message
    ah oui je comprends maintenant
    mais d'ailleurs, quand je clique sur propriete ==> image du picturebox, j'ai exactement les memes images que dans backgroundimage.

    Je ne comprends pas bien la différence d'un point de vue de l'utilisation quand on code
    Quand tu clique sur le (...) dans la propriété image ou backgroundimage, il t'affichera toujours TOUTES les images contenues dans tes ressources. Considère ce formulaire comme un explorateur d'image où tu dois en sélectionner une qui sera utilisée par la propriété (image ou backgroundimage) de ton composant

  9. #29
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    clair, net et precis que dire de plus sinon merci et +1

  10. #30
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    De rien, si ça t'a permis d'avancer rapidement dans ton projet Oublie pas le si c'est le cas

  11. #31
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    J'ai encore un enorme probleme pour la rotation de l'image, voici ce que j'ai fait avec comme nom :
    - textbox1 et textbox2 pour les textbox contenant les valeurs qui vont faire s'afficher les images
    - textbox3 qui contiendra la valeur definissant l'angle de rotation de l'image affichée
    - button1 permet l'affichage de la bonne image sur clic
    - button2 declenche la rotation sur clic

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    Public Class Form1
        Dim valTextbox1 As Integer
        Dim valTextbox2 As Integer
        Dim valTextbox3 As Integer
     
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
     
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            valTextbox3 = valTextbox1 + 135
            TextBox3.Text = valTextbox3.ToString
    End Sub
     
    Private Sub Rotation(ByVal Angle As Double)
    Dim bm_in As New Bitmap(Me.PictureBox1.BackgroundImage)
     
            ' Make an array of points defining the image's corners.
            Dim wid As Single = bm_in.Width
            Dim hgt As Single = bm_in.Height
            Dim corners As Point() = { _
                New Point(0, 0), _
                New Point(wid, 0), _
                New Point(0, hgt), _
                New Point(wid, hgt)}
     
            ' Translate to center the bounding box at the origin.
            Dim cx As Single = wid / 2
            Dim cy As Single = hgt / 2
            Dim i As Long
            For i = 0 To 3
                corners(i).X -= cx
                corners(i).Y -= cy
            Next i
     
            ' Rotate.
            Dim theta As Single = Single.Parse(Angle) * PI / 180.0
            Dim sin_theta As Single = Sin(theta)
            Dim cos_theta As Single = Cos(theta)
            Dim X As Single
            Dim Y As Single
            For i = 0 To 3
                X = corners(i).X
                Y = corners(i).Y
                corners(i).X = X * cos_theta + Y * sin_theta
                corners(i).Y = -X * sin_theta + Y * cos_theta
            Next i
     
            ' Translate so X >= 0 and Y >=0 for all corners.
            Dim xmin As Single = corners(0).X
            Dim ymin As Single = corners(0).Y
            For i = 1 To 3
                If xmin > corners(i).X Then xmin = corners(i).X
                If ymin > corners(i).Y Then ymin = corners(i).Y
            Next i
            For i = 0 To 3
                corners(i).X -= xmin
                corners(i).Y -= ymin
            Next i
     
            ' Create an output Bitmap and Graphics object.
            Dim bm_out As New Bitmap(CInt(-2 * xmin), CInt(-2 * ymin))
            Dim gr_out As Graphics = Graphics.FromImage(bm_out)
     
            ' Drop the last corner lest we confuse DrawImage, 
            ' which expects an array of three corners.
            ReDim Preserve corners(2)
     
            ' Draw the result onto the output Bitmap.
            gr_out.DrawImage(bm_in, corners)
     
            ' Display the result.
            Me.PictureBox1.Image = bm_out
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            'affichage de l'image adequate
            If CDbl(TextBox1.Text) <= 250 AndAlso CDbl(TextBox2.Text) < 800 Then
                Me.PictureBox1.BackgroundImage = My.Resources.img2
            ElseIf CDbl(TextBox1.Text) > 250 AndAlso CDbl(TextBox2.Text) > 800 Then
                Me.PictureBox1.BackgroundImage = My.Resources.img3
            End If
     
            'rotation de l'image
            Dim Angle As Double = Me.TextBox3.Text
            Rotation(Angle)
        End Sub
    End Class
    je rentre a la main les valeurs affichées par textbox1 et textbox2
    je clique sur button2 qui me calcule la valeur qui s'affichera dans textbox3
    je clique pour finir sur button1 qui :
    - m'affiche la bonne image
    - me declenche la rotation de la valeur inscrite dans textbox3

    cela fonctionne jusqu'a l'appui sur button1 (encore que le calcul de textbox3 soit un peu aleatoire ..) et l'affichage de l'image mais après ... pas de rotation et enormement d'erreurs de declarations


    je voudrais bien comprendre mes erreurs, merci

  12. #32
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Dans ton code il n'y a pas d'erreur, même si tu pourrais supprimer ta procédure Load (elle ne contient rien) et tu pourrais renommer tes composants pour mieux t'y repérer.

    Quelles erreurs tu obtiens?

  13. #33
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    j'obtiens exactement 21 erreur mais de seulement 2 types differents

    erreurs de declarations
    Erreur 10 'Cos' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection. c:\users\secretariat.cdlv\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Form1.vb 38 35 WindowsApplication1

    Erreur 8 'PI' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection. c:\users\secretariat.cdlv\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Form1.vb 36 53 WindowsApplication1

    et meme erreur pour sinus

    erreurs de conversion :
    For i = 0 To 3
    corners(i).X -= cx
    corners(i).Y -= cy
    Erreur 5 Option Strict On interdit les conversions implicites de 'Long' en 'Integer'.
    si je corrige comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     For i = 0 To 3
                corners(CInt(i)).X = CInt(corners(CInt(i)).X - cx)
                corners(CInt(i)).Y = CInt(corners(CInt(i)).Y - cy)
            Next i
    je n'ai plus l'erreur mais cela ne fonctionne quand meme pas

  14. #34
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Pour l'utilisation des cos, sin et PI, tu dois tout simplement importer la référence Math dans ton projet :

    Avant ton code Private Class Form1 tu mets :

    Et normalement ça devrait être bon

  15. #35
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    ca a l'air d'être bon effectivement je n'ai plus les erreurs, je vois pour les problemes de conversion

  16. #36
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    ah ca a bien avance sur ce coup la . Voila ce que j'obtiens



    l'image du dessus a bien effectué sa rotation de 135°, il faudrait pour parfaire la chose qu'elle soit pile superposée a l'image du dessous maintenant
    dailleurs est ce normal que j'aie 2 images ???

  17. #37
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    Si tu as deux images, c'est que tu as défini la propriété image et backgroundimage

    Remplace dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PictureBox1.Image = bm_out
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PictureBox1.BackgroundImage = bm_out

    Ensuite, la deuxième image est décalée, c'est normal, j'ai eu pareil quand j'ai testé mon code. Pour éviter cela, tu dois mettre la propriété de ta picturebox : backgroundimageTile à Center

  18. #38
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    j'ai mis le backgroundImageLayout a center au lieu de Tile

    je suis toujours decale c'est bizarre car les images font 135 X 135 et le picturebox est a 136X136

  19. #39
    Membre actif Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 269
    Points
    269
    Par défaut
    En effet, je viens de constater ça aussi de mon côté.

    Par contre si tu utilise la propriété image au lieu de backgroundimage, en définissant la propriété SizeMode à CenterImage, tu obtiens le résultat souhaité.

    Tu utilises la propriétés image plus loin dans ton code?

  20. #40
    Membre habitué
    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
    Points : 145
    Points
    145
    Par défaut
    non je ne l'utilise nulle part ailleurs, serait ce a dire que je remplace .backgroundimage par .image dans mon code et que je mets les bonnes proprietes ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2013, 17h52
  2. Une image en session ou comment renvoyer une image sur une page
    Par a tunar with no tune dans le forum Spring
    Réponses: 1
    Dernier message: 26/01/2012, 09h02
  3. Réponses: 3
    Dernier message: 18/11/2011, 10h19
  4. Réponses: 1
    Dernier message: 22/12/2008, 15h42
  5. Afficher une image en visualisation n'importe ou sur la page
    Par Aurelien23 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/03/2006, 20h53

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