DCPRINT BOX

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

DCPRINT BOX

Beitrag von Koverhage »

Hallo,

ich möchte eine Box drucken, aber nicht einfarbig sondern mit Farbverlauf.
Praktisch so: ca. 75 % der Box von Dunkelblau in Hellblau, ab dann Hellrot bis Dunkelrot.

Kann mir jemand einen Tip geben, wie ich das anstellen könnte ?
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: DCPRINT BOX

Beitrag von AUGE_OHR »

hi,
Koverhage hat geschrieben:ich möchte eine Box drucken, aber nicht einfarbig sondern mit Farbverlauf.
Praktisch so: ca. 75 % der Box von Dunkelblau in Hellblau, ab dann Hellrot bis Dunkelrot.

Kann mir jemand einen Tip geben, wie ich das anstellen könnte ?
ich weiss nicht wie man es mit Express++ macht, aber es ist ja "nur" eine GradientBox.
da du allerdings 2 Übergänge haben möchtest müsstest du 2x GradientBox benutzten.

hier mal ein Beispiel für einen (2-farbige) GradientBox

Code: Alles auswählen

METHOD OWcal:DrawGradient( oPS, aStart, aEnd, nColor1, nColor2, nDirection )
LOCAL aColors

   DEFAULT nDirection TO GRA_GRADIENT_VERTICAL

   IF NIL = nColor1 .OR. nColor1 = 0
      RETURN .F.
   ENDIF
   IF NIL = nColor2 .OR. nColor2 = 0
      RETURN .F.
   ENDIF

   IF ( ( nColor1 > 0 ) .AND. ( nColor2 > 0 ) )
      aColors := { GraMakeRGBColor( GraGetRGBIntensity( nColor1 ) ), ;
                   GraMakeRGBColor( GraGetRGBIntensity( nColor2 ) ) }

      GraGradient( oPS, aStart, { { aStart[ 1 ] + aEnd[ 1 ], ;
                                    aStart[ 2 ] + aEnd[ 2 ] } }, ;
                                    aColors, ;
                                    nDirection )
   ENDIF

RETURN .T.
gruss by OHR
Jimmy
Antworten