Couleur damier et image.ico ou .bmp

Résolu/Fermé
Partouchefrancis Messages postés 93 Date d'inscription mercredi 2 septembre 2020 Statut Membre Dernière intervention 18 avril 2024 - Modifié le 20 sept. 2020 à 18:38
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 21 sept. 2020 à 19:18
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

A voir également:

11 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
20 sept. 2020 à 19:18
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?
0
Partouchefrancis Messages postés 93 Date d'inscription mercredi 2 septembre 2020 Statut Membre Dernière intervention 18 avril 2024
20 sept. 2020 à 20:21
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




0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
20 sept. 2020 à 20:47
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...

0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
20 sept. 2020 à 20:57
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....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Partouchefrancis Messages postés 93 Date d'inscription mercredi 2 septembre 2020 Statut Membre Dernière intervention 18 avril 2024
20 sept. 2020 à 22:31
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
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
20 sept. 2020 à 23:34
Est tu rentré dans ce if?
            ElseIf i Mod 2 <> 0 Xor (ligne Mod 2) <> 0 Then

                Cas.BackColor = Color.Black
            End If

0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
21 sept. 2020 à 06:25
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
21 sept. 2020 à 08:03
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

0
Partouchefrancis Messages postés 93 Date d'inscription mercredi 2 septembre 2020 Statut Membre Dernière intervention 18 avril 2024
21 sept. 2020 à 08:07
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
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
21 sept. 2020 à 17:19
Ha, je te pris de m'excuser, je pensais sincèrement, que tu avais vu que les cases étaient transparentes.

0
Partouchefrancis Messages postés 93 Date d'inscription mercredi 2 septembre 2020 Statut Membre Dernière intervention 18 avril 2024
21 sept. 2020 à 17:54
Merci encore tu m’as été bien utile
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 931
21 sept. 2020 à 19:18
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.
0