# Saving a frame to be printed in large format

**URL:** <https://discourse.processing.org/t/saving-a-frame-to-be-printed-in-large-format/16120>\
**Category:** Project Guidance\
**Created:** [December 4, 2019, 4:22pm UTC](https://discourse.processing.org/t/saving-a-frame-to-be-printed-in-large-format/16120 "2019-12-04T16:22:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bp396](https://avatars.discourse-cdn.com/v4/letter/b/35a633/32.png) [@bp396](https://discourse.processing.org/u/bp396)\
**Post date:** [December 4, 2019, 4:22pm UTC](https://discourse.processing.org/t/saving-a-frame-to-be-printed-in-large-format/16120/1 "2019-12-04T16:22:09Z")

</div>

I am running a sketch that involves interaction so that I need to be able to see the entire sketch while it is running. I would like to run the sketch at a large size so that I have a high resolution output for the frames that I capture to print. However, my view is limited to the size of my monitor unless I create a PDF or write off the screen, in which case I am unable to view and interact with the sketch while it is running. Is there a way to make the size of the canvas very large and also to be able to see and interact with the sketch while it runs and save it to a format that will allow for a high resolution print? Thanks for you help on this.

---

<div class="post-metadata">

**Author:** ![noel](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/noel/32/213_2.png) [@noel](https://discourse.processing.org/u/noel)\
**Post date:** [December 4, 2019, 6:35pm UTC](https://discourse.processing.org/t/saving-a-frame-to-be-printed-in-large-format/16120/2 "2019-12-04T18:35:48Z")

</div>

Hi bp396.  
As far as I know PGraphics can’t be resized.  
And when you get() it within a PImage (that can be resized), all drawing outside of the screen will not be included.  
The only way I can think of is drawing all within a PGraphics, (that can be saved afterwards without losing any drawing), and at the same time you scale down everything drawing on the screen multiplying with a factor.

---

<div class="post-metadata">

**Author:** ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)\
**Post date:** [December 7, 2019, 5:13am UTC](https://discourse.processing.org/t/saving-a-frame-to-be-printed-in-large-format/16120/3 "2019-12-07T05:13:48Z")

</div>

It depends on your content, and how it is defined by interaction. Some approaches:

1. create one buffer: PGraphics `big`. Each event, draw on `big`, then update the display copy: `PImage screen = big.get(); screen.resize(); image(screen,0,0);`. This is simple, but the resizing is costly / slow, especially if you are doing it a lot.
2. create one buffer: PGraphics `big`. Each event, draw on `big`, then draw to the screen/canvas using a five-argument `image()` call that resizes on the fly. This is even simpler than 1, but even slower as it resizes every frame.
3. create two buffers: PGrapics `screen` and PGraphics `big`. Each event, draw on both (one could simply be the canvas).
4. create one buffer: `screen` (or just draw straight onto the canvas). Each event, save your events as vector data in a list, then render then onto the screen at screen-scale. When done, use this same vector data to render your print size image for export. This is the fastest, but requires the most code and depends a lot on your design.

For any approach, each frame, display `screen`. At the end, save `big`.
