projetbts
Messages postés5Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention 8 avril 2003
-
4 avril 2003 à 16:23
magra1
Messages postés1Date d'inscriptionmercredi 22 juin 2005StatutMembreDernière intervention28 juin 2005
-
28 juin 2005 à 17:03
Bonjour,
Je cherche, par besoin de place, à convertir une image bmp en jpeg.
Celle ci est, dans un premier temps, destiné a être placé en image (img src) dans une page HTML qui sera envoyé par mail. Donc, nécessité de place utilisé.
Dans un second temps, stocker cette image dans un fichier Word (.doc) afin d'éviter une connexion supplémentaire au client lors de la réception du mail.
En clair, je voudrai savoir comment convertir un bmp en jpg et comment insérer une image dans un fichier Word.
cs_Sooly
Messages postés2Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention 4 avril 2003 4 avril 2003 à 23:47
Bonjour,
Pour tes deux problèmes :
***
1) convertir l'image en jpeg : çà tombe bien, GDI+ a toutes les méthodes pour faire cela. Le plus dur, c'est de lui indiquer la qualité de la conversion que l'on souhaite
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
string myPath=@"monimage.bmp";
Bitmap myBmp=new Bitmap(myPath);
ImageCodecInfo encoderJPEG = null;
foreach(ImageCodecInfo ici in ImageCodecInfo.GetImageEncoders())
{
if (ici.MimeType=="image/jpeg")
{
encoderJPEG=ici;
break;
}
}
if (encoderJPEG == null)
throw new InvalidOperationException("JPEG codec introuvable");
EncoderParameters epJPEG=new EncoderParameters(1);
long[] alQuality=new long[1];
alQuality[0]=2;
epJPEG.Param[0]=new EncoderParameter(Encoder.Quality, alQuality);
***
2) Pour l'insertion de cette image convertie dans un fichier word, il faut utiliser Automation. Pour pouvoir utiliser les objets de Word, il faut auparavant ajouter une référence au composant Word dans ton projet si tu utilises VS.Net. (c'est le fichier msword9.olb pour office 2000).
En C#, la syntaxe est assez lourde à cause des paramètres optionnels. Le code ci-dessous fonctionne avec Word 2000.
// pour les paramètres optionnels
object missing = System.Reflection.Missing.Value;
et voilà ! Je pense qu'on pourrait même rendre les deux étapes plus fluides en faisant directement un copier coller de l'image convertie et ainsi éviter l'enregistrement d'un fichier temporaire sur le disque.