Jump to content

Drawing GRAPHS using graphic control


andybiochem
 Share

Recommended Posts

First, my apologies if anyone has previously posted something similar - a quick search of the forum didn't show anything along these lines...

A frustrating aspect of the GUICtrlCreateGraphic and GUICtrlSetGraphic controls is that it isn't straight forward to draw graphs like you'd see in Excel.

I wanted to create a program that drew simple line graphs with varying axes, and it took me a while to figure out how to do this.

Firstly create a simple graphic control with labels for axes:

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

GUICreate("", 340, 330)
GUISetOnEvent($GUI_EVENT_CLOSE,"close")


$GraphWidth = 273
$GraphHeight = 273

$graph = GUICtrlCreateGraphic(48, 15, $GraphWidth, $GraphHeight)
GUICtrlSetBkColor(-1,0xFFFFFF)
GUICtrlSetColor(-1,0x000000)


$yMax = 100
$yMin = 0

$xMax = 100
$xMin = 0

GUICtrlCreateLabel($yMax,15,10,20,15,$SS_RIGHT)
GUICtrlCreateLabel($yMin,15,280,20,15,$SS_RIGHT)

GUICtrlCreateLabel($xMax,307,295,20,15,$SS_CENTER)
GUICtrlCreateLabel($xMin,38,295,20,15,$SS_CENTER)



GUISetState()
While 1
    Sleep(100)
WEnd

func close()
    Exit
EndFuncoÝ÷ Ú¯zËaÆ­µ§!éí

gives:

post-29091-1201952571_thumb.gif

(10,10)

(45,39)

(90,90) ...are plotted above

:)

This will work even when the lower end of each axis is not zero...say you wanted to start the graph at 50 - 100 instead of 0 - 100.

just be sure to change the variables $xMax, $xMin, $yMax, and $yMin as needed.

post-29091-1201950940_thumb.gif

- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

A bit more messing about with the functions:

#include <GUIConstants.au3>
#include <Misc.au3>

Opt("GUIOnEventMode", 1)
Opt("MouseCoordMode",0)

GUICreate("", 340, 330)
GUISetOnEvent($GUI_EVENT_CLOSE,"close")


$GraphWidth = 273
$GraphHeight = 273

$graph = GUICtrlCreateGraphic(48, 15, $GraphWidth, $GraphHeight)
GUICtrlSetBkColor(-1,0xFFFFFF)
GUICtrlSetColor(-1,0x000000)



$yMax = 100
$yMin = 0

$xMax = 100
$xMin = 0

GUICtrlCreateLabel($yMax,15,10,20,15,$SS_RIGHT)
GUICtrlCreateLabel($yMin,15,280,20,15,$SS_RIGHT)

GUICtrlCreateLabel($xMax,307,295,20,15,$SS_CENTER)
GUICtrlCreateLabel($xMin,38,295,20,15,$SS_CENTER)

$coord = GUICtrlCreateLabel("mouse co-ord: ",80,300,200,15,$SS_CENTER)

