循环语句中的:
Picture1.PSet (i, data(i)), RGB(255, 0, 0)i和data(i)是single类型数据,什么情况下系统提示上面的语句"溢出错误"?
和scale设置的坐标系有关吗?

解决方案 »

  1.   

    出错的时候:
    Picture1.Scale (1635.552, 6505.375)-(1635.596, 6505.183)Picture1.PSet (8519, 9530.797), RGB(255, 0, 0)系统提示Picture1.PSet (8519, 9530.797), RGB(255, 0, 0)这一句溢出
      

  2.   

    在一个按钮事件中单独执行:
    Picture1.Scale (1635.552, 6505.375)-(1635.596, 6505.183)Picture1.PSet (8519, 9530.797), RGB(255, 0, 0)
    没有错。
      

  3.   

    Private Type kPoint
        X As Single
        Y As Single
    End Type
    Dim fPoint As kPoint
    Dim bPoint As kPoint
    Dim data(9999) As Single........
    Dim i As Integer
    Randomize
    For i = 0 To 9999
        data(i) = Round(Rnd * 10000, 5)
    Next i'画图函数中:PicMain.Cls
    PicMain.Scale (fPoint.X, fPoint.Y)-(bPoint.X, bPoint.Y)
    For i = 0 To 9999
        PicMain.PSet (i, data(i)), RGB(255, 0, 0)
        If i > 0 Then
        PicMain.Line ((i - 1), data(i - 1))-(i, data(i))
        End If
    Next i'''''''
    fpoint和bpoint是在picmain上选取的两个点,通过这两个点形成的矩形范围内的图像需要放大,出错的时候PicMain.Scale (1635.552, 6505.375)-(1635.596, 6505.183)
      

  4.   

    楼主还是使用PIXEL坐标吧,这样的坐标看得眼睛花啊。
      

  5.   

    i值是多少?超过Integer范围可能会出错
      

  6.   

    Sorry,看看。我估计也是Scale放缩噢后导致溢出。
    换一个坐标系看看会不会出错(把Scale这句注释掉)
      

  7.   

    我需要局部放大图像(自己生成的曲线图),如果不用该坐标系的办法,还有什吗好方法?
    把矩形选中区域的图形放大到全屏,去掉scale怎么行? 选中区域内可能没有一个采样点,只有连线,用描点的办法行不通吧。大家帮帮忙。