Couleur damier et image.ico ou .bmp [Résolu]

Signaler
Messages postés
55
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
9 octobre 2020
-
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
-
Bonjour,

je fais un prog pour faire un jeu de dames
ci dessous le code et l'image de l'exe

bien que je mette le backcolor sur black et sur white je n'obtiens que cette image très pâle
comment faire pour avoir un blanc net et un noir net

chose curieuse si j'inverse le cas.backcolor et que je mets le Black dans le premier if et le white dans le elseif j'obtiens un noir plus foncé
mais cela ne me convient pas car il faut que le premier carré en haut à gauche soit noir
bizarre quand même

de plus je mets des images dans mon imagelist qui proviennent d'images ico
initialement les images étaient en 32*32 et cela donne le résultat que vous voyez ci dessous

si je les supprime de l'image list que je les agrandi dans paint et que je les enregistre en bmp 256 couleur et que je les mets dans l'image list , quand j'exécute c'est toujours les anciennes tailles qui apparaissent alors que j'ai bien enregistre tout dans visual studio
quelq'un peut il m'aider pour ces deux questions





Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Dim i As Integer
        For i = 0 To 63
            Dim Cas As New PictureBox
            Cas.Name = i
            Cas.Size = New Size(40, 40)
            Dim ligne As Integer = Int(i / 8)
            Dim col As Integer = i - ligne * 8

            Cas.Top = ligne * 40
            Cas.Left = col * 40

            If i Mod 2 = 0 Xor (ligne Mod 2) = 0 Then
                Cas.BackColor = Color.White
            ElseIf i Mod 2 <> 0 Xor (ligne Mod 2) <> 0 Then

                Cas.BackColor = Color.Black
            End If
            If ligne = 1 Then
                Cas.Image = ImageList1.Images(0)
            ElseIf ligne = 6 Then
                Cas.Image = ImageList1.Images(1)
            End If
            Controls.Add(Cas)

        Next



    End Sub

11 réponses

Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Bonjour

j'en déduis que finalement tu n'as pas décidé de reprendre un cours qui commence du début...

A la place de noir, peux tu mettre rouge, jaune, vert ou bleu bref n'importe quelle couleur et poster le résultat?
Messages postés
55
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
9 octobre 2020

j'ai changé de couleur et cela ne change rien par contre si j'interchange le backcolor dans les deux branches du if cela marche mais un damier de dames commence toujours par une case noire et cette différence me parait farfelue
j'écoute tes conseils
je finis le cours de Darmangeat et j'ai commencé à lire celui de Tahé
le fait de commencer par les règles de l'algorithme me parait plus rébarbatif
mais je ne me laisse pas impressionné ; j'ai le temps je suis retraité je fais cela pour le plaisir




Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Ok, donc mon hypothèse n'était pas la bonne.
Il existe une propriété des forms qui permet de rendre une couleur transparente. J'ai pensé qu'en bidouillant tu avais configuré le noir...

Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Quand on développe, il faut certes apprendre à coder, mais il est tout aussi important d'apprendre à débogguer.

Je t'invite à lire ce tuto https://openclassrooms.com/fr/courses/1526901-apprenez-a-developper-en-c/2867766-utilisez-le-debogueur

Ensuite tu exécuteras en pas à pas et tu devrais trouver la cause en quelques instants.

Quand on voit le fond et que ça n'est pas transparent, il ne reste qu'une raison....
Messages postés
55
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
9 octobre 2020

désolé mais je viens de faire le pas à pas détaillé avec les 64 passages dans la boucle mais je ne vois rien qui explique l'affichage fade délavé des noirs
peux tu m'expliquer si toi tu as trouvé
cordialement
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Est tu rentré dans ce if?
            ElseIf i Mod 2 <> 0 Xor (ligne Mod 2) <> 0 Then

                Cas.BackColor = Color.Black
            End If

Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Petite astuce, tu mets un point d'arrêt sur cette ligne
Cas.BackColor = Color.Black
et tu lances normalement, si ça rentre dans le if, ça fera la pause sur le point d'arrêt
Messages postés
6963
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
554
Bonjour a tout les 2

Comme ceci :

Option Strict On
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        For i = 0 To 63
            Dim Cas As New PictureBox
            Cas.Name = CStr(i)
            Cas.Size = New Size(40, 40)
            Dim ligne As Integer = CInt(Int(i / 8))
            Dim col As Integer = i - ligne * 8

            Cas.Top = ligne * 40
            Cas.Left = col * 40

            If i Mod 2 = 0 Xor (ligne Mod 2) = 0 Then
                Cas.BackColor = Color.White
            Else
                Cas.BackColor = Color.Black
            End If
            Controls.Add(Cas)
        Next
    End Sub
End Class

Messages postés
55
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
9 octobre 2020

Merci
J’ai trouvé tard hier soir en supprimant elseif et la suite par else tout seul
C’est en voyant par le déboggage que la couleur affichée n’était ni black ni white mais la même compostion que le fond de la form alors qu’un black et white devait être 255,255,255, ou 0,0,0
Mais étant daltonien ,ce que je prenais pour un noir délavé était en fait la couleur du fond de la form
Encore merci
Cordialement
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Ha, je te pris de m'excuser, je pensais sincèrement, que tu avais vu que les cases étaient transparentes.

Messages postés
55
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
9 octobre 2020

Merci encore tu m’as été bien utile
Messages postés
14855
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 octobre 2020
590
Mais si j'avais su je t'aurais dit tout de suite qu'on voyant le fond.

Je cherchais une raison à la transparence, en partant du principe que c'était un fait acquis.