首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

|ZYCWPF| C#怎么直接将截屏生成byte[],而不是先截成bit地图再转为byte[]呢 多谢

2012-12-15 
|ZYCWPF| C#如何直接将截屏生成byte[],而不是先截成bitmap再转为byte[]呢 谢谢经常用截屏为:Bitmap GetScr

|ZYCWPF| C#如何直接将截屏生成byte[],而不是先截成bitmap再转为byte[]呢 谢谢
经常用截屏为:
  Bitmap GetScreen()
        {//截屏
            Bitmap photo = new Bitmap(1024, 768);
            Graphics graphic = Graphics.FromImage(photo);
            graphic.CopyFromScreen(0, 0, 0, 0, new Size(1024, 768));
            return photo;
        }
那如何直接C#从屏幕图像转为byte[]呢?

谢谢
[最优解释]
必须经过image类,因为只有它才支持编码。

photo.Save(Stream, 编码)

[其他解释]
这好比画图,如果图不先画出来,怎么转换为字节传输到网络上?二进制本身是没有意义的,要经过一定规则的处理才能成为信息,所以截图也是,肯定是先产生图片,才有二进制字节。如果你想要它的原始字节,那是不行的,因为截屏产生的是内存图片,不存在编码格式,其二进制字节不可用,必须按照一定编码存储后得到的字节才是可用的。

热点排行