Wild guess: this may be a bug in record-dc%.

IIRC, DrRacket uses record-dc% when rendering picts, and it would make
sense that serialization would too. But drawing picts directly wouldn't.

The last time I saw that kind of bug (inconsistent pict rendering
between contexts), it turned out that record-dc% was not keeping track
of some properties of the drawing, and so rendering was off when the
recording was rendered.

As a first step, I'd recommend trying to render your pict using a
regular dc and a render-dc, to see if that's where the difference is
coming from. Then, if that's the case, you can see which dc commands
your example runs, and make sure that record-dc records everything about
them faithfully.

Vincent



On Thu, 06 Oct 2016 14:32:19 -0500,
Leif Andersen wrote:
> 
> I have been playing with scribble and serialize/deserialize a bit lately
> in a (somewhat successful) attempt to make my paper build in a
> reasonable amount of time.
> 
> Anyway, I noticed some interesting behavior when Scribble is combined
> with picts and serialize/deserialize. And I'm kind of stumped as to what
> could cause it.
> 
> Take the following file:
> 
> ```
> #lang scribble/manual
> 
> @(require pict
> racket/serialize)
> 
> @(define x
> (vc-append
> (filled-rectangle 30 10 #:color "yellow")
> (filled-rectangle 30 10 #:color "yellow")))
> 
> @x
> 
> @(deserialize (serialize x))
> ```
> 
> This code defines a pict made out of two yellow rectangles stacked on
> top of each other. It makes a document containing these two rectangles,
> followed by the two rectangles after they've been serialized and
> deserialized. Provided that `x` is serializable (which it supposedly
> is), I would imagine that the two pictures would look the same. Instead
> however, it ends up looking like this. (The PDF file is also attached).
> Inline image 1
> Note how after its been serialized and deserialized, the two rectangles,
> appear slightly further apart and have a doubly thick line.
> 
> For what its worth, if I have DrRacket draw the pict it always shows up
> like the bottom rectangle.
> 
> Both of these images make sense (depending on how we intemperate
> border), but I'm a bit confused why it would show up differently after
> being serialized and deserialized. Any ideas?
> 
> Thank you.
> 
> ~Leif Andersen 
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to