;---------- PLOT THE POINTS (45,39) (10,10) and (90,90) ----------
GUICtrlSetGraphic($graph,$GUI_GR_DOT,Gen_Abs_Pix_x(23,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y(90,$yMin,$yMax,$GraphHeight))

GUICtrlSetGraphic($graph,$GUI_GR_DOT,Gen_Abs_Pix_x(10,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y(10,$yMin,$yMax,$GraphHeight))

GUICtrlSetGraphic($graph,$GUI_GR_DOT,Gen_Abs_Pix_x(90,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y(90,$yMin,$yMax,$GraphHeight))
;-----------------------------------------------------------------

GUISetState()
While 1
    Sleep(100)
    if _IsPressed("01") = 1 Then
        call("setpoint")
    EndIf
WEnd

func Gen_Abs_Pix_x($x,$low,$high,$width)
    $out = (($width/($high-$low))*(($high-$low)*(($x-$low)/($high-$low))))
    Return $out
EndFunc

func Gen_Abs_Pix_y($y,$low,$high,$height)
    $out = ($height - (($height/($high-$low))*(($high-$low)*(($y-$low)/($high-$low)))))
    Return $out
EndFunc


func setpoint()
    
    $mousex = MouseGetPos(0) - 48
    $mousey = MouseGetPos(1) - 38

    $x = Round((($mousex / ($GraphWidth / ($xMax - $xMin))) + $xMin),0) - 1
    
    $y = Round(((($GraphHeight - $mousey) / ($GraphHeight / ($yMax - $yMin))) + $yMin),0) - 1
    
    $text = "(" & $x & "," & $y & ")"

    GUICtrlSetData($coord,"mouse co-ord: " & $text)

EndFunc




func close()
    Exit
EndFunc

Try clicking anywhere in the graph to get the co-ordinates.

Also, try clicking and dragging.

Edited by andybiochem
- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

  • 2 weeks later...

The functions can even handle requests based on graph formula in the format y=mx+c...

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

GUICreate("", 340, 330)
GUISetOnEvent($GUI_EVENT_CLOSE,"close")

;***********************************************************************
; Prepare Labels for Axes
;***********************************************************************

$yMax = 10                                      ;this is the upper label for y axis
$yMin = -10                                     ;this is the lower label for y axis

$xMax = 10                                      ;this is the upper label for x axis
$xMin = -10                                     ;this is the lower label for x axis

GUICtrlCreateLabel($yMax,15,10,20,15,$SS_RIGHT)
GUICtrlCreateLabel($yMin,15,280,20,15,$SS_RIGHT)

GUICtrlCreateLabel($xMax,307,295,20,15,$SS_CENTER)
GUICtrlCreateLabel($xMin,38,295,20,15,$SS_CENTER)


;***********************************************************************
; Prepare Graphic control and zero lines
;***********************************************************************

$GraphWidth = 273                               ;this is simply the pixel width of the control
$GraphHeight = 273                              ;this is simply the pixel height of the control

$graph = GUICtrlCreateGraphic(48, 15, $GraphWidth, $GraphHeight)
GUICtrlSetBkColor(-1,0xFFFFFF)                  ;graph background colour
GUICtrlSetColor(-1,0x000000)                    ;graph border colour
GUICtrlSetGraphic(-1,$GUI_GR_HINT,0)            ;turn off hints

;---- X - Zero line ----
GUICtrlSetGraphic($graph,$GUI_GR_MOVE,Gen_Abs_Pix_x(0,$xMin,$xMax,$GraphWidth),Gen_Abs_Pix_y($yMin,$yMin,$yMax,$GraphHeight))
GUICtrlSetGraphic($graph,$GUI_GR_LINE,Gen_Abs_Pix_x(0,$xMin,$xMax,$GraphWidth),Gen_Abs_Pix_y($yMax,$yMin,$yMax,$GraphHeight))
;---- Y - Zero line ----
GUICtrlSetGraphic($graph,$GUI_GR_MOVE,Gen_Abs_Pix_x($xMin,$xMin,$xMax,$GraphWidth),Gen_Abs_Pix_y(0,$yMin,$yMax,$GraphHeight))
GUICtrlSetGraphic($graph,$GUI_GR_LINE,Gen_Abs_Pix_x($xMax,$xMin,$xMax,$GraphWidth),Gen_Abs_Pix_y(0,$yMin,$yMax,$GraphHeight))


GUICtrlSetGraphic(-1,$GUI_GR_HINT,1)            ;turn on hints



;***********************************************************************
; PLOT POINTS
;***********************************************************************

for $i = $xMin to $xMax step 1                  ;change step value for more plot points (e.g. step 0.5)

;---- Move to start pos ----
    if $i = $xMin Then
        GUICtrlSetGraphic($graph,$GUI_GR_MOVE,Gen_Abs_Pix_x($xMin,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y(0,$yMin,$yMax,$GraphHeight))
    EndIf
;---------------------------

;Stating that X equals each step of the loop means that we can get the control to plot
;points based on the Y = mX + c model.

    $x = $i                                     ;for each step of the loop...
    
    $y = $x                                     ;plot points based on Y = mX + c model. !!!!!CHANGE THIS LINE!!!!!

    GUICtrlSetGraphic($graph,$GUI_GR_LINE,Gen_Abs_Pix_x($x,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y($y,$yMin,$yMax,$GraphHeight))

next


GUISetState()
While 1
    Sleep(100)
WEnd

;***********************************************************************
; Absolute pixel reference generation functions
;***********************************************************************
func Gen_Abs_Pix_x($x,$low,$high,$width)
    $out = (($width/($high-$low))*(($high-$low)*(($x-$low)/($high-$low))))
    Return $out
EndFunc
func Gen_Abs_Pix_y($y,$low,$high,$height)
    $out = ($height - (($height/($high-$low))*(($high-$low)*(($y-$low)/($high-$low)))))
    Return $out
EndFunc





func close()
    Exit
EndFuncoÝ÷ Ù«miÈfz{oÝ÷ Ù«miÈfz{oÝ÷ Ù«miÈfz{oÝ÷ Ù«miÈfz{oÝ÷ ØZ+¶¬¢wr§çmæ±zÉb+ljwZÊ,zÛazZ(¦Ë^¦Ú4ÚÚ zÙ¨­êe¢Úh{ljÛZroÝ÷ Ùë"IèÂazº^¢^«Þ¦º¹ÇÞr©'µç`­ªaxºw-ìnëmêh{HßÙ­¯(§Ú zÖ®,êÞËajܨ¹Æ§¦º¹Ç¬¢g§Ç¢jeÆ­yØ+jlºÈ§e
ÚåIëF­ªaƧvÜ(²)©çîËb¢{ºÚ"µÍ[ÈÙ[ÐX×Ô^Þ
    ÌÍÞ  ÌÍÛÝË  ÌÍÚYÚ   ÌÍÝÚY
B   ÌÍÛÝ]H

    ÌÍÝÚYÊ ÌÍÚYÚIÌÍÛÝÊJJ
    ÌÍÚYÚIÌÍÛÝÊJ
    ÌÍÞIÌÍÛÝÊKÊ    ÌÍÚYÚIÌÍÛÝÊJJJB]   ÌÍÛÝ][[Â[ÈÙ[ÐX×Ô^ÞJ  ÌÍÞK ÌÍÛÝË  ÌÍÚYÚ   ÌÍÚZYÚ
B   ÌÍÛÝ]H
    ÌÍÚZYÚH

    ÌÍÚZYÚÊ    ÌÍÚYÚIÌÍÛÝÊJJ
    ÌÍÚYÚIÌÍÛÝÊJ
    ÌÍÞKIÌÍÛÝÊKÊ   ÌÍÚYÚIÌÍÛÝÊJJJJB]  ÌÍÛÝ][[

Any ideas/criticism welcome!! :)

:)

post-29091-1202883835_thumb.gif

post-29091-1202883967_thumb.gif

post-29091-1202884318_thumb.gif

post-29091-1202884377_thumb.gif

post-29091-1202884544_thumb.gif

post-29091-1202884548_thumb.gif

post-29091-1202885003_thumb.gif

post-29091-1202885008_thumb.gif

post-29091-1202885540_thumb.gif

post-29091-1202885546_thumb.gif

- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

  • 1 month later...

i used the code to change it for my needs. my script catches x and y from a panel and then move the dot without leaving a trace (the point is updated every 100ms, but can be adapted). flickering is still not solved, but i could not find an apropriate solution for that.

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

GUICreate("", 340, 330)
GUISetOnEvent($GUI_EVENT_CLOSE,"close")


$GraphWidth = 273
$GraphHeight = 273

$graph = GUICtrlCreateGraphic(48, 15, $GraphWidth, $GraphHeight)
GUICtrlSetBkColor(-1,0xFFFFFF)
GUICtrlSetColor(-1,0x000000)


$yMax = 1024            ;this is the upper label for y axis
$yMin = 0               ;this is the lower label for y axis

$xMax = 1024           ;this is the upper label for x axis
$xMin = 0               ;this is the lower label for x axis

GUICtrlCreateLabel($yMax,15,10,20,15,$SS_RIGHT)
GUICtrlCreateLabel($yMin,15,280,20,15,$SS_RIGHT)

GUICtrlCreateLabel($xMax,307,295,20,15,$SS_CENTER)
GUICtrlCreateLabel($xMin,38,295,20,15,$SS_CENTER)

GUISetState()

$fXcoordold=1
$fYcoordold=1

While 1

    $graph = GUICtrlCreateGraphic(48, 15, $GraphWidth, $GraphHeight)
    
;---------- GET THE X,Y VALUES -----------------------------------
    If WinExists("x-coords") Then
        $fXcoord = Number(ControlGetText("x-coords", "", "Edit1"))
        $fYcoord = Number(ControlGetText("y-coords", "", "Edit1"))
    EndIf
;-----------------------------------------------------------------

;---------- PLOT THE POINTS --------------------------------------
    GUICtrlSetGraphic ($graph,$GUI_GR_DOT,Gen_Abs_Pix_x($fXcoord,$xMin,$xMax,$GraphWidth), Gen_Abs_Pix_y($fYcoord,$yMin,$yMax,$GraphHeight))
    GUICtrlSetGraphic ($graph,$GUI_GR_REFRESH)
;-----------------------------------------------------------------
    
    Sleep(50)
    GUICtrlDelete($graph)
WEnd

func Gen_Abs_Pix_x($x,$low,$high,$width)
    $out = (($width/($high-$low))*(($high-$low)*(($x-$low)/($high-$low))))
    Return $out
EndFunc

func Gen_Abs_Pix_y($y,$low,$high,$height)
    $out = ($height - (($height/($high-$low))*(($high-$low)*(($y-$low)/($high-$low)))))
    Return $out
EndFunc


func close()
    Exit
EndFunc
Link to comment
Share on other sites

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

  • 3 months later...

hello,

i have question i am using this script for graphs.

and i use a udf für creating pdfs over excel sheets

so my question is there a udf or script where i can transfer all labels and the graph to a excel document or send it to pdf?

i have some lables and the graph in the autoit tool, so will convert in into excel or in pdf directly, in the past i have done this with the "PRINT"-key it looks very **** ^^

so anyone can help me or give me some links/tipps?

best regards

Link to comment
Share on other sites

here's something i cooked up one night when i was bored muttley but i never posted it(i think)

this uses dots to createa the graphs...

the nice part is that it uses some vars for the scale of the graph,the $go var is the range of the graph (from -$go to $go) the $stev var is the number of steps per point of $go... and well startx and starty.... :( btw to change the graph just uncomment another return line from the func and comment that one :P oh and scale is not in percents ... so $scale=100 means the "graph" is 100 times larger than normal :)

#include <GUIConstants.au3>
$starty=250
$pi=3.14159
$startx=250
$scale=134
$step=0.0005
$go=1.3;$pi*$pi
Opt("GUIOnEventMode" , 1)
$gui=GUICreate("Graph" , 501,501)
GUISetOnEvent($GUI_EVENT_CLOSE , "quit")

GUISetBkColor(0x000000)

$gr=GuiCtrlCreateGraphic(0,0,500,500)

GUICtrlSetBkColor(-1,0xa0ffa0)
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 0,250)       ; start point
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x000000)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 500,250)
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 250,0)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 250,500)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0xff0000)

GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x0000ff)
Func form($x)
    ;If $x<=0 Then Return 1000
    ;Return (Cos($x)+1/Tan($x)-1/Sin($x))*ATan($x)*Cos($x)*(($x+1)/($x*$x));
    ;Return (($x*$x+1)/($x*$x-1))*(($x*$x-2)/($x*$x+2))
    Return -Abs($x*$x*$x-$x)
    ;If Abs($x)>2 Then Return 1000
    ;If $x<0 Then Return 1000
    ;Return -Cos($x)-Sin($x)
    ;Return ($x*$x*$x-2)/($x*$x+100)
    ;Return  3 * (2 ^ - ($x ^ 2))
EndFunc
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 400,300)
For $i=$go*-1 To $go Step $step
    GUICtrlSetGraphic(-1,$GUI_GR_DOT, $startx+$scale*$i,-1*$scale*form($i)+$starty)
Next
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 400,300)
GUISetState()


While 1
    Sleep(10)
WEnd

Func quit()
    Exit 1
EndFunc

P.S.: nice job :cheer: with your it looks better than mine :dance:( visualy speaking)

Edited by TheMadman

Only two things are infinite, the universe and human stupidity, and i'm not sure about the former -Alber EinsteinPractice makes perfect! but nobody's perfect so why practice at all?http://forum.ambrozie.ro

Link to comment
Share on other sites

Just thought I'd give a quick update on how I've used the functions for a complicated stats calculator at work...

Posted Image

@Vision

You won't be able to transfer the graph to an excel document as far as I know. The best way to do get it into a PDF would be to take a screem grab using the printscrn button like you say. I don't see why that method would be **** though? Sorry I can't help further.

[EDIT] - oops, image died. I'll up it again i soon....

Edited by andybiochem
- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

  • 2 weeks later...

nobody any idea why the graph dont work with numbers that had commas?

i have numbers like 11,9 / 10,8 / 9,5

when i use numbers like 11 / 10 / 9 it works perfekt, but with commas the dots are lost in the flield and they are dont shown anymore

how i can solve it?

Link to comment
Share on other sites

nobody any idea why the graph dont work with numbers that had commas?

i have numbers like 11,9 / 10,8 / 9,5

when i use numbers like 11 / 10 / 9 it works perfekt, but with commas the dots are lost in the flield and they are dont shown anymore

how i can solve it?

Because a NUMBER can not contain a comma as the decimal separator, that will be read as a string. Replacing the commas with dots should work.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

how i can do this?

i got 100 values from rs232 over com port

here a sample:

i got: 11,9;11,8;10,9;9,9;8,7;and much more

are there any method to converd the numbers in autoit? or how i can make this

Link to comment
Share on other sites

how i can do this?

i got 100 values from rs232 over com port

here a sample:

i got: 11,9;11,8;10,9;9,9;8,7;and much more

are there any method to converd the numbers in autoit? or how i can make this

This should really be in general support, but if you have a string

$NumberList = "11,9;11,8;10,9;9,9;8,7"

then you can get an array of numbers like this

$NumberList = StringReplace($NumberList,',','.');replace all the commas with full stops.
$aNumberArray = StringSplit($NumberList,';')
for $n = 1 to $aNumberArray[0]
 $aNumberArray[$n] = Number($aNumberArray[$n])
Next

Now $aNumberArray[0] = number of numbers

$aNumberArray[1] = first number

Edited by martin
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to comment
Share on other sites

Just thought I'd give a quick update on how I've used the functions for a complicated stats calculator at work...

Posted Image

[EDIT] - oops, image died. I'll up it again i soon....

post-29091-1216972498_thumb.gif
- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

  • 8 months later...

Unfortunately, I can't show the source to that program...copyright law deems that it "belongs" to my employer (the NHS).

But...

Here is the Graph template UDF that I created that allows quick generation of line graphs

Line Graph UDF

- Table UDF - create simple data tables - Line Graph UDF GDI+ - quickly create simple line graphs with x and y axes (uses GDI+ with double buffer) - Line Graph UDF - quickly create simple line graphs with x and y axes (uses AI native graphic control) - Barcode Generator Code 128 B C - Create the 1/0 code for barcodes. - WebCam as BarCode Reader - use your webcam to read barcodes - Stereograms!!! - make your own stereograms in AutoIT - Ziggurat Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Box-Muller Gaussian Distribution RNG - generate random numbers based on normal/gaussian distribution - Elastic Radio Buttons - faux-gravity effects in AutoIT (from javascript)- Morse Code Generator - Generate morse code by tapping your spacebar!
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...