On Tue, 11 Sep 2007 11:13:24 -0500, "Michael J. Forster" <mike@sharedlogic.ca> wrote:
I'm using WITH-TRANSFORMATION to simplify the graph plotting, and it's not behaving the way I would expect. As I read it in the documentation, this...
(with-transformation (:x1 0 :width width :y1 0 :height height) ...)
... should transform the coordinate system from this...
0,0 -----> width - 1 | | | V height - 1
... to this...
height - 1 ^ | | | 0,0 -----> width - 1
Hmm, why do you think that? I would expect a transformation from 0,0 -----> image-width | | | V image-height to height ^ | | | 0,0 -----> width Why do you want to subtract 1? What do you expect to happen if WIDTH or HEIGHT /are/ 1?
Below is the snippet I was running to grok WITH-TRANSFORMATION. I can mail you the images I got, if you like.
An easy way to experiment with CL-GD's transformations would probably be something like this: (in-package :cl-gd) (defun foo (x1 y1 x2 y2 &optional (image *default-image*)) (with-transformed-alternative ((x1 x-transformer) (y1 y-transformer) (x2 x-transformer) (y2 y-transformer)) (print (list x1 y1 x2 y2)))) (with-image* (... ...) (with-transformation (:x1 ... :width ... :y1 ... :height ...) (foo ... ... ... ...))) Cheers, Edi.