ChartDirector 6.0 (ASP/COM/VB Edition)

V-Linear Meter Orientation


  

This example demonstration various orientations for vertical linear meters.

In a vertical linear meter, the scale labels can be positioned on the left or right side of the meter scale. This is controlled by the last argument to LinearMeter.setMeter, which can be Left or Right.

Source Code Listing

[Web Version (in ASP)] aspdemo\vlinearmeterorientation.asp
<%@ language="vbscript" %>
<%
Set cd = CreateObject("ChartDirector.API")

' This script can draw different charts depending on the chartIndex
chartIndex = CInt(Request("img"))

' The value to display on the meter
value = 75.35

' Create a LinearMeter object of size 70 x 240 pixels with very light grey (0xeeeeee) backgruond and
' a light grey (0xccccccc) 3-pixel thick rounded frame
Set m = cd.LinearMeter(70, 240, &Heeeeee, &Hcccccc)
Call m.setRoundedFrame(cd.Transparent)
Call m.setThickFrame(3)

' This example demonstrates putting the text labels at the left or right side by setting the label
' alignment and scale position.
If chartIndex = 0 Then
    Call m.setMeter(28, 18, 20, 205, cd.Left)
Else
    Call m.setMeter(20, 18, 20, 205, cd.Right)
End If

' Set meter scale from 0 - 100, with a tick every 10 units
Call m.setScale(0, 100, 10)

' Add a smooth color scale to the meter
smoothColorScale = Array(0, &H6666ff, 25, &H00bbbb, 50, &H00ff00, 75, &Hffff00, 100, &Hff0000)
Call m.addColorScale(smoothColorScale)

' Add a blue (0x0000cc) pointer at the specified value
Call m.addPointer(value, &H0000cc)

' Output the chart
Response.ContentType = "image/png"
Response.BinaryWrite m.makeChart2(cd.PNG)
Response.End
%>

[Windows Version (in Visual Basic)] vbdemo\vlinearmeterorientation.cls
Public Sub createChart(viewer As Object, chartIndex As Integer)

    Dim cd As New ChartDirector.API

    ' The value to display on the meter
    Dim value As Double
    value = 75.35

    ' Create a LinearMeter object of size 70 x 240 pixels with very light grey (0xeeeeee) backgruond
    ' and a light grey (0xccccccc) 3-pixel thick rounded frame
    Dim m As LinearMeter
    Set m = cd.LinearMeter(70, 240, &Heeeeee, &Hcccccc)
    Call m.setRoundedFrame()
    Call m.setThickFrame(3)

    ' This example demonstrates putting the text labels at the left or right side by setting the
    ' label alignment and scale position.
    If chartIndex = 0 Then
        Call m.setMeter(28, 18, 20, 205, cd.Left)
    Else
        Call m.setMeter(20, 18, 20, 205, cd.Right)
    End If

    ' Set meter scale from 0 - 100, with a tick every 10 units
    Call m.setScale(0, 100, 10)

    ' Add a smooth color scale to the meter
    Dim smoothColorScale()
    smoothColorScale = Array(0, &H6666ff, 25, &H00bbbb, 50, &H00ff00, 75, &Hffff00, 100, &Hff0000)
    Call m.addColorScale(smoothColorScale)

    ' Add a blue (0x0000cc) pointer at the specified value
    Call m.addPointer(value, &H0000cc)

    ' Output the chart
    Set viewer.Picture = m.makePicture()

End Sub