Ah, it looks like make-anti-aliased is only for brushes, for drawing lines... I wonder what technique works for the text?
Thanks!
Andrew
I tred to use the (make-anti-aliased) function:
(draw-freetype-string 0 0
text
:anti-aliased t
:font-name font
:angle 0
:point-size font-size
:color (make-anti-aliased (allocate-color 0 0 255)))
But the lisp gives me the error:
The value of CL-GD::COLOR is #S(CL-GD::ANTI-ALIASED-COLOR
:COLOR 255
:DO-NOT-BLEND NIL), which is not of type INTEGER.
[Condition of type SIMPLE-TYPE-ERROR]
Restarts:
0: [STORE-VALUE] Supply a new value of CL-GD::COLOR.
1: [ABORT] Return to SLIME's top level.
2: [ABORT] Return to Top-Level.
Backtrace:
0: (LISP::CHECK-TYPE-ERROR CL-GD::COLOR
#S(CL-GD::ANTI-ALIASED-COLOR
:COLOR 255
:DO-NOT-BLEND NIL)
INTEGER
NIL)
Thank you,
AndrewOn 3/17/07, Andrei Stebakov < lispercat@gmail.com> wrote:Here is what I've got: http://www.greenpixeldesign.com/cphandler/tmp-img/test.png
I'd like to remove the black outline from the anti-aliased text (I need RGB true color image). I know I am missing some stupid thing, but I experimented with different backgrounds, just doesn't make it right. My current setup is gdlib 2.0.33 on debian, and here is the code;
(defun create-text-image (text font font-size file-name)
(multiple-value-bind (width height horizont-shift vertical-shift)
(get-bounding-rect text font font-size)
(with-image* (width height t)
(let* ((white (allocate-color 255 255 255))
(black (allocate-color 0 0 0))
(red (allocate-color 255 0 0))
(green (allocate-color 0 255 0))
(blue (allocate-color 0 0 255)))
(setf (transparent-color) black)
(draw-freetype-string (- 0 horizont-shift) (- height vertical-shift)
text
:anti-aliased t
:font-name font
:angle 0
:point-size font-size
:color (allocate-color 0 0 255))
;;(true-color-to-palette)
(write-image-to-file file-name :if-exists :supersede)))))