abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Wasserzeichen

Ma_Scht
Advocate
Wenn mal ein Wasserzeichen über den gesamten Plan gebraucht wird. Bitte sehr!
Geht kürzer im Quelltext, ich weiß.

!!! PARAMETER !!!
WaZeiTXT = "Aqua signatura^^ " !!! TYP: Text
! textStil = "TXT" !!! TYP: Text
textH = 30 !!! TYP: natürliche Zahl
zeilenabst = 50 !!! TYP: natürliche Zahl
strichLaenge = 10 !!! TYP: natürliche Zahl
dreWi = 25 !!! TYP: Winkel
HiGruSchraff = 24 !!! TYP: Schraffur
HiGruSchraffPEN = 1 !!! TYP: Stift


!!! PARAMETER-SCRIPT !!!
VALUES "textStil", "TXT", "Arial", "ISOCPEUR", "Arial Black", "Arial Narrow", "Swis721 BlkOul BT"
VALUES "dreWi" RANGE(4.99,85]

IF NOT(HiGruSchraffJN) THEN LOCK "HiGruSchraff", "HiGruSchraffPEN"
IF HiGruSchraffPEN < 1 THEN PARAMETERS HiGruSchraffPEN = 91


!!! 2D-SCRIPT !!!
unID = 1
EPS = 0.0000001
dreWi = dreWi + EPS
strichLaenge = 0.5 * strichLaenge * 0.001
zeilenAbstand = zeilenabst * GLOB_SCALE * 0.001

DEFINE STYLE "WaZei" textStil, textH, 4, 0
SET STYLE "WaZei"

versatzXzeile = zeilenAbstand / SIN(dreWi)
versatzYzeile = zeilenAbstand / COS(dreWi)

wiederholungXrichtung = INT(A / versatzXzeile)
wiederholungYrichtung = INT(B / versatzYzeile)
restXrichtung = FRA(A / versatzXzeile) * versatzXzeile
restYrichtung = FRA(B / versatzYzeile) * versatzYzeile

LaengeWaZeiTXT = STW(WaZeiTXT) / GLOB_SCALE
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT) / GLOB_SCALE
WaZeiTXTstart = ""

maxErfLaenge = 1000 * (A^2 + B^2)^(0.5)
FOR m = 1 TO (maxErfLaenge / LaengeWaZeiTXT) + 1
WaZeiTXTstart = WaZeiTXTstart + WaZeiTXT
NEXT m

IF wiederholungXrichtung < wiederholungYrichtung THEN

FOR i = 1 TO wiederholungXrichtung
laenge = 1000 * ((i*versatzXzeile)^2 + (i*versatzYzeile)^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 A - i*versatzXzeile, 0
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen + 1, AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT i

yyy = versatzYzeile / versatzXzeile * (versatzXzeile - restXrichtung)
wiederholungYrichtung = INT((B - i*versatzYzeile) / versatzYzeile)
FOR j = 0 TO wiederholungYrichtung
laenge = 1000 * (A^2 + (((i+j)*versatzYzeile) - (yyy + j*versatzYzeile))^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 0, yyy + j*versatzYzeile
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen + 1, AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT j

xxx2 = versatzXzeile / versatzYzeile * (versatzYzeile - restYrichtung)
wiederholungXrichtung2 = INT((A - xxx2) / versatzXzeile)
FOR k = 0 TO wiederholungXrichtung2
laenge = 1000 * ((A - xxx2 - k*versatzXzeile)^2 + (((j+k)*versatzYzeile + yyy) - B)^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 0, (j+k)*versatzYzeile + yyy
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen + 1, AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT k

ELSE

FOR i = 1 TO wiederholungYrichtung
laenge = 1000 * ((i*versatzXzeile)^2 + (i*versatzYzeile)^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 A - i*versatzXzeile, 0
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen+1, AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT i

xxx = versatzXzeile / versatzYzeile * (versatzYzeile - restYrichtung)
wiederholungXrichtung = INT((A - i*versatzXzeile) / versatzXzeile)
FOR j = 0 TO wiederholungXrichtung
laenge = 1000 * (((A - (i+j)*versatzXzeile) - (A - xxx - (j)*versatzXzeile))^2 + B^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 A - (i+j)*versatzXzeile, 0
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen+1 ,AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT j

yyy2 = versatzYzeile / versatzXzeile * (versatzXzeile - restXrichtung)
wiederholungYrichtung2 = INT((B - yyy2) / versatzYzeile)
FOR k = 0 TO wiederholungYrichtung2
laenge = 1000 * ((A - (j+k)*versatzXzeile - xxx)^2 + (B - (yyy2 + k*versatzYzeile))^2)^(0.5)
laenge = laenge / GLOB_SCALE
ADD2 0, yyy2 + k*versatzYzeile
ROT2 dreWi
AnzZeichen = (laenge / LaengeWaZeiTXT) * AnzZeichenWaZeiTXT
TEXT2 0, 0, STRSUB(WaZeiTXT, 1, AnzZeichen)
WaZeiTXTrest = STRSUB(WaZeiTXT, AnzZeichen+1, AnzZeichenWaZeiTXT)
WaZeiTXT = WaZeiTXTrest + WaZeiTXTstart
LaengeWaZeiTXT = STW(WaZeiTXT)
AnzZeichenWaZeiTXT = STRLEN(WaZeiTXT)
DEL 2
NEXT k

ENDIF


!!! Touch me baby !!!
!!! Sorgt bei Schnellauswahl dafür, dass Objekt gefangen wird.

PEN HiGruSchraffPEN
SET FILL HiGruSchraff
POLY2_B 5, 0*1 + HiGruSchraffJN*2, HiGruSchraffPEN,0,
0,0,1,
A,0,1,
A,B,1,
0,B,1,
0,0,1




! ==============================================================================
! 2D Hotspots
! ==============================================================================

HOTSPOT2 0, 0, unID : unID=unID+1
HOTSPOT2 A, 0, unID : unID=unID+1
HOTSPOT2 0, B, unID : unID=unID+1
HOTSPOT2 A, B, unID : unID=unID+1
HOTSPOT2 0.5*A, 0.5*B, unID : unID=unID+1


HOTLINE2 0, 0, A, 0, unID : unID=unID+1
HOTLINE2 0, B, A, B, unID : unID=unID+1
HOTLINE2 0, 0, 0, B, unID : unID=unID+1
HOTLINE2 0, B, A, B, unID : unID=unID+1

sl = strichLaenge !!! Strichlänge

ADD2 0,0
LINE2 0-sl, 0, 0+sl, 0
LINE2 0, 0-sl, 0, 0+sl
ADD2 A,0
LINE2 0-sl, 0, 0+sl, 0
LINE2 0, 0-sl, 0, 0+sl
ADD2 0,B
LINE2 0-sl, 0, 0+sl, 0
LINE2 0, 0-sl, 0, 0+sl
ADD2 -A,0
LINE2 0-sl, 0, 0+sl, 0
LINE2 0, 0-sl, 0, 0+sl
DEL 4

END:
0 ANTWORTEN 0

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen