楼上的,
用Image控件,怎么实现?

解决方案 »

  1.   

    有个比较笨的方法是用image控件数组,将图形分割,然后放大
      

  2.   


    Stretch 属性
          返回或设置一个值,该值用来指定一个图形是否要调整大小,以适应与 Image 控件的大小。语法object.Stretch [= boolean]Stretch 属性的语法包含下面部分:部分 描述 
    Object 对象表达式,其值是“应用于”列表中的一个对象。 
    Boolean 一个用来指定是否要调整图形的大小的布尔表达式,按照设置值的描述。 
    设置值boolean 的设置值为:设置值 描述 
    True 表示图形要调整大小以与控件相适合。 
    False (缺省值)表示控件要调整大小以与图形相适。 
    说明如果 Stretch 被设置为 True,那么,控件大小的调整使得它所包含的图形的大小也要调整。
      

  3.   


    PaintPicture 方法
          用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。语法object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcodePaintPicture 方法的语法包含下列部分:部分 描述 
    object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的 Form 对象缺省为 object。 
    Picture 必需的。要绘制到 object 上的图形源。Form 或 PictureBox 必须是 Picture 属性。 
    x1, y1 必需的。均为单精度值,指定在 object 上绘制 picture 的目标坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。  
    Width1 可选的。单精度值,指示 picture 的目标宽度。object 的 ScaleMode 属性决定使用的度量单位。如果目标宽度比源宽度 (width2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源宽度。 
    Height1 可选的。 单精度值,指示 picture 的目标高度。object 的 ScaleMode 属性决定使用的度量单位。如果目标高度比源高度 (height2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源高度。 
    x2, y2 可选的。均为单精度值,指示 picture 内剪贴区的坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则缺省为 0。 
    Width2 可选的。单精度值,指示 picture 内剪贴区的源宽度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源宽度。 
    Height2 可选的。 单精度值,指示 picture 内剪贴区的源高度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源高度。 
    Opcode 可选的。是长型值或仅由位图使用的代码。它用来定义在将 pictur 绘制到 object 上时对 picture 执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic Help 文件中的 RasterOp Constants 主题。 
    在使用opcode时有一些限制。例如,如果资源是图标或图元文件,则只能使用 vbSrcCopy,而不能使用其他的opcode;并且,与图案 (或 SDK 术语中的"画笔"),如 MERGECOPY、 PATCOPY、 PATPAINT 和 PATINVERT,相交互的opcode实际上是同目标的 FillStyle 属性交互。注意   Opcode 用于将按位操作传递到位图。当传递其他图象类型时将一个值给该参数会造成“无效过程调用或参数”错误。这是设计的原因。要避免这个错误,对于除位图外的图象,将 Opcode 参数置为空。
     
    说明通过使用负的目标高度值 (height1) 和 / 或目标宽度值 (width1) ,可以水平或垂直翻转位图。 可以省略任何多个可选的尾部的参数 。如果省略了一个或多个可选尾部参数,则不能在指定的最后一个参数后面使用逗号。如果想指定某个可选参数,则必须先指定语法中出现在该参数前面的全部参数。注意,在将一个.Bmp加载入 PictureBox 控件和使用 Windows API 函数 BitBlt() 添加图片之间有一点不同。当您对一个图象使用 BitBlt() 时,PictureBox 控件不知道象您使用 LoadPicture方法那样去调整大小。将 ScaleWidth 和 ScaleHeight 属性设置为图象的大小也不起作用。如果您想在使用 BitBlt 之后用 PictureBox 调整新图片的大小,必须用代码手工做,转换单位并处理边框,下面是如何这样做的一个简单示例:Sub ResizePictureBoxToImage(pic as PictureBox, twipWd _
      as Integer, twipHt as Integer)
     ' 该代码假设所有的单位都为缇。如果
     ' 不是,必须在调用该例程之前,转换为缇。
     ' 这里也假设图象显示在0,0处。
     Dim BorderHt as Integer, BorderWd as Integer
     BorderWd = Pic.Width - Pic.ScaleWidth
     BorderHt = Pic.Height - Pic.ScaleHeight
     pic.Move pic.Left, pic.Top, twipWd + BorderWd, _
       twipHt + BorderHt
    End Sub
      

  4.   

    StretchBlt VB声明 
    Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long 
    说明 
    将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。这个函数会在设备场景中定义一个目标矩形,并在位图中定义一个源图象。源矩形会根据需要进行伸缩,以便与目标矩形的大小相符 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hdc Long,目标设备场景 
    x,y Long,目标矩形左上角的x,y坐标,以逻辑坐标表示 
    nWidth,nHeight Long,目标矩形的宽度和高度,以逻辑坐标表示 
    hSrcDC Long,源设备场景。如光栅运算未指定一个源,则这个参数应为零 
    xSrc,ySrc Long,用源DC的逻辑坐标表示的源矩形左上角位置 
    nSrcWidth,nSrcHeight Long,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理 
    dwRop Long,传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子 
    注解 
    可用GetDeviceCaps函数判断特定的设备场景是否支持此函数
    不可选择对源位图进行剪切或旋转处理,源位图也不能是一个图元文件设备场景
     
    SetStretchBltMode VB声明 
    Declare Function SetStretchBltMode Lib "gdi32" Alias "SetStretchBltMode" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long 
    说明 
    指定StretchBlt 和 StretchDIBits函数的伸缩模式。这种伸缩模式定义了Windows如何对伸缩过程中剔除的扫描线进行控制。对于VB窗体和控件,倘若在API绘图过程中使用这个函数,建议恢复原来的StretchBlt模式 
    返回值 
    Long,上一次伸缩模式的值,零表示失败 
    参数表 
    参数 类型及说明 
    hdc Long,设备场景的句柄 
    nStretchMode Long,新伸缩模式建立在下述任何一个常数的基础上,它们均在API32.TXT文件中得到了定义: 
    STRETCH_ANDSCANS 默认设置。剔除的线段与剩下的线段进行AND运算。这个模式通常应用于采用了白色背景的单色位图 
    STRETCH_DELETESCANS 剔除的线段被简单的清除。这个模式通常用于彩色位图 
    STRETCH_ORSCANS 剔除的线段与剩下的线段进行OR运算。这个模式通常应用于采用了白色背景的单色位图 
    STRETCH_HALFTONE 目标位图上的像素块被设为源位图上大致近似的块。这个模式要明显慢于其他模式 
    注解 
    如果要对伸缩模式有一个更深刻的印象,可想象一下对白色图象中的一条白色细线进行压缩。压缩过程中,像素会从图象中删去。为避免线段消失,在删除它们之前,有必要先对线段中的像素与邻近像素进行AND运算。为达到这个目的,应考虑选用STRETCH_ANDSCANS伸缩模式