将Panel中的内容保存成一张图片的问题。。。

air123456789 2013-05-28 10:27:54
Graphics mygraphics = this.panle1.CreateGraphics();
Size s = this.plVideo.PanelPlay.Size;
bit = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(bit);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.panle1.ClientRectangle.Width, this.panle1.ClientRectangle.Height, dc1, 0, 0, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
this.px.Image=bit;
这样做,是可以将panel1中的内容截图的,但是呢,因为我是使用快捷键截图的,所有 有可能本程序没有在最顶层,如果顶层是其他东西,则截图到的是其他东西,而不是panel的内容。 怎么设置窗体焦点截图啊?木有分了~~
...全文
190 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LADYGAGA_XB 2013-05-29
  • 打赏
  • 举报
回复
引用 6 楼 air123456789 的回复:
[quote=引用 5 楼 LADYGAGA_XB 的回复:] 将你需要的窗体topmost=true;截图完毕后在恢复; windowsAPI中有个获取焦点窗体的函数.
那每次截图都要把窗体显示在最前一下? 那太不友好了。。。[/quote] 那就是你设计的有问题..既然要截图为什么要让它在底层.在底层是不可能被截图的. 因为WINDOWS会自动擦除被覆盖掉的图像的. 你将后面的窗体置顶的时候又会重绘. 所以说你要想截在窗体后面的窗体是不可能的.
LADYGAGA_XB 2013-05-28
  • 打赏
  • 举报
回复
将你需要的窗体topmost=true;截图完毕后在恢复; windowsAPI中有个获取焦点窗体的函数.
air123456789 2013-05-28
  • 打赏
  • 举报
回复
引用 2 楼 jiangyaoba 的回复:
楼主上个贴还没结呢就又遇到问题了
问题多多,都没解决。
air123456789 2013-05-28
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
屏幕截图 http://www.cnblogs.com/xugang/archive/2007/12/19/1006066.html
这个方法和我用的不是差不多吗? 如果本窗体不是在最前的话,截图是会截到其他东西的,不是截到panel里的东西。 是当前屏幕中panel位置显示的东西。
OrangeMemoryH 2013-05-28
  • 打赏
  • 举报
回复
楼主上个贴还没结呢就又遇到问题了
bdmh 2013-05-28
  • 打赏
  • 举报
回复
air123456789 2013-05-28
  • 打赏
  • 举报
