<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://knowledge-base.havit.cz/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ExternalException: A generic error occurred in GDI+. při Image.Save()</title><link>http://knowledge-base.havit.cz/net/ExternalException-A-Generic-error-occured-in-GDI-Image-Save.aspx</link><description>Tuto krásnou výjimku dostaneme, pokud chceme Image ukládat do stejného souboru, z kterého byl načten. GDI+ to prostě nedovoluje. Dá se to ale obejít například zkopírováním obrázku do nové instance: Bitmap bitmap; using (Image image = Image.FromFile(sourceFilename))</description><dc:language /><generator>CommunityServer 2.1 SP1 (Build: 61025.1)</generator><item><title>re: ExternalException: A generic error occurred in GDI+. při Image.Save()</title><link>http://knowledge-base.havit.cz/net/ExternalException-A-Generic-error-occured-in-GDI-Image-Save.aspx#705</link><pubDate>Mon, 09 May 2011 14:03:04 GMT</pubDate><guid isPermaLink="false">4e8649d0-fbac-4238-a160-0e083756edf8:705</guid><dc:creator>Rudolf Dvořáček</dc:creator><description>&lt;p&gt;Stejn&amp;#225; v&amp;#253;jimka nastane i v okamžiku, kdy chceme ukl&amp;#225;dat ve web aplikaci obr&amp;#225;zek ve form&amp;#225;tu PNG do Response.OutputStreamu. Proměnn&amp;#225; outputImage obsahuje &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HttpResponse currentResponse = _context.Response;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const string CONTENT_TYPE_PNG = &amp;quot;image/png&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentResponse.ContentType = CONTENT_TYPE_PNG;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stream outputStream = currentResponse.OutputStream;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outputImage.Save(outputStream, ImageFormat.Png); &amp;lt;--zde dojde k v&amp;#253;jimce&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outputImage.Dispose();&lt;/p&gt;
&lt;p&gt;Řešen&amp;#237;m je vytvořen&amp;#237; MemoryStreamu, z&amp;#225;pis obr&amp;#225;zku do MemoryStreamu a až pot&amp;#233; do OutputStreamu&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HttpResponse currentResponse = _context.Response;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;const string CONTENT_TYPE_PNG = &amp;quot;image/png&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentResponse.ContentType = CONTENT_TYPE_PNG;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MemoryStream temporaryStream = new MemoryStream();&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outputImage.Save(temporaryStream, ImageFormat.Png);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stream outputStream = currentResponse.OutputStream;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temporaryStream.WriteTo(outputStream);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outputImage.Dispose();&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temporaryStream.Dispose();&lt;/p&gt;</description></item></channel></rss>