Création d'une image à partir d'un fichier de point "TXT"

Résolu
M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010 - 19 janv. 2006 à 09:10
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 19 janv. 2006 à 12:00
Bonjour à tous
Je me présente je m'appel Karim et je suis nouveau en programmation.
Je cherche à me créé une image à partir d'un fichier TXT qui comprend l'ensemble des points de cette image. Quelqu'un saurait il comment faire.

Je vous remercie d'avance.

13 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 janv. 2006 à 11:55
un exemple vaut mieux que de longs discourts : http://www.csharpfr.com/code.aspx?ID=35647

Sébastien FERRAND
[MVP Visual C#]
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
19 janv. 2006 à 10:20
Est-ce que tu peux donner la structure de ton ficher texte ?

Amicalement, SharpMao
0
nicompx Messages postés 107 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 15 juillet 2009
19 janv. 2006 à 10:21
Tu peux essaye de copier l'essemble de tes points dans une variable


StreamReader Fichier;

// Déclaration lecture



Fichier=File.OpenText("nom.txt"); // Ouverture
du fichier en lecture


point = Fichier.ReadToEnd();
// Lit et place le contenu du fichier dans une
variable "point"


Fichier.Close();

// Ferme le fichier


Puis recopie dans un fichier JPEG par exmple

StreamWriter Fichier2;



Fichier=File.CreateText("nom.jpg"); // Création du
fichier


Fichier2.WriteLine(point);
//Ecrit le contenut de la variable
"point"


Fichier2.Close();
// Ferme le fichier


>> NiCoMpX <<
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 janv. 2006 à 10:36
Bonjour,
SharpMao a raison, il faut connaitre la structure de ton fichier.
Une fois la structure du fichier connue, il faut convertir les données en Point et en couleur, et les ecrire avec la classe Bitmap et la méthode SetPixel, puis enregistrer cette instance de Bitmap

Par contre, comme on bosse en code Managé, ca peut prendre du temps selon le nombre de points a ecrire...

Mx
MVP C#
0

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

Posez votre question
M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010
19 janv. 2006 à 11:16
re Bonjour
Mon fichier TXT se présente de la manière suivante :
Point: 0
X: 369 Y: 329
Point: 1
X: 369 Y: 330
Point: 2
X: 369 Y: 331
Point: 3
X: 369 Y: 332
Point: 4
X: 369 Y: 333
Point: 5
X: 369 Y: 334
Point: 6
X: 369 Y: 335
Point: 7
X: 369 Y: 336

En fait c'est moi qui l'ai crée .
Je cherche à tracé le contour d'une image à partir d'une image de caméra. Celle ci me permet de detecter le contour de mon image et me retourne un objet qui contient l'ensemble des points de mon contour.
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 janv. 2006 à 11:19
Est-ce que tu as vraiment besoin de "Point: 0", et de X: Y: ?
Je pense que ce serait plus simple a utiliser sans

Mx
MVP C#
0
M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010
19 janv. 2006 à 11:23
Ca m'aidait dans un premier temps pour voir à peut pret si cela coincide avec mon image. Mais je peut le retirer
0
nicompx Messages postés 107 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 15 juillet 2009
19 janv. 2006 à 11:24
Je pense qu'il faudrais enlever tout les caratères superflux, genre X, Y, POINT,....

Et ne laisser que les coordonnées d'un point par ligne.

>> NiCoMpX <<
0
M_karim8 Messages postés 43 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 5 août 2010
19 janv. 2006 à 11:27
D'accord et ensuite comment puis je crée mon image ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 janv. 2006 à 11:32
tu récupères l'ensembles des points dans un tableau...

point[] mesPoints;

et tu construis un GraphicsPath de cette manière :

GaphicsPath path = new GraphicsPath();
path.AddLines(mesPoints);

il ne te reste plus qu'à dessiner ce "path"

graphics.DrawPath( SystemPens.Text, path);

Sébastien FERRAND
[MVP Visual C#]
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 janv. 2006 à 11:55
Voici un exemple rapide avec un fichier points.txt qui contient 3 points:
10;10
50;20
30;30


<HR>

Point[] pointList =
new
Point[3];

public Form1()
{
InitializeComponent();
InitPoints();
DrawPoints();
}



private
void InitPoints()
{

StreamReader reader =
new
StreamReader(
"points.txt");

string str;

int i = 0;

while ((str = reader.ReadLine()) !=
null)
{

string[] temp = str.Split(
';');

try
{

Point p =
new
Point(
int.Parse(temp[0]),
int.Parse(temp[1]));
pointList[i] = p;
}

catch (
Exception e)
{

MessageBox.Show(e.ToString());
}
i++;
}
reader.Close();

}


private
void DrawPoints()
{

Bitmap bmp =
new
Bitmap(100, 100);

GraphicsPath gp =
new
GraphicsPath();
gp.AddLines(
this.pointList);

Graphics g =
Graphics.FromImage(bmp);
g.DrawPath(
new
Pen(
Color.White), gp);
bmp.Save(
"test.bmp");
g.Dispose();
bmp.Dispose();

}


<HR>



Mx
MVP C#
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
19 janv. 2006 à 11:58
Je connaissais pas le PointConverter



Mx
MVP C#
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 janv. 2006 à 12:00
héhé... TypeConverter et fils ;)

Sébastien FERRAND
[MVP Visual C#]
0
Rejoignez-nous