回复
引用 5 楼 LADYGAGA_XB 的回复:
将你需要的窗体topmost=true;截图完毕后在恢复; windowsAPI中有个获取焦点窗体的函数.
那每次截图都要把窗体显示在最前一下? 那太不友好了。。。
功能不比ACDSee弱 (1)以缩略图方式显示某一目录下所有图片文件。 (2)支持显示.txt .html文件并能够以语法高亮方式显示.pas文件(用Html和Xml技术分别实现)。 (3)软件界面任意组合,图片预览大小任意可调。 (4)以幻灯片方式(特技效果)显示某一目录下所有图片文件。 (5)放大、缩小及全屏显示图片。 (6)设置墙纸功能。 (7)打包生html相册。 (8)图象编辑功能,包括:调整图片的亮度、对比度、饱和度,RGB调整,转换为灰度图及柔化、锐化、浮雕、雕刻、底片、曝光等多种滤镜。 (9)支持滤镜插件编程(目前仅能用Delphi和Borlan C++ builder开发)。 (10)提供打包功能。可以把任意目录下的所有图片文件打包一个文件(*.ssp),并加密码予以保护。 (11)支持提取.exe和.dll文件的图标。并且以缩略图方式显示。 5.主要技巧算法: (1)缩略图 实现原理:动态创建Tbitmap对象,设定大小并画上两个边框使其像一个panel,最后把按比例缩小后的图片bitblt于其上。 (2)语法高亮方式显示.pas文件 实现原理:该功能其实就是编译原理的词法分析器所要实现的功能。针对不同的token予以不同的字体样式。 (3)打包生html相册 实现原理:保存缩略图和原图片文件到指定目录,动态生html文件。 (4)图象编辑功能 实现原理:有关图象处理方面的算法都是借鉴自一些书籍,详见附录。 (5)打包功能 实现原理:采用微软的结构化存储技术实现。 (6)滤镜插件 实现原理:定义滤镜接口函数,动态加载.dll文件
1.软件名称:ImageSee2.运行环境:Windows98及其更高版本。3.开发环境:Delphi6.04.主要功能说明: (1)以缩略图方式显示某一目录下所有图片文件。 (2)支持显示.txt .html文件并能够以语法高亮方式显示.pas文件(用Html和Xml技术分别实现)。 (3)软件界面任意组合,图片预览大小任意可调。 (4)以幻灯片方式(特技效果)显示某一目录下所有图片文件。 (5)放大、缩小及全屏显示图片。 (6)设置墙纸功能。 (7)打包生html相册。 (8)图象编辑功能,包括:调整图片的亮度、对比度、饱和度,RGB调整,转换为灰度图及柔化、锐化、浮雕、雕刻、底片、曝光等多种滤镜。 (9)支持滤镜插件编程(目前仅能用Delphi和Borlan C++ builder开发)。 (10)提供打包功能。可以把任意目录下的所有图片文件打包一个文件(*.ssp),并加密码予以保护。 (11)支持提取.exe和.dll文件的图标。并且以缩略图方式显示。5.主要技巧算法: (1)缩略图 实现原理:动态创建Tbitmap对象,设定大小并画上两个边框使其像一个panel,最后把按比例缩小后的图片bitblt于其上。 (2)语法高亮方式显示.pas文件 实现原理:该功能其实就是编译原理的词法分析器所要实现的功能。针对不同的token予以不同的字体样式。 (3)打包生html相册 实现原理:保存缩略图和原图片文件到指定目录,动态生html文件。 (4)图象编辑功能 实现原理:有关图象处理方面的算法都是借鉴自一些书籍,详见附录。 (5)打包功能 实现原理:采用微软的结构化存储技术实现。 (6)滤镜插件 实现原理:定义滤镜接口函数,动态加载.dll文件。6.版权说明: 本软件为作者独立开发完,且未使用任何第三方控件,保留所有版权。7.附录 参考资料: 姚海根编著,《图象处理》,上海科学技术出版社,2000 张远鹏等著,《计算机图象处理技术基础》,北京大学出版社,1996 李兰友等编著,《Visual Basic 6图象处理开发与实例》,电子工业出版社,2000 Marco Cantu著,王辉等译,《Delphi 4从入门到精通》,电子工业出版社,1999 Eric Harmon著,陈旭等译,《Delphi COM 深入编程》,机械工业出版社,2000 David J.Kruglinski著,潘爱民等译,《Visual C++技术内幕》(第四版),1999 大富翁论坛,www.delphibbs.com efg计算机实验室,www.efg2.com community.borland.com
本软件为偶参加系里的一个软件设计大赛而写的, 然而,很遗憾,偶只拿到个第二名。 我发誓以后写软件我一定在界面上下最多的工夫! 请用delphi6.0分别编译四个工程,然后将生的 .exe或.dll文件 放置同一目录就可以了。 任何人都可以随意复制,传播本软件。但若您修改了 其的代码,我希望您能够寄给我一份。谢谢! 姜亮 2002.05.30于山东曲阜 jiangliang@163.com 保留所有版权。如果您对本程序有任何看法,欢迎来信交流。 ImageSee 1.0说明文档   --------------------------------------------------------------------------------     1.软件名称:ImageSee 2.运行环境:Windows98及其更高版本。 3.开发环境:Delphi6.0 4.主要功能说明:   (1)以缩略图方式显示某一目录下所有图片文件。   (2)支持显示.txt .html文件并能够以语法高亮方式显示.pas文件(用Html和Xml技术分别实现)。   (3)软件界面任意组合,图片预览大小任意可调。   (4)以幻灯片方式(特技效果)显示某一目录下所有图片文件。   (5)放大、缩小及全屏显示图片。   (6)设置墙纸功能。   (7)打包生html相册。   (8)图象编辑功能,包括:调整图片的亮度、对比度、饱和度,RGB调整,转换为灰度图及柔化、锐化、浮雕、雕刻、底片、曝光等多种滤镜。   (9)支持滤镜插件编程(目前仅能用Delphi和Borlan C++ builder开发)。   (10)提供打包功能。可以把任意目录下的所有图片文件打包一个文件(*.ssp),并加密码予以保护。   (11)支持提取.exe和.dll文件的图标。并且以缩略图方式显示。 5.主要技巧算法:   (1)缩略图    实现原理:动态创建Tbitmap对象,设定大小并画上两个边框使其像一个panel,最后把按比例缩小后的图片bitblt于其上。   (2)语法高亮方式显示.pas文件    实现原理:该功能其实就是编译原理的词法分析器所要实现的功能。针对不同的token予以不同的字体样式。   (3)打包生html相册    实现原理:保存缩略图和原图片文件到指定目录,动态生html文件。   (4)图象编辑功能    实现原理:有关图象处理方面的算法都是借鉴自一些书籍,详见附录。   (5)打包功能    实现原理:采用微软的结构化存储技术实现。   (6)滤镜插件    实现原理:定义滤镜接口函数,动态加载.dll文件。 6.版权说明:    本软件为作者独立开发完,且未使用任何第三方控件,保留所有版权。 7.附录    参考资料:    姚海根编著,《图象处理》,上海科学技术出版社,2000    张远鹏等著,《计算机图象处理技术基础》,北京大学出版社,1996    李兰友等编著,《Visual Basic 6图象处理开发与实例》,电子工业出版社,2000    Marco Cantu著,王辉等译,《Delphi 4从入门到精通》,电子工业出版社,1999    Eric Harmon著,陈旭等译,《Delphi COM 深入编程》,机械工业出版社,2000    David J.Kruglinski著,潘爱民等译,《Visual C++技术内幕》(第四版),1999    大富翁论坛,www.delphibbs.com    efg计算机实验室,www.efg2.com    community.borland.com  

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