[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Color Pictures
- To: teller@capitole.lema.ulg.ac.be, info-mcl@cambridge.apple.com
- Subject: Re: Color Pictures
- From: bill@cambridge.apple.com (Bill St. Clair)
- Date: Tue, 24 May 1994 12:18:03 -0500
- Cc: staff@capitole.lema.ulg.ac.be
At 12:14 AM 5/18/94 +0100, teller@capitole.lema.ulg.ac.be wrote:
>Hello,
>
>I am trying create and draw in a picture (without opening any window),
>and everything is fine except that I couldn't achieve to set the color as I
>want. I could
>however set the pensize (i.e.).
>
>Does someone know how to do that? Here is the code we use:
>
>[...]
>
>(defun make-picture ()
> (let ((mypict (#_OpenPicture (mysetrect 0 0 500 500))))
> (#_forecolor *blue-color*)
> (jacques-view-draw-contents)
> (#_closepicture)
> (write-pict mypict)
> ))
I believe your problem is a misunderstanding of the #_ForeColor trap.
Its argument has nothing to do with MCL's *xxx-color* variables.
It's argument must be one of #$blackColor, #$whiteColor, #$redColor,
#$greenColor, #$blueColor, #$cyanColor, #$magentaColor, #$yellowColor.
Your best bet would be to use the SET-FORE-COLOR function, which
DOES take an argument in the format of the *xxx-color* variables.
It converts the argument to an RGBColor struct, then uses #_RGBColor
to set the port's color. Your make-picture function should work
if modified as follows (though I haven't tested it):
(defun make-picture ()
(let ((mypict (#_OpenPicture (mysetrect 0 0 500 500))))
(set-fore-color *current-view* *blue-color*)
(jacques-view-draw-contents)
(#_closepicture)
(write-pict mypict)
))