Servus,
Ich möchte für ein Tool eine Erweiterung schreiben.
Es soll eine Rechnung durchgeführt und diese auch grafisch dargestellt werden.
Die Rechnung ist kein Problem.
Zum erstellen der Grafik verwende ich die GDIPlus-Engine...
Die Grafik ist leider teilweise schon ein Problem, da ich auch eine Druck-Funktion verwende und es daher vorteilhaft wäre, wenn die Grafik in einem 1:1 Maßstab gedruckt werden würde. D.h.: Ich müsste die Grafik auch 1:1 Zeichnen. Allerdings nicht in Pixel sondern in z.B. mm...
Könnte man das ganze einfach in "pt" speichern? (pt = Points = standard Einheit für Drucker)
In anderen Programmiersprachen gibt es ja die Möglichkeit, jede Grafik des GUI's in eine Art Chache zu speichern und beliebig aufzurufen bzw. eben auch zu DRUCKEN....
Hat jemand eine Ahnung wie man das umsetzen könnte?
Hier ein Link zu einer Beispiel-Grafik:
Segment Beispiel - IMG-UP.net - Your Free Image Hoster
Die Formel lautet:
r = (1/2) • { [(s/2)² / h] +h }
Wobei gilt:
r = Radius
s = Sehne
h = Segmenthöhe
Der wichtige Teil ist der Kreissektor der die drei Punkte verbindet, d.h. es muss bei dem A4-Druck nicht ein Kreis mit 50cm Durchmesser draufpassen.....
For Example:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 601, 570, 438, 188)
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("Draw", 8, 512, 161, 49)
GUISetState(@SW_SHOW)
$hWnd = WinGetHandle($Form1)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_GDIPlus_Startup()
$Zeichnen = _GDIPlus_GraphicsCreateFromHWND($hWnd)
Sleep(1000)
_GDIPlus_GraphicsDrawLine($Zeichnen,167,130,363,130)
Sleep(1000)
_GDIPlus_GraphicsDrawLine($Zeichnen,265,130,265,110)
Sleep(1000)
_GDIPlus_GraphicsDrawPie($Zeichnen,15,110,500,500,0,360)
_GDIPlus_Shutdown()
EndSwitch
WEnd
Alles anzeigen
Würd mich freuen, stehe schon seit 3Tagen auf der Leitung....
Grüße Stoani