Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用图形后的文件锁定_C#_Graphics_Gdi - Fatal编程技术网

C# 使用图形后的文件锁定

C# 使用图形后的文件锁定,c#,graphics,gdi,C#,Graphics,Gdi,在本例中,我使用True Type字体ttf文件。当我使用图形对象的DrawString方法时,它会锁定文件,并显示:操作无法完成,因为文件是在iisexpress中打开的。 绘图后如何解锁文件 代码: 请参阅-显然,您需要P/Invoke来释放fontI,我正在使用gdi32.dll和extern,如第一个链接的示例中所示。 using (Font a = new Font(pfc.Families[0], points)) {

在本例中,我使用True Type字体ttf文件。当我使用图形对象的DrawString方法时,它会锁定文件,并显示:操作无法完成,因为文件是在iisexpress中打开的。 绘图后如何解锁文件

代码:


请参阅-显然,您需要P/Invoke来释放fontI,我正在使用gdi32.dll和extern,如第一个链接的示例中所示。
                using (Font a = new Font(pfc.Families[0], points))
                {
                    using (Bitmap codeBitmap = new Bitmap(1, 1, PixelFormat.Format24bppRgb))
                    {
                        using (Graphics g = Graphics.FromImage(codeBitmap))
                        {
                            size = g.MeasureString(code, a);
                        }
                    }

                    using (Bitmap codeBitmap = new Bitmap((int)size.Width, (int)size.Height, PixelFormat.Format24bppRgb))
                    {
                        using (Graphics g = Graphics.FromImage(codeBitmap))
                        {
                            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
                            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
                            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel;
                            g.Clear(Color.White);
                            g.DrawString(code, a, Brushes.Black, 0, 0); //It locks the file here
                            codeBitmap.Save(response.OutputStream, ImageFormat.Gif);
                        }
                    }
                }