获取屏幕截图图像数据

时间:2014-11-14 11:57:11

标签: c# bytearray screenshot

我不知道我获取屏幕截图的方式是否完全错误,但是我需要以某种格式获取数据以将其发送到php脚本。 php脚本应根据此数据构建图像(屏幕截图)。 我使用这段代码:

         internal static byte[] ImageToByteArray(Image img)
    {
        byte[] byteArray = new byte[0];
        MemoryStream stream = new MemoryStream();
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        stream.Close();
        byteArray = stream.ToArray();
        return byteArray;
    }

   public static string TakeScreenshot()
       {

           String filepath = @"C:\log2.txt";

           Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);

           Graphics graphics = Graphics.FromImage(bitmap);

           graphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
           graphics.Dispose();
           //just for debug
           bitmap.Save("C:\\temp.png");


           Image img = (Image)bitmap;
           string str = System.Text.Encoding.Default.GetString(ImageToByteArray(img));
           System.IO.File.AppendAllText(filepath, str);
           return "OH";
       }

我使用此函数从图像对象获取字节数组: stackoverflow post

我尝试将“log2.txt”重命名为“log2.png”但它根本不起作用。任何想法如何以PHP格式的格式获取数据可以轻松转换为可视图像?

0 个答案:

没有答案