ChartDirector 6.0 (ASP/COM/VB Edition)

Horizontal Linear Meter




This example demonstrates the basic steps in creating a horizontal linear meter.

A horizontal linear meter can be created using the following steps:

Source Code Listing

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

' The value to display on the meter
value = 74.25

' Create an LinearMeter object of size 250 x 65 pixels with a very light grey (0xeeeeee) background,
' and a rounded 3-pixel thick light grey (0xcccccc) border
Set m = cd.LinearMeter(250, 65, &Heeeeee, &Hcccccc)
Call m.setRoundedFrame(cd.Transparent)
Call m.setThickFrame(3)

' Set the scale region top-left corner at (14, 23), with size of 218 x 20 pixels. The scale labels
' are located on the top (implies horizontal meter)
Call m.setMeter(14, 23, 218, 20, cd.Top)

' 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\hlinearmeter.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 = 74.25

    ' Create an LinearMeter object of size 250 x 65 pixels with a very light grey (0xeeeeee)
    ' background, and a rounded 3-pixel thick light grey (0xcccccc) border
    Dim m As LinearMeter
    Set m = cd.LinearMeter(250, 65, &Heeeeee, &Hcccccc)
    Call m.setRoundedFrame()
    Call m.setThickFrame(3)

    ' Set the scale region top-left corner at (14, 23), with size of 218 x 20 pixels. The scale
    ' labels are located on the top (implies horizontal meter)
    Call m.setMeter(14, 23, 218, 20, cd.Top)

    ' 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