ChartDirector 6.0 (ASP/COM/VB Edition)

Horizontal Bar Meter




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

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

Source Code Listing

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

' The value to display on the meter
value = 75.35

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

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

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

' Add a 5-pixel thick smooth color scale to the meter at y = 48 (below the meter scale)
smoothColorScale = Array(0, &H0000ff, 25, &H0088ff, 50, &H00ff00, 75, &Hffff00, 100, &Hff0000)
Call m.addColorScale(smoothColorScale, 48, 5)

' Add a light blue (0x0088ff) bar from 0 to the data value with glass effect and 4 pixel rounded
' corners
Call m.addBar(0, value, &H0088ff, cd.glassEffect(cd.NormalGlare, cd.Top), 4)

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

[Windows Version (in Visual Basic)] vbdemo\hbarmeter.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 an LinearMeter object of size 260 x 66 pixels with a very light grey (0xeeeeee)
    ' background, and a rounded 3-pixel thick light grey (0xaaaaaa) border
    Dim m As LinearMeter
    Set m = cd.LinearMeter(260, 66, &Heeeeee, &Haaaaaa)
    Call m.setRoundedFrame()
    Call m.setThickFrame(3)

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

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

    ' Add a 5-pixel thick smooth color scale to the meter at y = 48 (below the meter scale)
    Dim smoothColorScale()
    smoothColorScale = Array(0, &H0000ff, 25, &H0088ff, 50, &H00ff00, 75, &Hffff00, 100, &Hff0000)
    Call m.addColorScale(smoothColorScale, 48, 5)

    ' Add a light blue (0x0088ff) bar from 0 to the data value with glass effect and 4 pixel rounded
    ' corners
    Call m.addBar(0, value, &H0088ff, cd.glassEffect(cd.NormalGlare, cd.Top), 4)

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

End Sub