C#抽绳清晰的矩形还是没有矩形?可能

时间:2010-01-15 19:43:23

标签: c# windows graphics drawing

这里是我正在使用的代码,我真的需要这样做,所以文本不会出现在框内。那可能吗?

int width = (int)g.MeasureString(line, f).Width;
int height = (int)g.MeasureString(line,f).Height;
b = new Bitmap(b, new Size(width, height));
g = Graphics.FromImage(b);

g.Clear(Color.Empty);
g.DrawString(line,f, new SolidBrush(Color.Black), 0, 0);
b.Save(savepoint+line+".tif", System.Drawing.Imaging.ImageFormat.Tiff); 
g.Flush();

我的意思是在转换为图像的文本周围不能有矩形。所以我需要把它看成相同的颜色来创造没有盒子的错觉,或者永远不要写出那个矩形时期。

1 个答案:

答案 0 :(得分:2)

使用背景颜色透明和支持透明度的文件格式,如PNG:

var measure = g.MeasureString(line, f);
int width = (int)measure.Width;
int height = (int)measure.Height;
using (Bitmap b = new Bitmap(width, height)) {
  using (Graphics bg = Graphics.FromImage(b)) {
    bg.Clear(Color.Transparent);
    using (Brush black = new SolidBrush(Color.Black)) {
      bg.DrawString(line, f, black, 0, 0);
    }
  }
  b.Save(savepoint+line+".png", System.Drawing.Imaging.ImageFormat.Png); 
}

我注意到你确实覆盖了你的Graphics实例,没有处理你创建的对象,并且没有明显的原因调用Graphics.Flush ......