public void TakeScreenShot(string directory = "") { screenshotImage.Clear(); float redActual = (float)endColor.Red; float greenActual = (float)endColor.Green; float blueActual = (float)endColor.Blue; RGB color = new RGB(); for (int y = Height - 1; y >= 0; y--) { for (int x = 0; x < bytesPrLine * 8; x++) { if (IsPixelSet(x, y)) { color.Blue = 0x00; color.Green = 0x00; color.Red = 0x00; } else { color.Red = (byte)redActual; color.Green = (byte)greenActual; color.Blue = (byte)blueActual; } screenshotImage.AppendRGB(color); } redActual -= redGradientStep; greenActual -= greenGradientStep; blueActual -= blueGradientStep; } screenshotImage.WriteToFile(System.IO.Path.Combine(directory, "ScreenShot") + string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now) + ".bmp"); }
public void TakeScreenShot(string directory, string fileName) { //Console.WriteLine("Create screenshot"); //Code is taken from the firmware code and simply returns a blank LCD int Width = 178; int Height = 128; BmpImage screenshotImage = new BmpImage(24 * 8, (uint)Height, ColorDepth.TrueColor); RGB startColor = new RGB(188, 191, 161); RGB endColor = new RGB(219, 225, 206); screenshotImage.Clear(); float redActual = (float)endColor.Red; float greenActual = (float)endColor.Green; float blueActual = (float)endColor.Blue; int bytesPrLine = ((Width + 31) / 32) * 4; float redGradientStep = (float)(endColor.Red - startColor.Red) / Height; float greenGradientStep = (float)(endColor.Green - startColor.Green) / Height; float blueGradientStep = (float)(endColor.Blue - startColor.Blue) / Height; RGB color = new RGB(); for (int y = Height - 1; y >= 0; y--) { for (int x = 0; x < bytesPrLine * 8; x++) { color.Red = (byte)redActual; color.Green = (byte)greenActual; color.Blue = (byte)blueActual; screenshotImage.AppendRGB(color); } redActual -= redGradientStep; greenActual -= greenGradientStep; blueActual -= blueGradientStep; } if (fileName == "") { fileName = "ScreenShot" + string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now) + ".bmp"; } if (!fileName.ToLower().EndsWith(".bmp")) { fileName = fileName + ".bmp"; } screenshotImage.WriteToFile(System.IO.Path.Combine(directory, fileName)); }