CINXE.COM

December 2018 – paint.net blog

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="https://blog.getpaint.net/xmlrpc.php"> <title>December 2018 &#8211; paint.net blog</title> <meta name='robots' content='max-image-preview:large' /> <!-- Async WordPress.com Remote Login --> <script id="wpcom_remote_login_js"> var wpcom_remote_login_extra_auth = ''; function wpcom_remote_login_remove_dom_node_id( element_id ) { var dom_node = document.getElementById( element_id ); if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); } } function wpcom_remote_login_remove_dom_node_classes( class_name ) { var dom_nodes = document.querySelectorAll( '.' + class_name ); for ( var i = 0; i < dom_nodes.length; i++ ) { dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] ); } } function wpcom_remote_login_final_cleanup() { wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" ); wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" ); wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" ); wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" ); wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" ); } // Watch for messages back from the remote login window.addEventListener( "message", function( e ) { if ( e.origin === "https://r-login.wordpress.com" ) { var data = {}; try { data = JSON.parse( e.data ); } catch( e ) { wpcom_remote_login_final_cleanup(); return; } if ( data.msg === 'LOGIN' ) { // Clean up the login check iframe wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); var id_regex = new RegExp( /^[0-9]+$/ ); var token_regex = new RegExp( /^.*|.*|.*$/ ); if ( token_regex.test( data.token ) && id_regex.test( data.wpcomid ) ) { // We have everything we need to ask for a login var script = document.createElement( "script" ); script.setAttribute( "id", "wpcom_remote_login_validate" ); script.src = '/remote-login.php?wpcom_remote_login=validate' + '&wpcomid=' + data.wpcomid + '&token=' + encodeURIComponent( data.token ) + '&host=' + window.location.protocol + '//' + window.location.hostname + '&postid=828' + '&is_singular='; document.body.appendChild( script ); } return; } // Safari ITP, not logged in, so redirect if ( data.msg === 'LOGIN-REDIRECT' ) { window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href; return; } // Safari ITP, storage access failed, remove the request if ( data.msg === 'LOGIN-REMOVE' ) { var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }'; var style_zap = document.createElement( 'style' ); style_zap.type = 'text/css'; style_zap.appendChild( document.createTextNode( css_zap ) ); document.body.appendChild( style_zap ); var e = document.getElementById( 'wpcom_request_access_iframe' ); e.parentNode.removeChild( e ); document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000'; return; } // Safari ITP if ( data.msg === 'REQUEST_ACCESS' ) { console.log( 'request access: safari' ); // Check ITP iframe enable/disable knob if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) { return; } // If we are in a "private window" there is no ITP. var private_window = false; try { var opendb = window.openDatabase( null, null, null, null ); } catch( e ) { private_window = true; } if ( private_window ) { console.log( 'private window' ); return; } var iframe = document.createElement( 'iframe' ); iframe.id = 'wpcom_request_access_iframe'; iframe.setAttribute( 'scrolling', 'no' ); iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' ); iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid ); var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } '; var style = document.createElement( 'style' ); style.type = 'text/css'; style.id = 'wpcom_request_access_styles'; style.appendChild( document.createTextNode( css ) ); document.body.appendChild( style ); document.body.appendChild( iframe ); } if ( data.msg === 'DONE' ) { wpcom_remote_login_final_cleanup(); } } }, false ); // Inject the remote login iframe after the page has had a chance to load // more critical resources window.addEventListener( "DOMContentLoaded", function( e ) { var iframe = document.createElement( "iframe" ); iframe.style.display = "none"; iframe.setAttribute( "scrolling", "no" ); iframe.setAttribute( "id", "wpcom_remote_login_key" ); iframe.src = "https://r-login.wordpress.com/remote-login.php" + "?wpcom_remote_login=key" + "&origin=aHR0cHM6Ly9ibG9nLmdldHBhaW50Lm5ldA%3D%3D" + "&wpcomid=12948295" + "&time=1734109792"; document.body.appendChild( iframe ); }, false ); </script> <link rel='dns-prefetch' href='//s1.wp.com' /> <link rel='dns-prefetch' href='//s2.wp.com' /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//fonts-api.wp.com' /> <link rel='dns-prefetch' href='//af.pubmine.com' /> <link rel='dns-prefetch' href='//s.pubmine.com' /> <link rel='dns-prefetch' href='//x.bidswitch.net' /> <link rel='dns-prefetch' href='//static.criteo.net' /> <link rel='dns-prefetch' href='//ib.adnxs.com' /> <link rel='dns-prefetch' href='//aax.amazon-adsystem.com' /> <link rel='dns-prefetch' href='//bidder.criteo.com' /> <link rel='dns-prefetch' href='//cas.criteo.com' /> <link rel='dns-prefetch' href='//gum.criteo.com' /> <link rel='dns-prefetch' href='//ads.pubmatic.com' /> <link rel='dns-prefetch' href='//gads.pubmatic.com' /> <link rel='dns-prefetch' href='//tpc.googlesyndication.com' /> <link rel='dns-prefetch' href='//ad.doubleclick.net' /> <link rel='dns-prefetch' href='//googleads.g.doubleclick.net' /> <link rel='dns-prefetch' href='//www.googletagservices.com' /> <link rel='dns-prefetch' href='//cdn.switchadhub.com' /> <link rel='dns-prefetch' href='//delivery.g.switchadhub.com' /> <link rel='dns-prefetch' href='//delivery.swid.switchadhub.com' /> <link rel='dns-prefetch' href='//a.teads.tv' /> <link rel='dns-prefetch' href='//prebid.media.net' /> <link rel='dns-prefetch' href='//adserver-us.adtech.advertising.com' /> <link rel='dns-prefetch' href='//fastlane.rubiconproject.com' /> <link rel='dns-prefetch' href='//prebid-server.rubiconproject.com' /> <link rel='dns-prefetch' href='//hb-api.omnitagjs.com' /> <link rel='dns-prefetch' href='//mtrx.go.sonobi.com' /> <link rel='dns-prefetch' href='//apex.go.sonobi.com' /> <link rel='dns-prefetch' href='//u.openx.net' /> <link rel="alternate" type="application/rss+xml" title="paint.net blog &raquo; Feed" href="https://blog.getpaint.net/feed/" /> <link rel="alternate" type="application/rss+xml" title="paint.net blog &raquo; Comments Feed" href="https://blog.getpaint.net/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldonload(); func(); } } } /* ]]> */ </script> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s0.wp.com\/wp-content\/mu-plugins\/wpcom-smileys\/twemoji\/2\/72x72\/","ext":".png","svgUrl":"https:\/\/s0.wp.com\/wp-content\/mu-plugins\/wpcom-smileys\/twemoji\/2\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/s2.wp.com\/wp-includes\/js\/wp-emoji-release.min.js?m=1719498190i&ver=6.8-alpha-59438"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link crossorigin='anonymous' rel='stylesheet' id='all-css-0-1' href='https://s0.wp.com/_static/??/wp-content/blog-plugins/wordads/global.css,/wp-content/mu-plugins/widgets/eu-cookie-law/templates/style.css?m=1642463000j&cssminify=yes' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='https://s0.wp.com/_static/??-eJydzEEOAiEMheELCXUGE3VhPAswpOmIQNqi4faObty5cPny8v3wbCbWoqkotNyRigD2bYbEuD2c4DGd7cnuIXTKC4Rc481kCux5gOjIyUaRHfwMfZTAmrT5N/ejdjXItPybYK9UUL78er9MR+fcfHCzW185xE/S&cssminify=yes' type='text/css' media='all' /> <style id='wp-block-library-inline-css'> .has-text-align-justify { text-align:justify; } .has-text-align-justify{text-align:justify;} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-4-1' href='https://s2.wp.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpoZmFkYGRuZGmQBAHPvL0Y=&cssminify=yes' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-6-1' href='https://s2.wp.com/wp-content/plugins/coblocks/2.18.1-simple-rev.4/dist/coblocks-style.css?m=1681832297i&cssminify=yes' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-8-1' href='https://s1.wp.com/_static/??/wp-content/mu-plugins/core-compat/wp-mediaelement.css,/wp-content/mu-plugins/wpcom-bbpress-premium-themes.css?m=1432920480j&cssminify=yes' type='text/css' media='all' /> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} </style> <link rel='stylesheet' id='sela-fonts-css' href='https://fonts-api.wp.com/css?family=Source+Sans+Pro%3A300%2C300italic%2C400%2C400italic%2C600%7CDroid+Serif%3A400%2C400italic%7COswald%3A300%2C400&#038;subset=latin%2Clatin-ext' media='all' /> <link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='https://s1.wp.com/_static/??-eJyFjssOAiEMRX9IbND4Whg/xTBNRUYohEIm/r2McYHR6O7e5JzbwpQURi7EBUJVyVfrWGCkkgzeXh2kMpwdI1hiyq4J8j0uUWQB3Wa5UiCBVAcQ8gak3D39peZTT1JNCWP44LtPMw0+2hYtNKqrvyRLUfmIprjIb0VdvHF5Vk/hqLf7jdar9WE3PgDfam4x&cssminify=yes' type='text/css' media='all' /> <style id='sela-style-inline-css'> .site-branding { background-image: url(https://blog.getpaint.net/wp-content/uploads/2019/02/blog-header-2019-1.png); } </style> <link crossorigin='anonymous' rel='stylesheet' id='print-css-13-1' href='https://s1.wp.com/wp-content/mu-plugins/global-print/global-print.css?m=1465851035i&cssminify=yes' type='text/css' media='print' /> <style id='jetpack-global-styles-frontend-style-inline-css'> :root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;} </style> <link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='https://s2.wp.com/wp-content/themes/h4/global.css?m=1420737423i&cssminify=yes' type='text/css' media='all' /> <script type="text/javascript" id="wpcom-actionbar-placeholder-js-extra"> /* <![CDATA[ */ var actionbardata = {"siteID":"12948295","postID":"0","siteURL":"https:\/\/blog.getpaint.net","xhrURL":"https:\/\/blog.getpaint.net\/wp-admin\/admin-ajax.php","nonce":"c06965f6dc","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https:\/\/s0.wp.com\/wp-content\/js\/wpcom-proxy-request.js?ver=20211021","i18n":{"followedText":"New posts from this site will now appear in your <a href=\"https:\/\/wordpress.com\/read\">Reader<\/a>","foldBar":"Collapse this bar","unfoldBar":"Expand this bar"}}; /* ]]> */ </script> <script type="text/javascript" id="jetpack-mu-wpcom-settings-js-before"> /* <![CDATA[ */ var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https:\/\/s1.wp.com\/wp-content\/mu-plugins\/jetpack-mu-wpcom-plugin\/sun\/vendor\/automattic\/jetpack-mu-wpcom\/src\/build\/"}; /* ]]> */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s1.wp.com/_static/??-eJyFjcsOwiAQRX/I6dSa+lgYvwWBEAgMOAPW/n3bqIk7V2dxT87FqYDOVC1VDIIcKxTOr7kLssN186RjM1a2MTya5fmDLnn6K0HyjlW1v/L37R6zgxKb8yQ4ZTbKCOioRN4hnQo+hw1AmcCZwmvilq7709CPh/54voQFmNpFWg=='></script> <script type="text/javascript" id="rlt-proxy-js-after"> /* <![CDATA[ */ rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} ); /* ]]> */ </script> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://rickbrewster.wordpress.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress.com" /> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="website" /> <meta property="og:title" content="December 2018 &#8211; paint.net blog" /> <meta property="og:site_name" content="paint.net blog" /> <meta property="og:image" content="https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=200" /> <meta property="og:image:width" content="200" /> <meta property="og:image:height" content="200" /> <meta property="og:image:alt" content="" /> <meta property="og:locale" content="en_US" /> <!-- End Jetpack Open Graph Tags --> <link rel='openid.server' href='https://blog.getpaint.net/?openidserver=1' /> <link rel='openid.delegate' href='https://blog.getpaint.net/' /> <link rel="search" type="application/opensearchdescription+xml" href="https://blog.getpaint.net/osd.xml" title="paint.net blog" /> <link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" /> <meta name="theme-color" content="#f0f0f0" /> <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style> <style type="text/css"> .recentcomments a { display: inline !important; padding: 0 !important; margin: 0 !important; } table.recentcommentsavatartop img.avatar, table.recentcommentsavatarend img.avatar { border: 0px; margin: 0; } table.recentcommentsavatartop a, table.recentcommentsavatarend a { border: 0px !important; background-color: transparent !important; } td.recentcommentsavatarend, td.recentcommentsavatartop { padding: 0px 0px 1px 0px; margin: 0px; } td.recentcommentstextend { border: none !important; padding: 0px 0px 2px 10px; } .rtl td.recentcommentstextend { padding: 0px 10px 2px 0px; } td.recentcommentstexttop { border: none; padding: 0px 0px 0px 10px; } .rtl td.recentcommentstexttop { padding: 0px 10px 0px 0px; } </style> <meta name="application-name" content="paint.net blog" /><meta name="msapplication-window" content="width=device-width;height=device-height" /><meta name="description" content="2 posts published by Rick Brewster during December 2018" /> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #f0f0f0; } </style> <script type="text/javascript"> /* <![CDATA[ */ var wa_smart = { 'network_id': 3905, 'site_id': 474853, 'page_id': 1572546, 'blog_id': 12948295, 'post_id': null, 'theme': 'pub/sela', 'target': 'wp_blog_id=12948295;language=en', '_': { 'title': 'Advertisement', 'privacy_settings': 'Privacy Settings' }, 'top': { 'enabled': false, 'adflow_enabled': true, 'format_id': 135099 }, 'inline': { 'enabled': false, 'adflow_enabled': true, 'format_id': 110354, 'max_slots': 20, 'max_blaze_slots': 20 }, 'belowpost': { 'enabled': false, 'adflow_enabled': true, 'format_id': 134071 }, 'bottom_sticky': { 'enabled': false, 'adflow_enabled': true, 'format_id': 117571 }, 'sidebar': { 'enabled': false, 'adflow_enabled': true, 'format_id': 134686 }, 'sidebar_sticky_right': { 'enabled': false, 'adflow_enabled': true, 'format_id': 135281 }, 'gutenberg_rectangle': { 'enabled': false, 'adflow_enabled': true, 'format_id': 134788 }, 'gutenberg_leaderboard': { 'enabled': false, 'adflow_enabled': true, 'format_id': 135073 }, 'gutenberg_mobile_leaderboard': { 'enabled': false, 'adflow_enabled': true, 'format_id': 135098 }, 'gutenberg_skyscraper': { 'enabled': false, 'adflow_enabled': true, 'format_id': 135088 }, 'sidebar_widget_mediumrectangle': { 'enabled': false, 'adflow_enabled': true, 'format_id': 137624 }, 'sidebar_widget_leaderboard': { 'enabled': false, 'adflow_enabled': true, 'format_id': 137625 }, 'sidebar_widget_wideskyscraper': { 'enabled': false, 'adflow_enabled': true, 'format_id': 137626 } }; wa_smart.cmd = []; /* ]]> */ </script> <script type="text/javascript"> function __ATA_CC() {var v = document.cookie.match('(^|;) ?personalized-ads-consent=([^;]*)(;|$)');return v ? 1 : 0;} var __ATA_PP = { 'pt': 3, 'ht': 0, 'tn': 'sela', 'uloggedin': 0, 'amp': false, 'consent': __ATA_CC(), 'gdpr_applies': false, 'ad': { 'label': { 'text': 'Advertisements' }, 'reportAd': { 'text': 'Report this ad' } }, 'disabled_slot_formats': [], 'siteid': 8982, 'blogid': 12948295 }; var __ATA = __ATA || {}; __ATA.cmd = __ATA.cmd || []; __ATA.criteo = __ATA.criteo || {}; __ATA.criteo.cmd = __ATA.criteo.cmd || []; </script> <script type="text/javascript"> (function(){var g=Date.now||function(){return+new Date};function h(a,b){a:{for(var c=a.length,d="string"==typeof a?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:"string"==typeof a?a.charAt(b):a[b]};function k(a,b,c){c=null!=c?"="+encodeURIComponent(String(c)):"";if(b+=c){c=a.indexOf("#");0>c&&(c=a.length);var d=a.indexOf("?");if(0>d||d>c){d=c;var e=""}else e=a.substring(d+1,c);a=[a.substr(0,d),e,a.substr(c)];c=a[1];a[1]=b?c?c+"&"+b:b:c;a=a[0]+(a[1]?"?"+a[1]:"")+a[2]}return a};var l=0;function m(a,b){var c=document.createElement("script");c.src=a;c.onload=function(){b&&b(void 0)};c.onerror=function(){b&&b("error")};a=document.getElementsByTagName("head");var d;a&&0!==a.length?d=a[0]:d=document.documentElement;d.appendChild(c)}function n(a){var b=void 0===b?document.cookie:b;return(b=h(b.split("; "),function(c){return-1!=c.indexOf(a+"=")}))?b.split("=")[1]:""}function p(a){return"string"==typeof a&&0<a.length} function r(a,b,c){b=void 0===b?"":b;c=void 0===c?".":c;var d=[];Object.keys(a).forEach(function(e){var f=a[e],q=typeof f;"object"==q&&null!=f||"function"==q?d.push(r(f,b+e+c)):null!==f&&void 0!==f&&(e=encodeURIComponent(b+e),d.push(e+"="+encodeURIComponent(f)))});return d.filter(p).join("&")}function t(a,b){a||((window.__ATA||{}).config=b.c,m(b.url))}var u=Math.floor(1E13*Math.random()),v=window.__ATA||{};window.__ATA=v;window.__ATA.cmd=v.cmd||[];v.rid=u;v.createdAt=g();var w=window.__ATA||{},x="s.pubmine.com"; w&&w.serverDomain&&(x=w.serverDomain);var y="//"+x+"/conf",z=window.top===window,A=window.__ATA_PP&&window.__ATA_PP.gdpr_applies,B="boolean"===typeof A?Number(A):null,C=window.__ATA_PP||null,D=z?document.referrer?document.referrer:null:null,E=z?window.location.href:document.referrer?document.referrer:null,F,G=n("__ATA_tuuid");F=G?G:null;var H=window.innerWidth+"x"+window.innerHeight,I=n("usprivacy"),J=r({gdpr:B,pp:C,rid:u,src:D,ref:E,tuuid:F,vp:H,us_privacy:I?I:null},"","."); (function(a){var b=void 0===b?"cb":b;l++;var c="callback__"+g().toString(36)+"_"+l.toString(36);a=k(a,b,c);window[c]=function(d){t(void 0,d)};m(a,function(d){d&&t(d)})})(y+"?"+J);}).call(this); </script> <script> var sas_fallback = sas_fallback || []; sas_fallback.push( { tag: "&lt;div id=&quot;atatags-26942-{{unique_id}}&quot;&gt;&lt;/div&gt;&lt;script&gt;__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 120,formFactor: \'001\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});&lt;/script&gt;", type: 'belowpost' }, { tag: "&lt;div id=&quot;atatags-26942-{{unique_id}}&quot;&gt;&lt;/div&gt;&lt;script&gt;__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 310,formFactor: \'001\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});&lt;/script&gt;", type: 'inline' }, { tag: "&lt;div id=&quot;atatags-26942-{{unique_id}}&quot;&gt;&lt;/div&gt;&lt;script&gt;__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 140,formFactor: \'003\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});&lt;/script&gt;", type: 'sidebar' }, { tag: "&lt;div id=&quot;atatags-26942-{{unique_id}}&quot;&gt;&lt;/div&gt;&lt;script&gt;__ATA.cmd.push(function() {__ATA.initDynamicSlot({id: \'atatags-26942-{{unique_id}}\',location: 110,formFactor: \'002\',label: {text: \'Advertisements\',},creative: {reportAd: {text: \'Report this ad\',},privacySettings: {text: \'Privacy\',}}});});&lt;/script&gt;", type: 'top' } ); </script> <script type="text/javascript"> window.doNotSellCallback = function() { var linkElements = [ 'a[href="https://wordpress.com/?ref=footer_blog"]', 'a[href="https://wordpress.com/?ref=footer_website"]', 'a[href="https://wordpress.com/?ref=vertical_footer"]', 'a[href^="https://wordpress.com/?ref=footer_segment_"]', ].join(','); var dnsLink = document.createElement( 'a' ); dnsLink.href = 'https://wordpress.com/advertising-program-optout/'; dnsLink.classList.add( 'do-not-sell-link' ); dnsLink.rel = 'nofollow'; dnsLink.style.marginLeft = '0.5em'; dnsLink.textContent = 'Do Not Sell or Share My Personal Information'; var creditLinks = document.querySelectorAll( linkElements ); if ( 0 === creditLinks.length ) { return false; } Array.prototype.forEach.call( creditLinks, function( el ) { el.insertAdjacentElement( 'afterend', dnsLink ); }); return true; }; </script> <style type="text/css" id="custom-colors-css"> .nav-menu > li > a:after { color: rgba(0, 0, 0, 0.3); } .main-navigation a, .social-links ul a:before { color: #FFFFFF;} .menu-toggle, .menu-toggle:hover, .menu-toggle:focus { color: #FFFFFF;} .main-navigation.toggled ul ul, .main-navigation.toggled ul ul a { color: #FFFFFF;} .site-info a { color: #FFFFFF;} .main-navigation li.current_page_ancestor > a, .main-navigation li.current-menu-ancestor > a { color: #FFFFFF;} .main-navigation a:hover, .main-navigation ul > :hover > a, .main-navigation ul > .focus > a { color: #FFFFFF;} .main-navigation li.current_page_item > a, .main-navigation li.current-menu-item > a { color: #FFFFFF;} .main-navigation li.current_page_item > a .sub-menu li a, .main-navigation li.current-menu-item > a .sub-menu li a, .main-navigation ul ul li.current_page_item > a, .main-navigation ul ul li.current-menu-item > a { color: #4F4F4F;} body { background-color: #f0f0f0;} .main-navigation, button { background-color: #267aaa;} .main-navigation .nav-menu > li > a:after, .main-navigation .menu > li > a:after { color: #5CACDA;} a, .entry-title a:hover, .comment-meta a, .jetpack-testimonial .entry-title { color: #2374A3;} .widget_flickr #flickr_badge_uber_wrapper td a:last-child, .widget-area .milestone-countdown .difference { color: #2374A3;} .main-navigation ul ul a:hover, .main-navigation ul ul > li.focus > a { color: #2374A3;} input[type="button"], input[type="reset"], input[type="submit"], #infinite-handle span { background-color: #2374A3;} input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="url"]:focus, textarea:focus { border-color: #2374A3;} .social-links ul a:before, .footer-widget-area button { background-color: #7FBCE0;} .site-info a:hover { color: #7FBCE0;} .footer-widget-area a:hover { color: #21719F;} </style> <link rel="icon" href="https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=32" sizes="32x32" /> <link rel="icon" href="https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=180" /> <meta name="msapplication-TileImage" content="https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=256" /> <script type="text/javascript"> window.google_analytics_uacct = "UA-52447-2"; </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-52447-2']); _gaq.push(['_gat._anonymizeIp']); _gaq.push(['_setDomainName', 'none']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_initData']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga); })(); </script> </head> <body class="archive date custom-background customizer-styles-applied not-multi-author display-header-text jetpack-reblog-enabled"> <div id="page" class="hfeed site"> <header id="masthead" class="site-header" role="banner"> <a class="skip-link screen-reader-text" href="#content" title="Skip to content">Skip to content</a> <div class="site-branding"> <a href="https://blog.getpaint.net/" class="site-logo-link" rel="home" itemprop="url"></a> <h1 class="site-title"><a href="https://blog.getpaint.net/" title="paint.net blog" rel="home">paint.net blog</a></h1> </div><!-- .site-branding --> <nav id="site-navigation" class="main-navigation" role="navigation"> <button class="menu-toggle" aria-controls="menu" aria-expanded="false">Menu</button> <div class="menu"><ul> <li ><a href="https://blog.getpaint.net/">Home</a></li><li class="page_item page-item-336"><a href="https://blog.getpaint.net/about-2/">About</a></li> </ul></div> </nav><!-- #site-navigation --> </header><!-- #masthead --> <div id="content" class="site-content"> <section id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <header class="page-header"> <h1 class="page-title">Month: <span>December 2018</span></h1> </header><!-- .page-header --> <article id="post-828" class="post-828 post type-post status-publish format-standard hentry category-update-news without-featured-image"> <header class="entry-header "> <h1 class="entry-title"><a href=" https://blog.getpaint.net/2018/12/26/whats-next-for-paint-net-in-2019/" rel="bookmark">What&rsquo;s next for Paint.NET in&nbsp;2019?</a></h1> </header><!-- .entry-header --> <div class="entry-body"> <div class="entry-meta"> <span class="date"><a href="https://blog.getpaint.net/2018/12/26/whats-next-for-paint-net-in-2019/" title="Permalink to What&rsquo;s next for Paint.NET in&nbsp;2019?" rel="bookmark"><time class="entry-date published" datetime="2018-12-26T14:56:08-08:00">2018-12-26</time><time class="updated" datetime="2018-12-26T15:44:32-08:00">2018-12-26</time></a></span><span class="comments-link"><a href="https://blog.getpaint.net/2018/12/26/whats-next-for-paint-net-in-2019/#comments">42 Comments</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>It&#8217;s been a little over 9 months since I left Facebook, and since then I&#8217;ve been hard at work on Paint.NET. (There were two primary reasons for me leaving Facebook: 1) it was way too exhausting, which is also part of the reason I haven&#8217;t been blogging much for several years, and 2) I really just wanted to focus on Paint.NET for awhile.)</p> <p><strong><u>2018</u></strong></p> <p>Looking back on 2018, a lot was accomplished! In the 4.0.20 update back in January I shipped a <a href="https://blog.getpaint.net/2017/12/11/coming-in-4-0-20-dark-theme/" data-mce-href="https://blog.getpaint.net/2017/12/11/coming-in-4-0-20-dark-theme/">dark theme</a>, which I originally didn&#8217;t see the point of but now I can&#8217;t imagine the app without it. After that there was mostly radio silence until <a href="https://blog.getpaint.net/2018/09/05/paint-net-4-1-is-now-available/" data-mce-href="https://blog.getpaint.net/2018/09/05/paint-net-4-1-is-now-available/">I released 4.1</a> in September. That update had quite a lot of infrastructure changes in it, both in the low-level bowels of my COM interop system (long story…), and in the addition of GPU-powered effects (which was powered using Direct2D, which was dependent on the aforementioned COM stuff). Since then, the 4.1.1 through 4.1.5 updates have focused on fixing a bunch of bugs that have popped up (which has been frustrating), and improving performance (notably for <a href="https://blog.getpaint.net/2018/11/04/paint-net-4-1-4-is-now-available/" data-mce-href="https://blog.getpaint.net/2018/11/04/paint-net-4-1-4-is-now-available/">effect loading at startup</a>, and <a href="https://blog.getpaint.net/2018/12/04/paint-net-4-1-5-is-now-available/" data-mce-href="https://blog.getpaint.net/2018/12/04/paint-net-4-1-5-is-now-available/">canvas rendering when zoomed out</a>).</p> <p><strong><u>2019</u></strong></p> <p>What&#8217;s <em>next </em>though? Well, I&#8217;ll start by quoting a recent <a href="https://www.hostingadvice.com/blog/paint-net-delivers-free-photo-editing-software/" data-mce-href="https://www.hostingadvice.com/blog/paint-net-delivers-free-photo-editing-software/">article over at HostingAdvice</a> that I did a small interview for:</p> <blockquote><p>After 10 years of working at Microsoft and several years at Facebook, Rick decided to focus exclusively on Paint.NET this year. “That means I’ve gone from having 20% of my time available to about 80%,” he said.</p> <p>“I’m going to be spending a lot of time preparing infrastructure for the next big wave of features going into Paint.NET.”</p> <p>To that end, Rick hopes to enhance the user interface with more attractive icons, allow users to install custom brushes, and introduce pen and pressure sensitivity for tablets.</p></blockquote> <p>With that, let&#8217;s start talking directly about what I&#8217;m planning and hoping to release in 2019:</p> <p><strong><u>App Icons and High-DPI</u></strong></p> <p>Paint.NET&#8217;s UI is quite functional for high DPI systems without any of the layout problems or truncated text elements that have plagued Windows apps since, well, forever. However, that&#8217;s no longer good enough in 2019. For starters, the app icons are all authored for 96 DPI (aka &#8220;100% scaling&#8221;), and look blurry at higher DPI settings. Upgrading all of that is a project I&#8217;ve just started working on, and is what the aforementioned article refers to as &#8220;more attractive icons.&#8221;</p> <p>Beyond that, newer versions of Windows support dynamic scaling (changing the scaling without logging out and then in again), and per-monitor DPI. Right now if you change the system DPI while Paint.NET is open, it won&#8217;t look very good. Similarly if you move the app over to a monitor with a different DPI setting. This also affects use of Remote Desktop where the remote system&#8217;s DPI is different, and use of laptop docking stations when the external monitor&#8217;s DPI is different. These all make using Paint.NET in modern scenarios rather clumsy and frustrating. For instance: when I use my laptop with a 4K screen to remote into my desktop with a 2K screen, it sucks that I have to restart Paint.NET so it doesn&#8217;t look blurry.</p> <p>Windows gets a bad rep for having bad high-DPI scaling, and part of the responsibility for fixing that reputation lies with application developers like me. Refreshing the app icons is the next thing I&#8217;ll be working on, and then I&#8217;ll upgrade the infrastructure for dynamic DPI (probably over the course of several updates). Thankfully these projects seem to be the “final frontier” for High DPI: once they’re done we can finally bury the hatchet on High DPI bugs.</p> <p><strong><u>.NET Core 3.0</u></strong></p> <p>Richard Lander&#8217;s post earlier in the year about <a href="https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/" data-mce-href="https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/">.NET Core 3.0 shipping with WinForms and WPF </a>really made my day. The more recent <a href="https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUIAreGoingOpenSource.aspx" data-mce-href="https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUIAreGoingOpenSource.aspx">announcement</a> that both WinForms and WPF would be open sourced has fulfilled a long-time dream of mine. I can&#8217;t wait to fork the ToolStrip classes and migrate them off of GDI+ 🙂 (this should be a good performance win)</p> <p>It&#8217;s clear that, in the long-term, Paint.NET <em>needs</em> to migrate over to .NET Core. That&#8217;s where all of the improvements and bug fixes are being made, and it&#8217;s obvious that the .NET Framework is now in maintenance mode. On the engineering side this is mostly a packaging and deployment puzzle of balancing download size amongst several other variables. My initial estimations shows that the download size for Paint.NET could balloon from ~7.5MB (today) to north of 40MB if .NET Core is packaged &#8220;locally&#8221;. That&#8217;s a big sticker shock … but it may just be necessary.</p> <p>And, for those who&#8217;re interested: the move to .NET Core will <em>finally</em> enable a truly portable version of Paint.NET since .NET Core can just be bundled into the local app directory. I&#8217;ve been slowly moving towards &#8220;app local deployment&#8221; of dependencies anyway; e.g. for the v4.1 release I got fed up with the Visual C++ runtime&#8217;s installation issues and moved them to be &#8220;app local&#8221;. The security arguments no longer convince me that it&#8217;s worth the massive hassles for both myself and end-users. The straw that broke the camel&#8217;s back (so to speak) on this was when the Surface Go shipped with an incorrectly signed version of the Visual C++ runtimes which then prevented Paint.NET from loading at all (remember: the Surface Go runs Windows 10 &#8220;S&#8221; by default and can only run Store apps).</p> <p><strong><u>Improved DDS support</u></strong></p> <p>The DDS support in Paint.NET works well, but hasn&#8217;t been updated to the newer DDS formats that have become more popular. Nicholas Hayes, aka &#8220;null54&#8221; on the forum, has written a plugin that provides better DDS support (<a href="https://forums.getpaint.net/topic/111731-dds-filetype-plus-2018-12-01/" data-mce-href="https://forums.getpaint.net/topic/111731-dds-filetype-plus-2018-12-01/">forum link</a>, and <a href="https://github.com/0xC0000054/pdn-ddsfiletype-plus" data-mce-href="https://github.com/0xC0000054/pdn-ddsfiletype-plus">github link</a>). This is a no-brainer for integration into Paint.NET so that everyone can benefit from these improvements (and without having to rename files to have a .dds2 extension, yuck!). Paint.NET is used a lot in the gaming biz, so this should help out a large audience of developers in this arena.</p> <p><strong><u>Brushes and Pressure Sensitivity</u></strong></p> <p>This is the big one. I&#8217;ve been wanting to get to this for years, and it&#8217;s finally time to get it done. The first thing to happen is that Paint.NET needs an improved selection of built-in brush stamps (currently only &#8220;circle&#8221; is implemented). Second, custom brushes need to be supported without the use of a plugin. This will bring brushes up to the same level that Shapes is now at. Third, pen and pressure sensitivity is desperately needed and long overdue. I&#8217;ll be posting more details when this project starts taking shape, and I&#8217;m hoping to start on it this summer.</p> <p>(Keep in mind, however, that pressure sensitivity will require at least Windows 8 or maybe 10: the APIs for this do not exist on Windows 7.)</p> <p><strong><u>Expanded Plugin System(s)</u></strong></p> <p>I really wanted to ship 4.1.2 with GPU support for effect plugins. However, a high-priority security vulnerability forced me to shelve that at the last minute. Now that I&#8217;ve had more time to think about this, I&#8217;d like to revamp the effect plugin system further &#8212; it hasn&#8217;t seen much love in the last decade. Providing access to GPU acceleration and Direct2D is an obvious next step, but I also have an opportunity to clean things up in this area. Effects can&#8217;t easily combine (or compose) with other effects, and this makes it really hard to do arbitrarily complex things with them. It&#8217;s also difficult to add new functionality to the effect system without accidentally breaking other parts of it.</p> <p>In addition, it&#8217;s been way overdue for Paint.NET to support more plugin types beyond effects and file types. Plugins should be able to access more than the current layer, and even be able to implement whole-image transforms, or to create a new image (whether from scratch or based on another image that&#8217;s already open). You can&#8217;t even write a rescaling plugin for Paint.NET right now! I don&#8217;t have concrete plans for specifically what I&#8217;ll be adding here, or when, but it&#8217;s high up on the priority list. And in the long term, I would still like to add support for tool plugins (something of a holy grail).</p> <p><strong><u>Until next time …</u></strong></p> <p>This roadmap for 2019 is ambitious, but I think I should finally have enough time to actually realize most of it. Hopefully I’ll be able to blog more in the coming year now that I’ve got more time and energy for it.</p> <p>Paint.NET is only going to get better as time goes on, and I&#8217;d really like to thank everyone for all of their support in making this transition to full-time self-employment possible for me. Thanks for the donations, thanks for buying <a href="https://www.microsoft.com/en-us/p/paintnet/9nbhcs1lx4r0" data-mce-href="https://www.microsoft.com/en-us/p/paintnet/9nbhcs1lx4r0">the Windows Store app</a>, thanks for the crash reports, thanks for the feature requests, and thanks for all of the fish!</p> <div id="atatags-26942-675c6a60b16f0"></div> <script> __ATA.cmd.push(function() { __ATA.initDynamicSlot({ id: 'atatags-26942-675c6a60b16f0', location: 120, formFactor: '001', label: { text: 'Advertisements', }, creative: { reportAd: { text: 'Report this ad', }, privacySettings: { text: 'Privacy', } } }); }); </script> </div><!-- .entry-content --> </div><!-- .entry-body --> </article><!-- #post-## --> <article id="post-826" class="post-826 post type-post status-publish format-standard hentry category-update-news without-featured-image"> <header class="entry-header "> <h1 class="entry-title"><a href=" https://blog.getpaint.net/2018/12/04/paint-net-4-1-5-is-now-available/" rel="bookmark">paint.net 4.1.5 is now&nbsp;available!</a></h1> </header><!-- .entry-header --> <div class="entry-body"> <div class="entry-meta"> <span class="date"><a href="https://blog.getpaint.net/2018/12/04/paint-net-4-1-5-is-now-available/" title="Permalink to paint.net 4.1.5 is now&nbsp;available!" rel="bookmark"><time class="entry-date published" datetime="2018-12-04T17:10:42-08:00">2018-12-04</time></a></span><span class="comments-link"><a href="https://blog.getpaint.net/2018/12/04/paint-net-4-1-5-is-now-available/#comments">24 Comments</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>This update focuses on improving performance &#8212; sometimes significantly! &#8212; and fixing a handful of really important bugs. Special thanks go out to <a href="https://forums.getpaint.net/profile/70210-bruce-bowyer-smyth/">@Bruce Bowyer-Smyth</a> for his contributions in this release.</p> <p>If you’re using the <a href="https://www.microsoft.com/store/apps/9NBHCS1LX4R0">Windows Store release</a>, you should get the update automatically within the next 24 hours. You can also force an update check by following <a href="https://forums.getpaint.net/topic/113232-paintnet-411-is-now-available/?do=findComment&amp;comment=548939">these instructions</a>.</p> <p>For the Classic release, you should be offered the update automatically within the next week or so. You can get the updater soon by going to <strong>⚙ Settings → Updates → Check Now</strong>. You can also download and install it directly from <a href="https://www.getpaint.net/">the website</a>.</p> <ul> <li><strong>Improved:</strong> Image -&gt; Rotate should now complete almost instantly (thanks <a href="https://forums.getpaint.net/profile/70210-bruce-bowyer-smyth/">@Bruce Bowyer-Smyth</a>!) </li> <li><strong>Improved:</strong> Optimized a portion of the rendering engine for newer CPU instruction sets (SSE2, SSSE3, AVX2). Depending on zoom level, CPU type, and other factors, rendering throughput has been improved by 10-50%. </li> <li><strong>Improved:</strong> Some performance optimizations for code that uses the indexers on the Surface class, which should improve effect plugin performance (thanks <a href="https://forums.getpaint.net/profile/70210-bruce-bowyer-smyth/">@Bruce Bowyer-Smyth</a>!) </li> <li><strong>Fixed:</strong> Shortcut keys for the Adjustments menu weren&#8217;t working until after you opened the menu for the first time </li> <li><strong>Fixed:</strong> Canvas checkerboard, used to indicate transparent regions of the image, now scales with DPI </li> <li><strong>Fixed</strong> some of the more rare cases of the SEHException/AccessViolationException crash caused by Direct2D </li> <li><strong>Fixed:</strong> A bug in IndirectUI was resulting in a crash when using <a href="https://forums.getpaint.net/profile/44727-boltbait/">@BoltBait</a>&#8216;s Level Horizon plugin </li> <li><strong>Fixed:</strong> Per-user fonts no longer cause a crash for the Store version </li> <li><strong>New:</strong> The paintdotnet: protocol now works for the Classic version </li> <li><strong>Fixed:</strong> The paintdotnet: protocol should now work properly with paths that have spaces in them </li> <li><strong>Fixed:</strong> Hardened security for loading Custom Shape plugins via XAML (thanks <a href="https://forums.getpaint.net/profile/70210-bruce-bowyer-smyth/">@Bruce Bowyer-Smyth</a>!)</li> </ul> <p>Enjoy! 🙂</p> <div id="atatags-370373-675c6a60b263e"> <script type="text/javascript"> __ATA.cmd.push(function() { __ATA.initVideoSlot('atatags-370373-675c6a60b263e', { sectionId: '370373', format: 'inread' }); }); </script> </div> </div><!-- .entry-content --> </div><!-- .entry-body --> </article><!-- #post-## --> </main><!-- #main --> </section><!-- #primary --> <div id="secondary" class="widget-area sidebar-widget-area" role="complementary"> <aside id="block-5" class="widget widget_block widget_search"><form role="search" method="get" action="https://blog.getpaint.net/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></aside><aside id="twitter_timeline-3" class="widget widget_twitter_timeline"><h3 class="widget-title">Follow me on Twitter</h3><a class="twitter-timeline" data-width="220" data-height="200" data-theme="light" data-border-color="#f0f0f1" data-lang="EN" data-partner="jetpack" href="https://twitter.com/rickbrewPDN" href="https://twitter.com/rickbrewPDN">My Tweets</a></aside><aside id="block-4" class="widget widget_block widget_archive"><ul class="wp-block-archives-list wp-block-archives"> <li><a href='https://blog.getpaint.net/2024/12/'>December 2024</a></li> <li><a href='https://blog.getpaint.net/2024/11/'>November 2024</a></li> <li><a href='https://blog.getpaint.net/2024/10/'>October 2024</a></li> <li><a href='https://blog.getpaint.net/2024/09/'>September 2024</a></li> <li><a href='https://blog.getpaint.net/2024/08/'>August 2024</a></li> <li><a href='https://blog.getpaint.net/2024/03/'>March 2024</a></li> <li><a href='https://blog.getpaint.net/2023/12/'>December 2023</a></li> <li><a href='https://blog.getpaint.net/2023/10/'>October 2023</a></li> <li><a href='https://blog.getpaint.net/2023/08/'>August 2023</a></li> <li><a href='https://blog.getpaint.net/2023/07/'>July 2023</a></li> <li><a href='https://blog.getpaint.net/2023/06/'>June 2023</a></li> <li><a href='https://blog.getpaint.net/2023/05/'>May 2023</a></li> <li><a href='https://blog.getpaint.net/2023/03/'>March 2023</a></li> <li><a href='https://blog.getpaint.net/2023/02/'>February 2023</a></li> <li><a href='https://blog.getpaint.net/2023/01/'>January 2023</a></li> <li><a href='https://blog.getpaint.net/2022/12/'>December 2022</a></li> <li><a href='https://blog.getpaint.net/2022/11/'>November 2022</a></li> <li><a href='https://blog.getpaint.net/2022/08/'>August 2022</a></li> <li><a href='https://blog.getpaint.net/2022/05/'>May 2022</a></li> <li><a href='https://blog.getpaint.net/2022/03/'>March 2022</a></li> <li><a href='https://blog.getpaint.net/2022/02/'>February 2022</a></li> <li><a href='https://blog.getpaint.net/2022/01/'>January 2022</a></li> <li><a href='https://blog.getpaint.net/2021/12/'>December 2021</a></li> <li><a href='https://blog.getpaint.net/2021/11/'>November 2021</a></li> <li><a href='https://blog.getpaint.net/2021/10/'>October 2021</a></li> <li><a href='https://blog.getpaint.net/2021/09/'>September 2021</a></li> <li><a href='https://blog.getpaint.net/2021/08/'>August 2021</a></li> <li><a href='https://blog.getpaint.net/2021/07/'>July 2021</a></li> <li><a href='https://blog.getpaint.net/2021/04/'>April 2021</a></li> <li><a href='https://blog.getpaint.net/2021/01/'>January 2021</a></li> <li><a href='https://blog.getpaint.net/2020/10/'>October 2020</a></li> <li><a href='https://blog.getpaint.net/2020/09/'>September 2020</a></li> <li><a href='https://blog.getpaint.net/2020/08/'>August 2020</a></li> <li><a href='https://blog.getpaint.net/2020/07/'>July 2020</a></li> <li><a href='https://blog.getpaint.net/2020/05/'>May 2020</a></li> <li><a href='https://blog.getpaint.net/2020/04/'>April 2020</a></li> <li><a href='https://blog.getpaint.net/2020/02/'>February 2020</a></li> <li><a href='https://blog.getpaint.net/2020/01/'>January 2020</a></li> <li><a href='https://blog.getpaint.net/2019/12/'>December 2019</a></li> <li><a href='https://blog.getpaint.net/2019/11/'>November 2019</a></li> <li><a href='https://blog.getpaint.net/2019/10/'>October 2019</a></li> <li><a href='https://blog.getpaint.net/2019/09/'>September 2019</a></li> <li><a href='https://blog.getpaint.net/2019/08/'>August 2019</a></li> <li><a href='https://blog.getpaint.net/2019/07/'>July 2019</a></li> <li><a href='https://blog.getpaint.net/2019/06/'>June 2019</a></li> <li><a href='https://blog.getpaint.net/2019/05/'>May 2019</a></li> <li><a href='https://blog.getpaint.net/2019/03/'>March 2019</a></li> <li><a href='https://blog.getpaint.net/2018/12/' aria-current="page">December 2018</a></li> <li><a href='https://blog.getpaint.net/2018/11/'>November 2018</a></li> <li><a href='https://blog.getpaint.net/2018/10/'>October 2018</a></li> <li><a href='https://blog.getpaint.net/2018/09/'>September 2018</a></li> <li><a href='https://blog.getpaint.net/2018/08/'>August 2018</a></li> <li><a href='https://blog.getpaint.net/2018/04/'>April 2018</a></li> <li><a href='https://blog.getpaint.net/2018/01/'>January 2018</a></li> <li><a href='https://blog.getpaint.net/2017/12/'>December 2017</a></li> <li><a href='https://blog.getpaint.net/2017/10/'>October 2017</a></li> <li><a href='https://blog.getpaint.net/2017/09/'>September 2017</a></li> <li><a href='https://blog.getpaint.net/2017/08/'>August 2017</a></li> <li><a href='https://blog.getpaint.net/2017/07/'>July 2017</a></li> <li><a href='https://blog.getpaint.net/2017/06/'>June 2017</a></li> <li><a href='https://blog.getpaint.net/2017/04/'>April 2017</a></li> <li><a href='https://blog.getpaint.net/2016/12/'>December 2016</a></li> <li><a href='https://blog.getpaint.net/2016/09/'>September 2016</a></li> <li><a href='https://blog.getpaint.net/2016/07/'>July 2016</a></li> <li><a href='https://blog.getpaint.net/2016/06/'>June 2016</a></li> <li><a href='https://blog.getpaint.net/2016/01/'>January 2016</a></li> <li><a href='https://blog.getpaint.net/2015/12/'>December 2015</a></li> <li><a href='https://blog.getpaint.net/2015/08/'>August 2015</a></li> <li><a href='https://blog.getpaint.net/2015/07/'>July 2015</a></li> <li><a href='https://blog.getpaint.net/2014/12/'>December 2014</a></li> <li><a href='https://blog.getpaint.net/2014/11/'>November 2014</a></li> <li><a href='https://blog.getpaint.net/2014/07/'>July 2014</a></li> <li><a href='https://blog.getpaint.net/2014/06/'>June 2014</a></li> <li><a href='https://blog.getpaint.net/2014/04/'>April 2014</a></li> <li><a href='https://blog.getpaint.net/2014/02/'>February 2014</a></li> <li><a href='https://blog.getpaint.net/2014/01/'>January 2014</a></li> <li><a href='https://blog.getpaint.net/2013/12/'>December 2013</a></li> <li><a href='https://blog.getpaint.net/2013/11/'>November 2013</a></li> <li><a href='https://blog.getpaint.net/2013/10/'>October 2013</a></li> <li><a href='https://blog.getpaint.net/2013/08/'>August 2013</a></li> <li><a href='https://blog.getpaint.net/2013/03/'>March 2013</a></li> <li><a href='https://blog.getpaint.net/2012/10/'>October 2012</a></li> <li><a href='https://blog.getpaint.net/2012/09/'>September 2012</a></li> <li><a href='https://blog.getpaint.net/2012/05/'>May 2012</a></li> <li><a href='https://blog.getpaint.net/2012/04/'>April 2012</a></li> <li><a href='https://blog.getpaint.net/2012/03/'>March 2012</a></li> <li><a href='https://blog.getpaint.net/2011/12/'>December 2011</a></li> <li><a href='https://blog.getpaint.net/2011/10/'>October 2011</a></li> <li><a href='https://blog.getpaint.net/2011/09/'>September 2011</a></li> <li><a href='https://blog.getpaint.net/2011/07/'>July 2011</a></li> <li><a href='https://blog.getpaint.net/2011/06/'>June 2011</a></li> <li><a href='https://blog.getpaint.net/2011/05/'>May 2011</a></li> <li><a href='https://blog.getpaint.net/2011/04/'>April 2011</a></li> <li><a href='https://blog.getpaint.net/2011/03/'>March 2011</a></li> <li><a href='https://blog.getpaint.net/2011/02/'>February 2011</a></li> <li><a href='https://blog.getpaint.net/2010/12/'>December 2010</a></li> <li><a href='https://blog.getpaint.net/2010/11/'>November 2010</a></li> <li><a href='https://blog.getpaint.net/2010/10/'>October 2010</a></li> <li><a href='https://blog.getpaint.net/2010/08/'>August 2010</a></li> <li><a href='https://blog.getpaint.net/2010/07/'>July 2010</a></li> <li><a href='https://blog.getpaint.net/2010/06/'>June 2010</a></li> <li><a href='https://blog.getpaint.net/2010/04/'>April 2010</a></li> <li><a href='https://blog.getpaint.net/2010/03/'>March 2010</a></li> <li><a href='https://blog.getpaint.net/2010/02/'>February 2010</a></li> <li><a href='https://blog.getpaint.net/2010/01/'>January 2010</a></li> <li><a href='https://blog.getpaint.net/2009/12/'>December 2009</a></li> <li><a href='https://blog.getpaint.net/2009/11/'>November 2009</a></li> <li><a href='https://blog.getpaint.net/2009/10/'>October 2009</a></li> <li><a href='https://blog.getpaint.net/2009/09/'>September 2009</a></li> <li><a href='https://blog.getpaint.net/2009/08/'>August 2009</a></li> <li><a href='https://blog.getpaint.net/2009/06/'>June 2009</a></li> <li><a href='https://blog.getpaint.net/2009/05/'>May 2009</a></li> <li><a href='https://blog.getpaint.net/2009/04/'>April 2009</a></li> <li><a href='https://blog.getpaint.net/2009/03/'>March 2009</a></li> <li><a href='https://blog.getpaint.net/2009/02/'>February 2009</a></li> <li><a href='https://blog.getpaint.net/2009/01/'>January 2009</a></li> <li><a href='https://blog.getpaint.net/2008/12/'>December 2008</a></li> <li><a href='https://blog.getpaint.net/2008/11/'>November 2008</a></li> <li><a href='https://blog.getpaint.net/2008/10/'>October 2008</a></li> <li><a href='https://blog.getpaint.net/2008/09/'>September 2008</a></li> <li><a href='https://blog.getpaint.net/2008/08/'>August 2008</a></li> <li><a href='https://blog.getpaint.net/2008/07/'>July 2008</a></li> <li><a href='https://blog.getpaint.net/2008/06/'>June 2008</a></li> <li><a href='https://blog.getpaint.net/2008/05/'>May 2008</a></li> <li><a href='https://blog.getpaint.net/2008/04/'>April 2008</a></li> <li><a href='https://blog.getpaint.net/2008/03/'>March 2008</a></li> <li><a href='https://blog.getpaint.net/2008/02/'>February 2008</a></li> <li><a href='https://blog.getpaint.net/2008/01/'>January 2008</a></li> <li><a href='https://blog.getpaint.net/2007/12/'>December 2007</a></li> <li><a href='https://blog.getpaint.net/2007/11/'>November 2007</a></li> <li><a href='https://blog.getpaint.net/2007/10/'>October 2007</a></li> <li><a href='https://blog.getpaint.net/2007/09/'>September 2007</a></li> <li><a href='https://blog.getpaint.net/2007/08/'>August 2007</a></li> <li><a href='https://blog.getpaint.net/2007/07/'>July 2007</a></li> <li><a href='https://blog.getpaint.net/2007/06/'>June 2007</a></li> <li><a href='https://blog.getpaint.net/2007/05/'>May 2007</a></li> </ul></aside> <div id="atatags-286348-675c6a60b47f3"></div> <script> __ATA.cmd.push(function() { __ATA.initDynamicSlot({ id: 'atatags-286348-675c6a60b47f3', location: 140, formFactor: '003', label: { text: 'Advertisements', }, creative: { reportAd: { text: 'Report this ad', }, privacySettings: { text: 'Privacy', } } }); }); </script> </div><!-- #secondary --> </div><!-- #content --> <footer id="colophon" class="site-footer"> <div class="site-info" role="contentinfo"> <a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <!-- --> <script type="text/javascript" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202450b213a1cbb4e3271ca470eb7790af362ac2e18ce468f8945952c7bd3456d2132e" id="grofiles-cards-js"></script> <script type="text/javascript" id="wpgroho-js-extra"> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script crossorigin='anonymous' type='text/javascript' src='https://s2.wp.com/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script> <script> // Initialize and attach hovercards to all gravatars ( function() { function init() { if ( typeof Gravatar === 'undefined' ) { return; } if ( typeof Gravatar.init !== 'function' ) { return; } Gravatar.profile_cb = function ( hash, id ) { WPGroHo.syncProfileData( hash, id ); }; Gravatar.my_hash = WPGroHo.my_hash; Gravatar.init( 'body', '#wp-admin-bar-my-account', { i18n: { 'Edit your profile →': 'Edit your profile →', 'View profile →': 'View profile →', 'Contact': 'Contact', 'Send money': 'Send money', 'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.', 'Profile not found.': 'Profile not found.', 'Too Many Requests.': 'Too Many Requests.', 'Internal Server Error.': 'Internal Server Error.', }, } ); } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } } )(); </script> <div style="display:none"> </div> <script type="text/javascript"> ( function() { function init() { document.body.addEventListener( 'is.post-load', function() { if ( typeof __ATA.insertInlineAds === 'function' ) { __ATA.insertInlineAds(); } } ); } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } } )(); </script> <!-- CCPA [start] --> <script type="text/javascript"> ( function () { var setupPrivacy = function() { // Minimal Mozilla Cookie library // https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework var cookieLib = window.cookieLib = {getItem:function(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,o,n,t,r,i){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;var c="";if(n)switch(n.constructor){case Number:c=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:c="; expires="+n;break;case Date:c="; expires="+n.toUTCString()}return"rootDomain"!==r&&".rootDomain"!==r||(r=(".rootDomain"===r?".":"")+document.location.hostname.split(".").slice(-2).join(".")),document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+c+(r?"; domain="+r:"")+(t?"; path="+t:"")+(i?"; secure":""),!0}}; // Implement IAB USP API. window.__uspapi = function( command, version, callback ) { // Validate callback. if ( typeof callback !== 'function' ) { return; } // Validate the given command. if ( command !== 'getUSPData' || version !== 1 ) { callback( null, false ); return; } // Check for GPC. If set, override any stored cookie. if ( navigator.globalPrivacyControl ) { callback( { version: 1, uspString: '1YYN' }, true ); return; } // Check for cookie. var consent = cookieLib.getItem( 'usprivacy' ); // Invalid cookie. if ( null === consent ) { callback( null, false ); return; } // Everything checks out. Fire the provided callback with the consent data. callback( { version: 1, uspString: consent }, true ); }; // Initialization. document.addEventListener( 'DOMContentLoaded', function() { // Internal functions. var setDefaultOptInCookie = function() { var value = '1YNN'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 365 * 24 * 60 * 60, '/', domain ); }; var setDefaultOptOutCookie = function() { var value = '1YYN'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain ); }; var setDefaultNotApplicableCookie = function() { var value = '1---'; var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'usprivacy', value, 24 * 60 * 60, '/', domain ); }; var setCcpaAppliesCookie = function( applies ) { var domain = '.wordpress.com' === location.hostname.slice( -14 ) ? '.rootDomain' : location.hostname; cookieLib.setItem( 'ccpa_applies', applies, 24 * 60 * 60, '/', domain ); } var maybeCallDoNotSellCallback = function() { if ( 'function' === typeof window.doNotSellCallback ) { return window.doNotSellCallback(); } return false; } // Look for usprivacy cookie first. var usprivacyCookie = cookieLib.getItem( 'usprivacy' ); // Found a usprivacy cookie. if ( null !== usprivacyCookie ) { // If the cookie indicates that CCPA does not apply, then bail. if ( '1---' === usprivacyCookie ) { return; } // CCPA applies, so call our callback to add Do Not Sell link to the page. maybeCallDoNotSellCallback(); // We're all done, no more processing needed. return; } // We don't have a usprivacy cookie, so check to see if we have a CCPA applies cookie. var ccpaCookie = cookieLib.getItem( 'ccpa_applies' ); // No CCPA applies cookie found, so we'll need to geolocate if this visitor is from California. // This needs to happen client side because we do not have region geo data in our $SERVER headers, // only country data -- therefore we can't vary cache on the region. if ( null === ccpaCookie ) { var request = new XMLHttpRequest(); request.open( 'GET', 'https://public-api.wordpress.com/geo/', true ); request.onreadystatechange = function () { if ( 4 === this.readyState ) { if ( 200 === this.status ) { // Got a geo response. Parse out the region data. var data = JSON.parse( this.response ); var region = data.region ? data.region.toLowerCase() : ''; var ccpa_applies = ['california', 'colorado', 'connecticut', 'delaware', 'indiana', 'iowa', 'montana', 'new jersey', 'oregon', 'tennessee', 'texas', 'utah', 'virginia'].indexOf( region ) > -1; // Set CCPA applies cookie. This keeps us from having to make a geo request too frequently. setCcpaAppliesCookie( ccpa_applies ); // Check if CCPA applies to set the proper usprivacy cookie. if ( ccpa_applies ) { if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } else { // CCPA does not apply. setDefaultNotApplicableCookie(); } } else { // Could not geo, so let's assume for now that CCPA applies to be safe. setCcpaAppliesCookie( true ); if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } } }; // Send the geo request. request.send(); } else { // We found a CCPA applies cookie. if ( ccpaCookie === 'true' ) { if ( maybeCallDoNotSellCallback() ) { // Do Not Sell link added, so set default opt-in. setDefaultOptInCookie(); } else { // Failed showing Do Not Sell link as required, so default to opt-OUT just to be safe. setDefaultOptOutCookie(); } } else { // CCPA does not apply. setDefaultNotApplicableCookie(); } } } ); }; // Kickoff initialization. if ( window.defQueue && defQueue.isLOHP && defQueue.isLOHP === 2020 ) { defQueue.items.push( setupPrivacy ); } else { setupPrivacy(); } } )(); </script> <!-- CCPA [end] --> <div class="widget widget_eu_cookie_law_widget"> <div class="hide-on-button ads-active" data-hide-timeout="30" data-consent-expiration="180" id="eu-cookie-law" style="display: none" > <form method="post"> <input type="submit" value="Close and accept" class="accept" /> Privacy &amp; Cookies: This site uses cookies. By continuing to use this website, you agree to their use. <br /> To find out more, including how to control cookies, see here: <a href="https://automattic.com/cookies/" rel="nofollow"> Cookie Policy </a> </form> </div> </div> <div id="actionbar" style="display: none;" class="actnbr-pub-sela actnbr-has-follow"> <ul> <li class="actnbr-btn actnbr-hidden"> <a class="actnbr-action actnbr-actn-follow " href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg> <span>Subscribe</span> </a> <a class="actnbr-action actnbr-actn-following no-display" href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg> <span>Subscribed</span> </a> <div class="actnbr-popover tip tip-top-left actnbr-notice" id="follow-bubble"> <div class="tip-arrow"></div> <div class="tip-inner actnbr-follow-bubble"> <ul> <li class="actnbr-sitename"> <a href="https://blog.getpaint.net"> <img loading='lazy' alt='' src='https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=50' srcset='https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=50 1x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=75 1.5x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=100 2x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=150 3x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=200 4x' class='avatar avatar-50' height='50' width='50' /> paint.net blog </a> </li> <div class="actnbr-message no-display"></div> <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;"> <div class="actnbr-follow-count">Join 456 other subscribers</div> <div> <input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address" /> </div> <input type="hidden" name="action" value="subscribe" /> <input type="hidden" name="blog_id" value="12948295" /> <input type="hidden" name="source" value="https://blog.getpaint.net/2018/12/" /> <input type="hidden" name="sub-type" value="actionbar-follow" /> <input type="hidden" id="_wpnonce" name="_wpnonce" value="82e6bedd3f" /> <div class="actnbr-button-wrap"> <button type="submit" value="Sign me up"> Sign me up </button> </div> </form> <li class="actnbr-login-nudge"> <div> Already have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.getpaint.net%252F2018%252F12%252F26%252Fwhats-next-for-paint-net-in-2019%252F">Log in now.</a> </div> </li> </ul> </div> </div> </li> <li class="actnbr-ellipsis actnbr-hidden"> <svg class="gridicon gridicons-ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M7 12c0 1.104-.896 2-2 2s-2-.896-2-2 .896-2 2-2 2 .896 2 2zm12-2c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2zm-7 0c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2z"/></g></svg> <div class="actnbr-popover tip tip-top-left actnbr-more"> <div class="tip-arrow"></div> <div class="tip-inner"> <ul> <li class="actnbr-sitename"> <a href="https://blog.getpaint.net"> <img loading='lazy' alt='' src='https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=50' srcset='https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=50 1x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=75 1.5x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=100 2x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=150 3x, https://blog.getpaint.net/wp-content/uploads/2019/02/paintdotnet.256.png?w=200 4x' class='avatar avatar-50' height='50' width='50' /> paint.net blog </a> </li> <li class="actnbr-folded-customize"> <a href="https://rickbrewster.wordpress.com/wp-admin/customize.php?url=https%3A%2F%2Frickbrewster.wordpress.com%2F2018%2F12%2F"> <svg class="gridicon gridicons-customize" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M2 6c0-1.505.78-3.08 2-4 0 .845.69 2 2 2 1.657 0 3 1.343 3 3 0 .386-.08.752-.212 1.09.74.594 1.476 1.19 2.19 1.81L8.9 11.98c-.62-.716-1.214-1.454-1.807-2.192C6.753 9.92 6.387 10 6 10c-2.21 0-4-1.79-4-4zm12.152 6.848l1.34-1.34c.607.304 1.283.492 2.008.492 2.485 0 4.5-2.015 4.5-4.5 0-.725-.188-1.4-.493-2.007L18 9l-2-2 3.507-3.507C18.9 3.188 18.225 3 17.5 3 15.015 3 13 5.015 13 7.5c0 .725.188 1.4.493 2.007L3 20l2 2 6.848-6.848c1.885 1.928 3.874 3.753 5.977 5.45l1.425 1.148 1.5-1.5-1.15-1.425c-1.695-2.103-3.52-4.092-5.448-5.977z"/></g></svg> <span>Customize</span> </a> </li> <li class="actnbr-folded-follow"> <a class="actnbr-action actnbr-actn-follow " href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z" fill-rule="evenodd"></path></svg> <span>Subscribe</span> </a> <a class="actnbr-action actnbr-actn-following no-display" href=""> <svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg> <span>Subscribed</span> </a> </li> <li class="actnbr-signup"><a href="https://wordpress.com/start/">Sign up</a></li> <li class="actnbr-login"><a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fblog.getpaint.net%252F2018%252F12%252F26%252Fwhats-next-for-paint-net-in-2019%252F">Log in</a></li> <li class="flb-report"> <a href="https://wordpress.com/abuse/?report_url=https://blog.getpaint.net" target="_blank" rel="noopener noreferrer"> Report this content </a> </li> <li class="actnbr-reader"> <a href="https://wordpress.com/read/feeds/92711"> View site in Reader </a> </li> <li class="actnbr-subs"> <a href="https://subscribe.wordpress.com/">Manage subscriptions</a> </li> <li class="actnbr-fold"><a href="">Collapse this bar</a></li> </ul> </div> </div> </li> </ul> </div> <script> window.addEventListener( "load", function( event ) { var link = document.createElement( "link" ); link.href = "https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.css?v=20241015"; link.type = "text/css"; link.rel = "stylesheet"; document.head.appendChild( link ); var script = document.createElement( "script" ); script.src = "https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.js?v=20231122"; script.defer = true; document.body.appendChild( script ); } ); </script> <script crossorigin='anonymous' type='text/javascript' src='https://s2.wp.com/_static/??-eJyNj8FOxDAMRH8IY9AKVXtAfApyUze4TZyodgifT1ZCAvWA9mR5PPNGxl4hFHVWx80wl1kSQzM+KA4NRNfyuNkD/vHNqUSoqUVRw16OhRaDkMiM7Qbp5Omcye03IUtkN+Q2rmUXhkQdnXNN5HzSzxz/4Dw8tc1onOhWp/QpkVyK3mG2XSok0R3WEprBKl/3pMb856ONvVLYf3a0pvguGtC7uPMBLplHJw/EW359ni6X6eVpul63b1j2jcQ='></script> <script type="text/javascript" id="jetpack-testimonial-theme-supports-js-after"> /* <![CDATA[ */ const jetpack_testimonial_theme_supports = false /* ]]> */ </script> <script type="text/javascript"> (function () { var wpcom_reblog = { source: 'toolbar', toggle_reblog_box_flair: function (obj_id, post_id) { // Go to site selector. This will redirect to their blog if they only have one. const postEndpoint = `https://wordpress.com/post`; // Ideally we would use the permalink here, but fortunately this will be replaced with the // post permalink in the editor. const originalURL = `${ document.location.href }?page_id=${ post_id }`; const url = postEndpoint + '?url=' + encodeURIComponent( originalURL ) + '&is_post_share=true' + '&v=5'; const redirect = function () { if ( ! window.open( url, '_blank' ) ) { location.href = url; } }; if ( /Firefox/.test( navigator.userAgent ) ) { setTimeout( redirect, 0 ); } else { redirect(); } }, }; window.wpcom_reblog = wpcom_reblog; })(); </script> <script type="text/javascript"> // <![CDATA[ (function() { try{ if ( window.external &&'msIsSiteMode' in window.external) { if (window.external.msIsSiteMode()) { var jl = document.createElement('script'); jl.type='text/javascript'; jl.async=true; jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(jl, s); } } }catch(e){} })(); // ]]> </script><script src="//stats.wp.com/w.js?67" defer></script> <script type="text/javascript"> _tkq = window._tkq || []; _stq = window._stq || []; _tkq.push(['storeContext', {'blog_id':'12948295','blog_tz':'-7','user_lang':'en','blog_lang':'en','user_id':'0'}]); _stq.push(['view', {'blog':'12948295','v':'wpcom','tz':'-7','user_id':'0','subd':'rickbrewster'}]); _stq.push(['extra', {'crypt':'UE5XaGUuOTlwaD85flAmcm1mcmZsaDhkV11YdWtpP0NsWnVkPS9sL0ViLndld3BsSjRjQ0FmMWk0bjhwYkI9bVh4bTM3ZU5oUj1jenJXRjNWQnFhUHZdNmQ2M1RKXWdEemRMPTVCLD1UfFptOT85LVI0bG1tLzZTJlJQTW81fnIsaGlHL1tdQ35fdHVZbkgwbkpLVnQvdFdzLVBZNn5FZ2VKdy5VbVR1eTBdMC9nJms9Ky4xK2YvbmVGZEpmaEc3JWg0LGdDelR0RzBpWk5UWkJfSERZW2MsMFlBdCxLV3NJYV8xZGUmeElLS0doTn4lLzJBME9wJjdBVS95fmdSXVNxaXE9UXd4QXhEUGdIWz1QTkg5UVAudmZCYXlhMDIl'}]); _stq.push([ 'clickTrackerInit', '12948295', '0' ]); </script> <noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript> <script defer id="bilmur" data-customproperties="{&quot;enq_jquery&quot;:&quot;1&quot;,&quot;logged_in&quot;:&quot;0&quot;,&quot;wptheme&quot;:&quot;pub\/sela&quot;,&quot;wptheme_is_block&quot;:&quot;0&quot;}" data-provider="wordpress.com" data-service="simple" src="/wp-content/js/bilmur.min.js?i=12&m=202450"></script><script defer id="bilmur" data-customproperties="{&quot;enq_jquery&quot;:&quot;1&quot;,&quot;logged_in&quot;:&quot;0&quot;,&quot;wptheme&quot;:&quot;pub\/sela&quot;,&quot;wptheme_is_block&quot;:&quot;0&quot;}" data-provider="wordpress.com" data-service="simple" src="/wp-content/js/bilmur-4.min.js?i=12&m=202450"></script><script> ( function() { function getMobileUserAgentInfo() { if ( typeof wpcom_mobile_user_agent_info === 'object' ) { wpcom_mobile_user_agent_info.init(); var mobileStatsQueryString = ''; if ( wpcom_mobile_user_agent_info.matchedPlatformName !== false ) { mobileStatsQueryString += '&x_' + 'mobile_platforms' + '=' + wpcom_mobile_user_agent_info.matchedPlatformName; } if ( wpcom_mobile_user_agent_info.matchedUserAgentName !== false ) { mobileStatsQueryString += '&x_' + 'mobile_devices' + '=' + wpcom_mobile_user_agent_info.matchedUserAgentName; } if ( wpcom_mobile_user_agent_info.isIPad() ) { mobileStatsQueryString += '&x_' + 'ipad_views' + '=' + 'views'; } if ( mobileStatsQueryString != '' ) { new Image().src = document.location.protocol + '//pixel.wp.com/g.gif?v=wpcom-no-pv' + mobileStatsQueryString + '&baba=' + Math.random(); } } } document.addEventListener( 'DOMContentLoaded', getMobileUserAgentInfo ); } )(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10