{"id":246,"date":"2009-02-09T12:10:05","date_gmt":"2009-02-09T17:10:05","guid":{"rendered":"http:\/\/vgable.com\/blog\/2009\/02\/09\/resolution-independent-screenshots\/"},"modified":"2009-02-09T12:10:07","modified_gmt":"2009-02-09T17:10:07","slug":"resolution-independent-screenshots","status":"publish","type":"post","link":"https:\/\/vgable.com\/blog\/2009\/02\/09\/resolution-independent-screenshots\/","title":{"rendered":"Resolution Independent Screenshots"},"content":{"rendered":"<p>Leopard includes technology that generates (mostly) <a href=\"http:\/\/vgable.com\/blog\/2008\/03\/31\/resolution-independence\/\">resolution independent<\/a> screenshots.  That means when you enlarge the pictures, they won&#8217;t get pixelated, and more importantly, <strong>they will stay sharp when printed<\/strong>.<\/p>\n<p>I don&#8217;t know if you&#8217;ve ever seen a printout of text mixed with a screenshot of text, but <em>it looks like ass<\/em>.  That&#8217;s because even a very cheap printer is much higher resolution then your screen.  It prints text very sharply.  But when it prints the screen shot, it reproduces the low resolution display in high-fedelity &#8212; which actually makes it look worse.  Plus, computers use tricks (eg <a href=\"http:\/\/alienryderflex.com\/sub_pixel\/\">sub pixel antialiasing<\/a>) to make text look sharper on LCD screens &#8212; but those tricks can backfire on other media.  A screenshot grabs exactly the pixels shown on the screen.  And those pixels are optimized to be shown on a screen, not paper.<\/p>\n<h3>Example<\/h3>\n<p><a href=\"http:\/\/vgable.com\/blog\/wp-content\/uploads\/2009\/02\/preview.pdf\" title=\"Preview.pdf\">Here&#8217;s an example screenshot (PDF)<\/a>.  It looks like this:<br \/>\n<a href=\"http:\/\/vgable.com\/blog\/wp-content\/uploads\/2009\/02\/preview.pdf\" title=\"Preview.pdf\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vgable.com\/blog\/wp-content\/uploads\/2009\/02\/preview.png\" alt=\"Preview.png\" border=\"0\" width=\"562\" height=\"155\" align=\"center\" \/><\/a><\/p>\n<p>If you open <a href=\"http:\/\/vgable.com\/blog\/wp-content\/uploads\/2009\/02\/preview.pdf\" title=\"Preview.pdf\">it<\/a>, and zoom in, you will see that the text stays sharp, while some (but not all) of the interface gets pixelated.<\/p>\n<div style=\"text-align:left;\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vgable.com\/blog\/wp-content\/uploads\/2009\/02\/previewblownup.png\" alt=\"PreviewBlownUp.png\" border=\"0\" width=\"567\" height=\"254\" \/><\/div>\n<h3>How it Was Made<\/h3>\n<p>When Automator.app <a href=\"file:\/\/localhost\/Applications\/Automator.app\/\">(click to open)<\/a> saves a workflow, it puts a (mostly) resolution-independent screenshot of the workflow&#8217;s UI inside it.  The screenshot is at <code>SomeWorkflow.workflow\/Contents\/QuickLook\/Preview.pdf<\/code>.  (In Finder, right-click a <code>.workflow<\/code> file, and choose &#8220;Show Package Contents&#8221; to look inside it).<\/p>\n<p>If you print a workflow to a PDF file, it has the same limited resolution-independence.  So I suspect Automator.app generates this PDF in much the same way files are printed.  I have not investigated why the gray border is vectorized as well as the text.  If anyone has an insight there, I&#8217;d love to hear it.<\/p>\n<p>In <a href=\"http:\/\/vgable.com\/blog\/2008\/11\/24\/i-for-one-welcome-our-vector-overlords\/\">the future<\/a>, I expect text, and most UI elements, to be represented as vectors at every level of the OS.  Screenshots will capture those vector-elements, as as they capture pixel-elements (pixels) today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Leopard includes technology that generates (mostly) resolution independent screenshots. That means when you enlarge the pictures, they won&#8217;t get pixelated, and more importantly, they will stay sharp when printed. I don&#8217;t know if you&#8217;ve ever seen a printout of text mixed with a screenshot of text, but it looks like ass. That&#8217;s because even a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,3,4],"tags":[117,87,279,225,226],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-announcement","category-macosx","category-programming","tag-futurism","tag-leopard","tag-mac-os-x","tag-pixels","tag-vectors"],"_links":{"self":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":0,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/posts\/246\/revisions"}],"wp:attachment":[{"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/media?parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/categories?post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vgable.com\/blog\/wp-json\/wp\/v2\/tags?post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}