Pb avec de constructeur de la classe Bitmap

frouze Messages postés 2 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 5 novembre 2004 - 3 nov. 2004 à 17:32
frouze Messages postés 2 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 5 novembre 2004 - 5 nov. 2004 à 13:07
Salut,
Je veux lire le contenu d'un doc RTF pour, entre autre, en extraire les images, équations... et les exporter en gif, jpeg png...
J'utilise le constructeur Bitmap(Stream astream). Chez moi tout fonctionne impec et au bureau pas moyen de m'en sortir (avec le même exe et le même rtf source). Dès que le prog arrive sur le constructeur du bitmap il lève une exception de type ArgumentException.
La seule différence que je vois c'est qu'ai bureau j'ai installé XP-SP2, .net Framework 2003 sp1... et que chez moi je suis resté au SP1 de XP.
Par acquis de conscience j'ai également fait des tests sur un serveur Win2000 et Win2003 (tous les 2 patchés avec les dernier patchs de Microsoft) et dans les 2 cas ça ne fonctionne pas.

J'ai donc bien l'impression que ça vient des mises à jour Windows mais j'en suis pas certain.

Avez vous une piste pour dépatouiller mon pb ?

3 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
4 nov. 2004 à 17:19
On peu pavoir plus de détail sur l'exception ?

Peut etre celà vient du fait de la mise a jour de securité de GDI+

::|The S@ib|::
MVP C#.NET
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
4 nov. 2004 à 17:22
Mais a prioiri cela m'ettonerais.

::|The S@ib|::
MVP C#.NET
0
frouze Messages postés 2 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 5 novembre 2004
5 nov. 2004 à 13:07
Merci pour ta réponse.
J'ai pensé aussi à la mise à jour du GDI+ et je craint que ça soit ça car l'erreur est levée dans System.Drawing.dll. En fait ce que j'avais oublié de précisé dans le message c'est j'utilise un MemoryStream pour charger le Bitmap en mémoire à partir du code wmf présent dans le fichier RTF.

Depuis l'envoie du message j'ai testé une autres piste qui consiste à sauver sur disque dur dans un fichier temporraire le contenu wmf en question et le recharger dans un Bitmap, cette fois-ci en utilisant le constructeur Bitmap(String) afin de convertir cette image dans le format qui me convient. C'est un peu lourd mais je n'ai plus l'exception. Par contre j'ai d'autres pb à la conversion sur le respect de la taille des images. Je pense pouvoir y remédier si j'arrive à convertir des twips en pixels. A suivre

Voilà le message d'erreur complet levé par mon appli quand j'utilise mon MemoryStream.

Consultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.ArgumentException: Paramètre non valide utilisé.
at System.Drawing.Bitmap..ctor(Stream stream)
at util.PictWriter.dumpBitmap(String hexdata, String count, Int32 picw, Int32 pich, Int32 picwg, Int32 pichg, Boolean transparent, String imgtype) in g:\programmation\projets visual studio\convertisseurxml\rtf2xml\pictwriter.cs:line 53
at rtf.RtfPicture.Dump(XmlTextWriter out_Renamed) in g:\programmation\projets visual studio\convertisseurxml\rtf2xml\rtfpicture.cs:line 67
at rtf.RtfParagraph.DumpContent(XmlTextWriter out_Renamed) in G:\programmation\Projets Visual Studio\ConvertisseurXML\RTF2XML\RtfParagraph.cs:line 71
at rtf.RtfParagraph.Dump(XmlTextWriter out_Renamed) in G:\programmation\Projets Visual Studio\ConvertisseurXML\RTF2XML\RtfParagraph.cs:line 45
at rtf.RtfCompoundObject.Dump(XmlTextWriter out_Renamed) in G:\programmation\Projets Visual Studio\ConvertisseurXML\RTF2XML\RtfCompoundObject.cs:line 41
at rtf.RtfDocument.Dump(XmlTextWriter out_Renamed) in G:\programmation\Projets Visual Studio\ConvertisseurXML\RTF2XML\RtfDocument.cs:line 52
at rtf.Converter.Convert(String inputfile, String outputfile) in G:\programmation\Projets Visual Studio\ConvertisseurXML\RTF2XML\Converter.cs:line 79
at Panels.PanelConvertionXML.run(String inPath, String outPath) in G:\programmation\Projets Visual Studio\ConvertisseurXML\PanelConvertionXML.cs:line 33
at Panels.PanelDeBasePrepare.buttonRun_Click(Object sender, EventArgs e) in G:\programmation\Projets Visual Studio\ConvertisseurXML\PanelDeBasePrepare.cs:line 44
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Assemblys chargés **************
mscorlib
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.2032
CodeBase : file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
ConvertisseurXML
Version de l'assembly : 1.0.1770.23066
Version Win32 : 1.0.1770.23066
CodeBase : file:///G:/programmation/Projets%20Visual%20Studio/ConvertisseurXML/bin/Debug/ConvertisseurXML.exe
----------------------------------------
System.Windows.Forms
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.2032
CodeBase : file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.2032
CodeBase : file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.2032
CodeBase : file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Xml
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.2032
CodeBase : file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
System.Drawing.resources
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.573
CodeBase : file:///c:/windows/assembly/gac/system.drawing.resources/1.0.5000.0_fr_b03f5f7f11d50a3a/system.drawing.resources.dll
----------------------------------------
SYSTEM.WINDOWS.FORMS.resources
Version de l'assembly : 1.0.5000.0
Version Win32 : 1.1.4322.573
CodeBase : file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_fr_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.
0
Rejoignez-nous