Convertir drawing.Image

Messages postés
3
Date d'inscription
vendredi 9 novembre 2018
Dernière intervention
5 décembre 2018
- - Dernière réponse : vb95
Messages postés
1734
Date d'inscription
samedi 11 janvier 2014
Dernière intervention
18 décembre 2018
- 9 déc. 2018 à 14:31
Public Function Carte(ByVal Couleur As Integer, ByVal Valeur As Integer) As Drawing.Image

b.MakeTransparent(Drawing.Color.Magenta)

bonjour


j'esseye de traduire de vb.net en c# un programme, j 'ai un problème avec Drawing qui fait une erreur en c# les traducteurs ne traduisent pas drawing de vb en c#
comment je dois traduire ces instruction
merci
Afficher la suite 

Votre réponse

3 réponses

Messages postés
12414
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
0
Merci
Bonjour
pour poster un code, à l'avenir merci de lire et appliquer ce qui est expliqué ici
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Pour répondre à ta question, peux tu donner la liste des Import en haut de la classe, parce que pour moi Drawing.Image est une erreur. Donc j'ai besoin de vérifier.

Ensuite, d'où vient ta variable b et de quel type est-elle?
Commenter la réponse de Whismeril
Messages postés
1734
Date d'inscription
samedi 11 janvier 2014
Dernière intervention
18 décembre 2018
0
Merci
Bonjour à vous deux (ngarnier54 et Whismeril)

Le programme que tu tentes de traduire ne serait-il pas celui-ci : https://codes-sources.commentcamarche.net/source/100206-solitaire ?
Car je suis en train de le coder en VB Net correct : avec Option Strict sur On et suppression de la référence Microsoft Visual Basic ( cette dernière rajoute des fonctionnalités VB 6 : si on a VB Net autant faire du vrai DoNet !!!
Et j'aère le programme aussi : suppression de la sauvegarde de la partie et de sa restauration, suppression du redimensionnement de la Form ainsi que du comptage des points et diverses optimisations dans le code
Je veux juste garder le jeu en lui-même

Pour ta question voici la réponse

Public Function Carte(ByVal Couleur As Integer, ByVal Valeur As Integer) As Drawing.Image 

b.MakeTransparent(Drawing.Color.Magenta) 
 
à remplacer en VB net par

Public Function Carte(Couleur As Integer, Valeur As Integer) As Image 

b.MakeTransparent(Color.Magenta) 


et en C#
public Image Carte(int Couleur, int Valeur)
{ 
    // le code avant
    b.MakeTransparent(Color.Magenta);
    return b 
}



et rajouter en début de la classe tout en haut
using System.Drawing;  // en C#

Imports System.Drawing   ' en VB Net


Les Byval peuvent être supprimés en VB Net car Integer est une classe de base et est accessible par Valeur directement

Whismeril
Messages postés
12414
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
-
Salut VB.

Drawing.Image comme ça, ça me surprenait.
Soit complet System.Drawing.Image soit juste Image, là oui je comprends.
garnier54
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Dernière intervention
9 décembre 2018
-
merci bcp
oui c'est bien ce programme que j’essaye de traduire en c# je voudrai m'en inspirer pour faire un jeux de bridge.
Si tu as fait déjà une traduction en vb.net je suis 100% preneur.
je rencontre de plus un problème pour crée card.dll en c# en effet si je veux ajouter une référence, a mon projet
je ne peux pas j'ai chaque fois ce message


vb95
Messages postés
1734
Date d'inscription
samedi 11 janvier 2014
Dernière intervention
18 décembre 2018
> garnier54
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Dernière intervention
9 décembre 2018
-
bonjour garnier54
tu trouveras le jeu du solitaire avec des cartes en VB Net ici : https://codes-sources.commentcamarche.net/source/102862-jeu-du-solitaire-avec-des-cartes
Une version en C# va suivre bientôt

Maintenant pour ton problème : tu veux faire un jeu de bridge donc tu as un projet appelé Bridge par exemple . C'est ce projet qui a besoin de la dll Cards.dll que tu veux créer . Il te faut donc créer un autre projet appelé Cards par exemple qui va te créer les cartes avec leurs graphismes et les valeurs et couleurs . Ce projet tu vas le générer et en récupérer une dll Cards.dll que tu vas référencer dans le projet Bridge .
L'autre solution est de créer une class Carte dans le projet Bridge lui-même qui va contenir les caractéristiques et méthodes associées à un carte et de se servir de cette classe dans le projet Bridge . Ainsi plus besoin de dll Cards.dll
Dans les 2 cas les images des cartes sont mises en ressources ; dans le projet Cards si utilisation d'une dll ou dans le projet Bridge si ru n'utilises pas de dll
Mon projet en VB Net n'utilise pas de dll
Commenter la réponse de vb95
Messages postés
12414
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
0
Merci
@ngarnier, malgré ce Drawing surprenant et l’utilisation de codes vb6, l’auteur de ce source a fait exactement ce que NHenry t’a dit il y a un moi, et qu’on t’as répété plusieurs fois depuis => mettre les images en ressources....
Après il en fait une dll, c’est un choix de réutilisation dans d’autres programme, mais vu la simplicité à refaire c’est pas obligé.

Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.