How does ScreenSteps handle image resolution between the editors, web interface, and PDF output?
This article will attempt to explain how image data is stored and displayed in the ScreenSteps web interface, desktop editor, and PDF output.
In this article you will see the term pixel scale used to define the ratio of pixels in the horizontal or vertical plane of an image that a monitor uses to display 1 pixel. If you want to understand why images in the ScreenSteps system look the way they do in the desktop editor, the web interface, and in PDF then it helps to have a basic understanding of how monitors display image data.
A normal resolution monitor has a 1:1 pixel scale. The monitor displays one pixel from the image as one pixel on the screen. For an image that is 200 pixels wide by 200 pixels high to be displayed at 100% it would be displayed as a 200x200 image on the monitor.
A high resolution monitor such as an Apple computer with a retina display has a pixel scale of 2:1. For every pixel on the screen two horizontal pixels and two vertical pixels are used from the image data being displayed. This results in 4 pixels from the image being used to display 1 pixel on the screen. For an image that is 400 pixels wide by 400 pixels high to be displayed at 100% it would be displayed as a 200x200 image on the monitor. The end result of displaying more image data in a smaller area is a sharper looking image.
Windows computers will have varying pixels scales such as 1:, 1.25:1, 1.5:1, 2:1, etc.
The Web Editor
When you add an image to the web editor the image is imported using a 1:1 pixel scale. A 200x200 image will be displayed as a 200x200 image in your article. The web editor does not attempt to determine the pixel scale that the image is intended to be displayed at.
The Desktop Editor
Capturing or Adding Images
The desktop editor is aware of the pixel scale of the monitor attached to your computer and uses this information when you capture a new image. When you capture an image ScreenSteps stores all of the available image data in the source files for the article. If you capture a 150x150 area of a monitor that has a 2:1 pixel scale then ScreenSteps stores a 300x300 image and flags the image as having a 2:1 pixel scale. When the image is displayed to you in the desktop editor it only takes up 150x150 pixels and looks really sharp because there is so much image data crammed into a smaller space.
When you add existing images to ScreenSteps it attempts to determine the pixel scale for the image by looking at image density information stored in the image file. That, along with the operating system you are running ScreenSteps on, helps ScreenSteps make an educated guess about the dimensions to display the image at.
Note that if you capture images on a computer with a high resolution monitor running OS X, transfer the image to Windows, and then import it into ScreenSteps then ScreenSteps will not store the correct pixel scale for the image. The same is true going from Windows to OS X. OS X uses 72 as the default pixels per inch. Windows uses 96 pixels per inch. An image capture on OS X will specify that the image uses 144 pixels per inch which ends up being a pixel scale of 2:1 (144/72). On Windows that same image has a pixel scale of 1.5:1 (144/96). If you are importing screenshots into ScreenSteps it is best to import them on the system they were captured or otherwise modified on.
When you save the changes you've made to an article to the ScreenSteps server two different types of images are uploaded - source and display. Source images are the images that the desktop editor will use the next time somebody edits the article. Display images are displayed to people who view the article on the web or view a PDF version of the article. Display images are a flattened version of the image from the editor. The image and annotations are combined into a single image for display.
When ScreenSteps uploads a source image the original image is uploaded. An image with a 2:1 pixel scale will maintain the 2:1 pixel scale.
When ScreenSteps uploads a display image the image and annotations are flattened into an image with a 1:1 pixel scale.
ScreenSteps websites display the flattened image used for display which has a 1:1 pixel scale.
PDF files are generated using the same flattened images used for the websites. These images have a 1:1 pixel scale.
Why do images look blurry in the web browser or in PDF?
Images viewed in the web browser may appear blurry if your monitor has a pixel scale that is greater than 1:1. If your monitor has a pixel scale of 2:1 and you are viewing an image with a pixel scale of 1:1 then the monitor doesn't have enough visual data to display a crisp image. For an image displayed at 100x100 pixels the monitor needs 200x200 pixels of image data to display a sharp image. The image only has 100x100 pixels of image data to give, however.
Viewing a PDF is somewhat similar but a little more complicated. PDF viewers typically have settings that affect what size images are displayed at. For example, in Adobe Acrobat there is a Resolution preference that can be changed. This affects the dimensions that an image will have when viewed at "100%". In addition, as you zoom in or out of the PDF document the size of the image will change and it can appear even more blurry.