public void draw()
{
Graphics g = Graphics.FromImage(bmp);
Brush whiteBrush = new SolidBrush(Color.White);
bmp.SetResolution(IMAGE_HEIGHT/2, IMAGE_WIDTH/2);
g.TranslateTransform(0f, IMAGE_HEIGHT);
g.ScaleTransform(1f, -1f);
g.FillRegion(whiteBrush,
new Region(new Rectangle(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT)));
Brush blackBrush = new SolidBrush(Color.Black);
Pen p = getPen(blackBrush);
List<Point> line = new List<Point>();
foreach (Point point in points) {
if (point.IsEmpty) {
try {
g.DrawLines(p, line.ToArray());
line.Clear();
} catch (Exception) {
}
} else {
line.Add(point);
}
}
bmp.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);
var bpp = BitmapConverter.To1bpp(filename);
File.WriteAllBytes(filename, bpp);
}