PictureBOX 默认单为为缇,怎么修改为毫米为单位,画一个正方型后(500mmX600mm),最后保存为PNG
,没有画图区域为透明 这就是我最终想要的如下:一个PictureBOX 的宽,最宽也不能大过屏幕,里面的图画是要很宽的,如600mm,可能要加上放大宿小显示凡提供相关问题的答案都有分

解决方案 »

  1.   

    本帖最后由 bcrun 于 2013-04-11 09:48:57 编辑
      

  2.   

    ScaleMode 属性
          当使用图形方法或调整控件位置时,返回或设置一个值,该值指示对象坐标的度量单位。语法object.ScaleMode [= value]ScaleMode 属性的语法包含下面部分:部分 描述 
    Object 对象表达式,其值是“应用于”列表中的一个对象。 
    Value 一个指定度量单位的整数,“设置值”中有详细描述。 
    设置值value 的设置值为:常数 设置值 描述 
    VbUser 0 指出 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 属性中的一个或多个被设置为自定义的值。 
    VbTwips 1 (缺省值)缇(每逻辑英寸为 1440 缇;每逻辑厘米为 567 个缇)。 
    VbPoints 2 磅(每逻辑英寸为 72 个磅)。 
    VbPixels 3 像素(监视器或打印机分辨率的最小单位)。 
    VbCharacters 4 字符(水平每个单位=120 缇;垂直每个单位=240 缇。) 
    VbInches 5 英寸。 
    VbMillimeters 6 毫米。 
    VbCentimeters 7 厘米。 
    VbHimetric 8 HiMetric 
    VbContainerPosition 9 控件容器使用的单位,决定控件位置。 
    VbContainerSize 10 控件容器使用的单位,决定控件的大小。 
    说明相关的 ScaleHeight、ScaleWidth、ScaleLeft 与 ScaleTop 属性的使用,可以建立起一个带有正、负坐标的自定义坐标系统。这四个 Scale 属性与 ScaleMode 属性按下面的方式进行交互作用: 把其它任何 Scale 属性设置为任何值都将 ScaleMode 自动地设置为 0。ScaleMode 等于 0 是用户定义。
    把 ScaleMode 属性设置为一个大于 0 的数,将使 ScaleHeight 和 ScaleWidth 的度量单位发生改变,并将 ScaleLeft 和 ScaleTop 设置为 0。CurrentX 和 CurrentY的设置值将发生改变以反映当前点的新坐标。 
      

  3.   

    Picture1.ScaleMode = vbMillimeters
    Picture1.ScaleWidth = 500
    Picture1.ScaleHeight = 350
    Picture1.Line (0, 0)-(200, 300), QBColor(4), B
    Call PictureBoxSaveJPG(Picture1.Image, "PIC\Picture1.jpg", 100)这样是可以画图,但保存的图片,并不是我设置的500X350
    而是控件的尺寸,
      

  4.   

    那你就设置width和height跟你要的尺寸一样大就可以了
      

  5.   

    http://download.csdn.net/detail/veron_04/1817028
      

  6.   

    经我测试,保存JPG的图片大小,直接用BOX的大小,在VB里它是最终也是用缇,
    缇与毫米换算倍数56.69286 这也是 直接X这个值就可以了2楼ScaleMode 属性也是这个,只是它系统自动算,