# Different rendering when using image-snip and pict

**URL:** <https://racket.discourse.group/t/different-rendering-when-using-image-snip-and-pict/3878>\
**Category:** Questions & Answers\
**Tags:** racketdraw\
**Created:** [July 27, 2025, 5:58pm UTC](https://racket.discourse.group/t/different-rendering-when-using-image-snip-and-pict/3878 "2025-07-27T17:58:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [July 27, 2025, 5:58pm UTC](https://racket.discourse.group/t/different-rendering-when-using-image-snip-and-pict/3878/1 "2025-07-27T17:58:53Z")

</div>

Hi,

I'm getting different rendering when I use `image-snip%` compared to `pict`'s `dc`.

I _think_ the difference is the rendering is assuming a different resolution display but I am not entirely sure.

I've included a simple demo and and a screen capture.

Best regards,  
Stephen

```scheme
#lang racket/gui
(require pict)

(define target2 (make-bitmap 110 110))
(define tdc (new bitmap-dc% [bitmap target2]))
(send tdc set-pen "black" 1 'solid)
(send tdc set-brush "orange" 'solid)
(send tdc draw-ellipse 5 5 100 100)

(make-object image-snip% target2)

(dc (λ (dc dx dy)
      (define old-brush (send dc get-brush))
      (define old-pen (send dc get-pen))
      (send dc set-pen "black" 1 'solid)
      (send dc set-brush "orange" 'solid)
      (send dc draw-ellipse 5 5 100 100)
      (send dc set-brush old-brush)
      (send dc set-pen old-pen))
    300 300)

```

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/a/adb1eb07147024cdeede7883c8ebeec83614e5c8.png)

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [July 27, 2025, 10:11pm UTC](https://racket.discourse.group/t/different-rendering-when-using-image-snip-and-pict/3878/2 "2025-07-27T22:11:09Z")

</div>

Thanks @soegaard

I can get the same lovely smooth edge with `#:backing-scale 2` and `set-smoothing` to `'aligned`.

Reviewing `pict.rkt` verifies this [pict/pict-lib/pict/private/pict.rkt at master · racket/pict · GitHub](https://github.com/racket/pict/blob/master/pict-lib/pict/private/pict.rkt)

The relevant documentation is

- [The Racket Drawing Toolkit: 1.8 Portability and Bitmap Variants](https://docs.racket-lang.org/draw/overview.html#(part._.Portability))
- [The Racket Graphical Interface Toolkit: 1.8 Screen Resolution and Text Scaling](https://docs.racket-lang.org/gui/windowing-overview.html#(part._display-resolution))
- [The Racket Drawing Toolkit: 8 dc\<%\> set-smoothing](https://docs.racket-lang.org/draw/dc___.html#(meth._(((lib._racket%2Fdraw..rkt)._dc~3c~25~3e)._set-smoothing)))

```scheme
#lang racket/gui
(require pict)

(define target2 (make-bitmap 110 110 #:backing-scale 2))
(define tdc (new bitmap-dc% [bitmap target2]))
(send tdc set-smoothing 'aligned)
(send tdc set-pen "black" 1 'solid)
(send tdc set-brush "orange" 'solid)
(send tdc draw-ellipse 5 5 100 100)
(make-object image-snip% target2)

(dc (λ (dc dx dy)
      (define old-brush (send dc get-brush))
      (define old-pen (send dc get-pen))
      (send dc set-pen "black" 1 'solid)
      (send dc set-brush "orange" 'solid)
      (send dc draw-ellipse 5 5 100 100)
      (send dc set-brush old-brush)
      (send dc set-pen old-pen))
    300 300)

```
