怎么样根据画面上的容器控件,生成相对应的图片?

问题描述

我现在有个form,form里有一个panle,panle中控件若干(总数不定,并且可能画面中显示不全panle会出现滚动条),现在需要把panle中所有的东西按照画面的样子做成一张图片。求高手给予帮助!!!

解决方案

解决方案二:
你参考Me.Panel1.DrawToBitmap
解决方案三:
两个函数:PublicSubDrawControl(ByVal_ControlAsControl,ByVal_BitmapAsBitmap)_Control.DrawToBitmap(_Bitmap,_Control.Bounds)ForEachchildControlAsControlIn_Control.ControlsDrawControl(childControl,_Bitmap)NextEndSubPublicSubSaveBitmap(ByVal_PanelAsPanel,ByValfileNameAsString)UsingbmpAsNewBitmap(_Panel.Width,_Panel.Height)_Panel.DrawToBitmap(bmp,NewRectangle(0,0,_Panel.Width,_Panel.Height))ForEach_controlAsControlIn_Panel.ControlsDrawControl(_control,bmp)Nextbmp.Save(fileName)EndUsingEndSub

调用方法:SaveBitmap(Me.Panel1,"d:cc.bmp")

解决方案四:
引用2楼linjimu的回复:

两个函数:VB.NETcodePublicSubDrawControl(ByVal_ControlAsControl,ByVal_BitmapAsBitmap)_Control.DrawToBitmap(_Bitmap,_Control.Bounds)ForEachchildControlAsContro……

+++1
解决方案五:
引用2楼linjimu的回复:

两个函数:VB.NETcodePublicSubDrawControl(ByVal_ControlAsControl,ByVal_BitmapAsBitmap)_Control.DrawToBitmap(_Bitmap,_Control.Bounds)ForEachchildControlAsControl……

感谢2楼,这个方法我测试了,可以用。但是当容器生成图片的时候,就会同时生成容器内部的控件,而递归之后,控件就一共生成2次,并且遍历控件的那次生成的位置不正确。谢谢,至少给我提供了一个思路。

时间: 2024-07-28 14:49:14

怎么样根据画面上的容器控件,生成相对应的图片?的相关文章

生成二维码图片的外边带上文本信息,整体保存成一个图片。求大神拯救。。

问题描述 生成二维码图片的外边带上文本信息,整体保存成一个图片.求大神拯救.. 5C 解决方案 类似于种图片 解决方案二: http://blog.csdn.net/lovexieyuan520/article/details/47722035看看哈

c#多图片上传并生成缩略图的实例代码_实用技巧

前台代码: 复制代码 代码如下:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>  <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml"> <head runat

c# 文字水印阴影-C# 生成文字水印在图片上

问题描述 C# 生成文字水印在图片上 CS代码: public class CreatShui { public CreatShui() { // // TODO: Add constructor logic here // this.Width = 270; this.Height = 30; this.FontFamily = "幼圆"; this.FontSize = 12; this.FontStyle = FontStyle.Regular; this.Adaptable =

python-在mac ox 上使用 py2applet 生成app遇到 SSL的问题

问题描述 在mac ox 上使用 py2applet 生成app遇到 SSL的问题 代码: 在终端下,使用python命令来执行脚本CSDNLogin.py是没问题的: 而使用py2applet 生成app后,在CSDNLogin.app/Contents/MacOS/,执行CSDNLogin程序则会报错: 如果把https访问的那一部分代码屏蔽掉,则不会报错~~而且从输出的错误信息看得出来是何SSL有关~~但是不知道怎么解决~~求大神指导~~~~

class文件-Java在CMD上编译如何生成CLASS文件

问题描述 Java在CMD上编译如何生成CLASS文件 解决方案 javac java文件路径 如D:/test.java javac D:/test.java 需要配置好环境变量 解决方案二: 进入文件所在的路径,最好将文件在具体的盘里(如F盘),不要在桌面上. 进入文件所在的盘里 然后javac file.java 运行class文件 java file,不要带后缀".class" 解决方案三: java c + .java文件 解决方案四: 配好CLASSPATH环境变量,如:

winform c# pdf-C#Winform怎么把窗口上的信息生成PDF文件???

问题描述 C#Winform怎么把窗口上的信息生成PDF文件??? 窗口上的信息很多,估计要分好几页保存,在谷歌搜了说可以用pdfsharp,但是不会用 还有没有其他的方法,有具体的例子也好,谢谢大家..

PHP上传、生成缩略图、生成文字水印和图片水印

<?php/* '-##########################################-| '|     程序设计:(绿竹居)                | '|     MSN:[email]lzj_zhangjun@hotmail.com[/email]         | '|     Email:cszjun@gmail.com              | '|     结合自己以前做的上传和生成缩略和改编一个 '|     老前辈的生成图片水印做成这个     

MVC,画面上有两个结果集怎么实现?

问题描述 MVC,画面上有两个结果集怎么实现?1.A,B两个Grid2.A,B两个ButtonAButton点击和BButton点击分别把对应的数据放到对应的Gird里面.前台引用的时候怎么写呢,后台的话,需要写两个 解决方案 解决方案二:button不是有点击事件吗?解决方案三:····这个和几个结果集有什么关系么··点击按钮执行对应的方法给对应的Grid难道你Grid的名字idname一样?解决方案四:可以建立一个新的实体包含这两个实体对象,controller中给这个新实体中的两个集合赋值

vs2010-VS2010每次都要删除上一次生成的exe才能运行,怎么办?

问题描述 VS2010每次都要删除上一次生成的exe才能运行,怎么办? VS2010每次都要删除上一次生成的exe才能运行,如果不删除,就显示无法运行.每次都有手动删真的是太麻烦了,怎么办? 解决方案 VS2010每次都要删除上一次生成的exe才能运行 估计是你的代码写的有问题了,正常的话不会这样的,或者你做个简单的应用试试,看是否有类似的问题 解决方案二: 不用吧,有可能是你的配置出问题了.建议你在相关处配置一下,应该就可以了.希望能帮到你啊 解决方案三: 点击重新生成也不行? 解决方案四: