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 :

Programme lent et demande de conseils


Sujet :

VB.NET

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    quelle est la question ?

    si c'est toujours concernant le code précédent il ne manquait qu'une ligne

    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
    Public Class Form1
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim b As New Bitmap(100, 100)
     
            Using g As Graphics = Graphics.FromImage(b)
        Dim img As Image = Image.FromFile("c:\users\rémi\documents\visual  studio  2013\Projects\WindowsApplication6\WindowsApplication6\Resources\terre1.bmp")
                For i = 1 To 4
                    Dim x, y As Integer
                    Dim ulcorner As New Point(x, y)
                    x = x + 25
     
                    g.DrawImage(img, ulcorner)
                Next
     
            End Using
     
        picturebox1.image = b
        End Sub
    End Class

  2. #22
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    merci pour ta réponse. mais j'ai une erreur sur cette je pense car rien ne s'affiche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim img As Image = Image.FromFile("C:\terre1.jpg")
    j'ai essayé de le changer de format, le chemin d'accès, etc... et rien...
    des idées?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try
      'ton code
    catch ex as exception
      msgbox (ex.gettype.fullname & vbcrlf & ex.message & vbcrlf & ex.stacktrace)
    end try

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut merci
    merci pour le coup de main! ça marche!
    j'ai juste redémarré le pc et c'est bon...
    merci d'avoir pris de ton temps!

    cordialement Rémi

  5. #25
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut
    bonjour
    Comme dit par Pol63,
    1/ la 1ere des choses c'est de dire ce que tu veux ?que veux-tu faire dans ton appli?

    2/si tu reponds correctemment et serieusement alors tu pourras entrevoir un debut de reponse et des conseils pour poursuivre.A condition de suivre betement et mechamment les conseils donnes....

    3/il faut suivre une seuleme methode si tu veux apprendre à coder...car il y en 36 milles manieres de coder la meme chose....

    4/la comprehension vient en repetant betement les memes choses...

    bref voici un exemple qui dessine une liste d'image avec le class List(of ) pour faire ce que tu veux de 2 facons differentes sur le control PictureBox
    -le 1er utilises l'event Paint en appelant la sub Picturebox.Invalidate()
    -le 2eme utilise un objet graphics declare au niveau du Form & obtenu "en vol" comme on dit sur le control PictureBox...
    A toi de l'etudier et de combler tes lacunes sur 'utilisation des controls et des bitmaps:
    1er 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
    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
    89
    90
    91
    92
    93
    94
    95
     
    'INGREDIENTS
    '3 butons
    'un panel
    'un picturebox
    'un opendialog
    Imports System.Drawing.Drawing2D
    Public Class frmPictures1
        '----------un list(of image) magasin d'images ----------------
        Private myListImages As New List(Of Image)
        Private currentImage As Integer = 0
     
        '----------OBJET GRAPHICS ----------------
        Protected myGraphicPictureBox As Graphics
     
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
     
     
            '----------ON LE "FAIT AUSSI GRAND QU'ON VOUDRA =>AUTANT  D 'IMAGES QU'ON VOUDRA------------
            Me.PictureBox1.Size = New Size(2000, 2000)
            '-----------ANCRER LEFT TOP DU PANEL(ci-apres)-----------
            Me.PictureBox1.Location = New Point(0, 0)
     
            '----------OBJET GRAPHICS EST RECUPRER SUR LE CONTROL PICTUREBOX----------------
            '----------gare :apres lui avoir affecte un size----------------
            myGraphicPictureBox = Graphics.FromHwnd(PictureBox1.Handle)
     
     
     
            '-----------ON LE METS À L'INTERIEUR DU PANEL -----------
            '-----------POUR QU'ON PUISSE SCROLLER CAR PICTUREBOX N' AS PAS DE SCROLLBAR-----------
     
            Me.Panel1.Size = New Size(250, 250)
            Me.Panel1.Location = New Point(50, 50)
            Me.Panel1.Controls.Add(Me.PictureBox1)
            Me.Panel1.AutoScroll = True
     
     
     
        End Sub
        Private Sub btnLoadImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadImages.Click
            OpenFileDialog1.Multiselect = True
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                If (OpenFileDialog1.FileNames IsNot Nothing) Then
                    Dim i As Integer
                    For i = 0 To OpenFileDialog1.FileNames.Length - 1
                        AddImage(OpenFileDialog1.FileNames(i))
                    Next i
     
                Else
                    AddImage(OpenFileDialog1.FileName)
     
                End If
            End If
        End Sub
        Private Sub AddImage(ByVal imageToLoad As String)
            If imageToLoad <> "" Then
                myListImages.Add(Image.FromFile(imageToLoad))
     
            End If
        End Sub
        Private Sub btnDrawAllImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDrawAllImages.Click
            RefreshScreen()
        End Sub
        Private Sub btnRemoveImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveImage.Click
            myListImages.RemoveAt(currentImage)
            RefreshScreen()
        End Sub
     
     
        'CETTE SUB FAIT LE SALE BOULOT
        Private Sub RefreshScreen()
     
            myGraphicPictureBox.Clear(Me.PictureBox1.BackColor)
            Dim x As Integer = 50
            Dim y As Integer = 50
            For Each img As Image In myListImages
     
                Dim position As New Point(x, y)
                x = x + 25 + img.Width
     
                myGraphicPictureBox.DrawImage(img, position)
            Next
     
        End Sub
     
        Private Sub Panel1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles Panel1.Scroll
            RefreshScreen()
        End Sub
    End Class
    2eme 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
    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
     
    'INGREDIENTS
    '3 butons
    'un panel
    'un picturebox
    'un opendialog
    Public Class frmPictures2
        Private myListImages As New List(Of Image)
        Private currentImage As Integer = 0
     
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            '----------ON LE "FAIT AUSSI GRAND QU'ON VOUDRA =>AUTANT  D 'IMAGES QU'ON VOUDRA------------
            Me.PictureBox1.Size = New Size(2000, 2000)
            '-----------ANCRER LEFT TOP DU PANEL(ci-apres)-----------
            Me.PictureBox1.Location = New Point(0, 0)
     
            '-----------ON LE METS À L'INTERIEUR DU PANEL -----------
            '-----------POUR QU'ON PUISSE SCROLLER CAR PICTUREBOX N' AS PAS DE SCROLLBAR-----------
     
            Me.Panel1.Size = New Size(250, 250)
            Me.Panel1.Location = New Point(50, 50)
            Me.Panel1.Controls.Add(Me.PictureBox1)
            Me.Panel1.AutoScroll = True
        End Sub
        Private Sub btnLoadImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoadImages.Click
            OpenFileDialog1.Multiselect = True
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                If (OpenFileDialog1.FileNames IsNot Nothing) Then
                    Dim i As Integer
                    For i = 0 To OpenFileDialog1.FileNames.Length - 1
                        AddImage(OpenFileDialog1.FileNames(i))
                    Next i
     
                Else
                    AddImage(OpenFileDialog1.FileName)
     
                End If
            End If
        End Sub
        Private Sub AddImage(ByVal imageToLoad As String)
            If imageToLoad <> "" Then
                myListImages.Add(Image.FromFile(imageToLoad))
     
            End If
        End Sub
     
        Private Sub btnDrawAllImages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDrawAllImages.Click
            '----------ON APPELE LA SUB INVALIDATE DU PICTUREBOX----------
            '----------ELLE SE CHARGE D'APPELER L'EVENT PAINT---------- 
            Me.PictureBox1.Invalidate()
        End Sub
     
     
        'CETTE EVENT FAIT LE SALE BOULOT 
        Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
     
            'L'OBJET GRAPHICHS EST CREE LOCALEMENT DANS CET EVENT
     
            Dim myGraphicPictureBox As Graphics = e.Graphics
            myGraphicPictureBox.Clear(Me.PictureBox1.BackColor)
            Dim x As Integer = 50
            Dim y As Integer = 50
            For Each img As Image In myListImages
     
                Dim position As New Point(x, y)
                x = x + 25 + img.Width
     
                myGraphicPictureBox.DrawImage(img, position)
            Next
     
        End Sub
    End Class
    bon code....

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    bonsoir,

    mon but et de générer des mondes en bitmap aléatoire du genre terraria.
    c'est monde sont très grand et je ne sais pas si visual studio les gerer car quand je la crée, pas de problème jusqu'au moment d'utiliser les scrollbares ou la il me sort une exception.

    Le cas à déjà été vu dans d'autres forums sans pour autant donner de réponses. avez vous des idées?

    ps: j'ai bien essayé de sauvegarder le bitmap pour le voir... mais la aussi une exception

  7. #27
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    pour la sauvegarde, c'est bon, j'ai réglé mon problème!!!
    merci et bonne soirée à tous

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    Citation Envoyé par remi4227 Voir le message
    mon but et de générer des mondes en bitmap aléatoire du genre terraria.
    c'est monde sont très grand et je ne sais pas si visual studio les gerer car quand je la crée, pas de problème jusqu'au moment d'utiliser les scrollbares ou la il me sort une exception.
    une fois de plus il faut être plus précis
    quelle taille en pixels veut tu gérer ?
    quelle exception ?

    paint.net est codé en .net, et c'est un logiciel de retouche d'image, donc on peut gérer des grandes images en .net (pour un jeu vidéo passer sur wpf ou xna* par contre)
    *: ou directX car j'ai cru lire qu'xna serait arrêté
    mais là non plus on ne sait pas vraiment ce que tu veux faire après à part une carte aléatoire avec des scrollbars (s'il n'y a que ca winforms suffira)

  9. #29
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    *erreur de ma part*

  10. #30
    Membre régulier

    Homme Profil pro
    Bricoleur ( débutant )
    Inscrit en
    Juillet 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Bricoleur ( débutant )
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 51
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par remi4227 Voir le message
    alors? personne ne veut m'aider. je fais internet de long en large et je ne trouve rien... Personne n'a un tuto?
    Bonjour, je suis q'un novice, mais je trouve que tu n'as pas compri ce que notre chèr ami MABROUKI

    faut déclarer le chemin d'une image une seul fois pour ton cas et pas.

    Cdt

  11. #31
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut re!
    bonsoir,
    sur les conseils de pol63, je suis le tuto xna.
    mais la syntaxe n'est plus la même.

    et ce !!!!##@ de visual studio ne veut pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    player=content.load<texture2d>("personnage")
    "texture2d est un type et ne peut etre utilisé en tant qu'expression."

    help me!!!! please!!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    ne pas le prendre mal mais vu ton niveau en windows forms ce n'est même pas la peine de regarder xna pour l'instant
    il faut des bases solides en algorithmie, en poo et en 2d

    on ne peut pas du jour au lendemain savoir programmer, ca prend des mois pour commencer à écrire du code qui marche et des années avant d'écrire du code propre rapidement

    continue en windows forms pour l'instant pour te former, et on ne sait toujours pas ce que tu veux faire à part poser des images mais ca se trouve ca peut passer sur du windows forms ...

  13. #33
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    pourquoi à ma question ne peux tu répondre?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    même moi il me faudrait des semaines pour comprendre 1% de xna, que je ne connais pas, donc je ne peux pas te répondre

    de plus xna n'est pas utilisé par beaucoup de monde


    et on a déjà répondu à toutes tes questions de départ sans que tu ne réussisses à faire marcher le code apparemment ...

  15. #35
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 27
    Points : 6
    Points
    6
    Par défaut
    si je fais bien l'image que j'avais prévu. Mais, je veux aller plus loin...

  16. #36
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonsoir,

    apprendre le xna est possible mais avant de faire quoi que se soit, il va te falloir étudier le code source d'autres projets afin de bien les comprendre et vu ton niveau (c'est pas méchant), comme l'a dit Pol63, ça va te prendre du temps.
    Je te conseil d'aller voir dans la partie projet du forum :
    http://www.developpez.net/forums/d13...-jeux/projets/

    il y a des petits projets sympa à voir comme celui-ci : http://www.developpez.net/forums/d13...i-open-source/

    d'autres très bonnes ressources :
    - http://xnaresources.com/ à suivre étape par étape, ils y explique pas mal de chose.
    - http://xbox.create.msdn.com/en-us/ed...amedevelopment , n'est pas limité à xbox, tu peux choisir la plateforme.
    Lors des week-end jeux de dvp j'ai test et il m'a fallut, en ayant des bases en C#, quatre jours pour commencer à bien comprendre le fonctionnement et pouvoir faire quelque chose.

    Je te conseil aussi de poser tes questions sur XNA dans la partie C# du forum.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/05/2014, 14h54
  2. Demande de conseil pour un morceau de programme
    Par brunpac dans le forum Automation
    Réponses: 6
    Dernier message: 03/01/2011, 16h35
  3. Réponses: 16
    Dernier message: 15/11/2005, 20h07
  4. [sqlbaseserver]demande de conseils/aides pour requêtes
    Par GéniuS77 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 18/03/2004, 17h27
  5. demande de conseil
    Par stephane eyskens dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 25/09/2003, 14h18

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