public ActionResult TrafficLight(int state) { string color = "red"; switch (state) { case 1: color = "red"; break; case 2: color = "yellow"; break; case 3: color = "green"; break; } var image = Image.FromFile(Server.MapPath($"../Content/{color}.png")); var bitmap = new Bitmap(64, 32, PixelFormat.Format24bppRgb); using (var g = Graphics.FromImage(bitmap)) { g.DrawImage(image, 0, 0, 12, 32); } var matrixData = MatrixHelper.BitmapToMatrix(bitmap); queue.Enqueue(matrixData); return(View("Index")); }
public ActionResult PlayVideo(string url) { var client = new WebClient(); var gifImg = Image.FromStream(client.OpenRead(url)); var dimension = new FrameDimension(gifImg.FrameDimensionsList[0]); // Number of frames int frameCount = gifImg.GetFrameCount(dimension); // Return an Image at a certain index var matrixData = ""; for (var i = 0; i < frameCount; i++) { gifImg.SelectActiveFrame(dimension, i); var thumb = gifImg.GetThumbnailImage(32, 32, null, IntPtr.Zero); var bitmap = new Bitmap(64, 32, PixelFormat.Format24bppRgb); using (var g = Graphics.FromImage(bitmap)) { g.DrawImage(thumb, 0, 0, 32, 32); } matrixData = MatrixHelper.BitmapToMatrix(bitmap); queue.Enqueue(matrixData); Thread.Sleep(500); } return(View("Index", matrixData as object)); }
public ActionResult Off() { var bitmap = new Bitmap(32, 32, PixelFormat.Format24bppRgb); var matrixData = MatrixHelper.BitmapToMatrix(bitmap); queue.Enqueue(matrixData); return(View("Index")); }