[DllImport("gdi32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool BitBlt(IntPtr hdc, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, long dwRop);
private const Int32 SRCCOPY = 0xCC0020; private void button1_Click(object sender, EventArgs e)
{
flash.LoadMovie(0, "d:\\1.swf");
for (int i = 0; i < flash.TotalFrames; i++)
{
flash.FrameNum = i;
Application.DoEvents();
GetImageOfControl(flash).Save("d:\\image\\" + i + ".bmp");
}
} public static Bitmap GetImageOfControl(Control control)
{ var w = control.Size.Width;
var h = control.Size.Height; Graphics gOfCtrl = control.CreateGraphics();
var bmp = new Bitmap(w, h, gOfCtrl); Graphics gOfBmp = Graphics.FromImage(bmp); IntPtr dc1 = gOfCtrl.GetHdc();
IntPtr dc2 = gOfBmp.GetHdc(); BitBlt(dc2, 0, 0, w, h, dc1, 0, 0, SRCCOPY); gOfCtrl.ReleaseHdc(dc1);
gOfBmp.ReleaseHdc(dc2); gOfCtrl.Dispose();
gOfBmp.Dispose(); return bmp;
}
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool BitBlt(IntPtr hdc, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, long dwRop);
private const Int32 SRCCOPY = 0xCC0020; private void button1_Click(object sender, EventArgs e)
{
flash.LoadMovie(0, "d:\\1.swf");
for (int i = 0; i < flash.TotalFrames; i++)
{
flash.FrameNum = i;
Application.DoEvents();
GetImageOfControl(flash).Save("d:\\image\\" + i + ".bmp");
}
} public static Bitmap GetImageOfControl(Control control)
{ var w = control.Size.Width;
var h = control.Size.Height; Graphics gOfCtrl = control.CreateGraphics();
var bmp = new Bitmap(w, h, gOfCtrl); Graphics gOfBmp = Graphics.FromImage(bmp); IntPtr dc1 = gOfCtrl.GetHdc();
IntPtr dc2 = gOfBmp.GetHdc(); BitBlt(dc2, 0, 0, w, h, dc1, 0, 0, SRCCOPY); gOfCtrl.ReleaseHdc(dc1);
gOfBmp.ReleaseHdc(dc2); gOfCtrl.Dispose();
gOfBmp.Dispose(); return bmp;
}
解决方案 »
- 关于Bartender条码的问题
- 小弟请教一窗体程序的小问题?
- *******百分求可用的RICHTEXTBOX**********
- 网页运行速度变慢
- 急求 高手们 速度 帮忙啦!!!!!!
- 请问在使用一个xsd文件的时候有2个记录集怎样就给他们建立关系
- c# BinaryFormatter 怎么反序列化 MFC CArchive序列话生成的二进制文件
- 各位朋友,求赐教,,明天就要答辩了,小女子真的真的zuo急呀
- 续 ----关于水晶报表的分组打印,以及页面求和
- 如何随时随地的读取datagrid控件指定行,列的值
- 【醒目一点】gridview导出excel的问题
- treeview 如何显示出哪个节点当前是选中状态呢?
这样写不能对只是1帧的swf图片转换成N张bmp吧,请直接连接我QQ120052086,谢谢
也就是说我这个swf文件只有一帧,可是是个动画,可以这一帧里放了一个gif动画
do{
播放 i
暂停
截屏
i++}while