CINXE.COM
March 2010 – 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>March 2010 – 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=384' + '&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=1734030526"; 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 » Feed" href="https://blog.getpaint.net/feed/" /> <link rel="alternate" type="application/rss+xml" title="paint.net blog » 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://s2.wp.com/_static/??-eJydzEEOwiAQheELCWNrFV0YzwKUkKkIZGbQcPtWN+5cuHx5+X54VeVLlpAFamoRM0Ns23SB4vZQgOdw0UbvwTVMM7hU/F0ldGSpA0tPQXvmHfwMfRTDEqTaN7e9NFGRcP43QVYwR/7y2+M6mMN4NNP5NC4rOVVP3w==&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&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":"6e9f41b424","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="March 2010 – 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="3 posts published by Rick Brewster during March 2010" /> <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: "<div id="atatags-26942-{{unique_id}}"></div><script>__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\',}}});});</script>", type: 'belowpost' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__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\',}}});});</script>", type: 'inline' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__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\',}}});});</script>", type: 'sidebar' }, { tag: "<div id="atatags-26942-{{unique_id}}"></div><script>__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\',}}});});</script>", 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>March 2010</span></h1> </header><!-- .page-header --> <article id="post-384" class="post-384 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/2010/03/29/whats-coming-in-paint-net-v3-5-5-performance/" rel="bookmark">What's coming in Paint.NET v3.5.5: Performance!</a></h1> </header><!-- .entry-header --> <div class="entry-body"> <div class="entry-meta"> <span class="date"><a href="https://blog.getpaint.net/2010/03/29/whats-coming-in-paint-net-v3-5-5-performance/" title="Permalink to What's coming in Paint.NET v3.5.5: Performance!" rel="bookmark"><time class="entry-date published" datetime="2010-03-29T21:16:42-07:00">2010-03-29</time></a></span><span class="comments-link"><a href="https://blog.getpaint.net/2010/03/29/whats-coming-in-paint-net-v3-5-5-performance/#comments">27 Comments</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>There won’t be any new features this time around, of course, since it’s just a +0.0.1 release. There’s only 1 bug that I’ve found which I’ve decided to fix, which has to do with saving “large” 8-bit PNG/GIF/BMP images and is <a href="http://paintdotnet.forumer.com/viewtopic.php?f=10&t=33944">detailed over on the forum</a> <em>(summary: I was using 32-bit integer accumulators and they were overflowing; switching to 64-bit accumulators fixed it)</em>. Any plugin that makes use of the built-in quantization code will also be fixed.</p> <p><img style="display:inline;margin-left:0;margin-right:0;" src="https://i0.wp.com/www.getpaint.net/users/rick/blog/20100329_gospeed.jpg" alt="" align="right" /></p> <p>So I’ve decided to add some more value to this release in the way of performance optimizations. The first optimization affects an admittedly small population of users: those who have Intel Atom-based <em>nettops</em>. The Intel Atom <a href="http://ark.intel.com/Product.aspx?id=43098">D510</a> and <a href="http://ark.intel.com/Product.aspx?id=35641">330</a> chips are dual-core CPUs with HyperThreading and so they show up in Task Manager as 4 CPUs. Normally Paint.NET always uses multisampling to render the canvas. However, if the system has less than 4 CPUs it will use nearest neighbor while doing a zoom in/out with the mouse wheel. Since the Atom reports 4 cores, it was not benefitting from this, but it is now noticably zippier.</p> <p>The second optimization is for everyone. One thing I’ve been wanting to do for awhile is to move some of the rendering kernels into C/C++ land. The reason for this is that the Visual C++ compiler can do a lot better static optimization than either the .NET JITter or NGEN.</p> <p>With just a few hours of work today, I’ve managed to make Gaussian Blur about 42% faster. I’ve also applied this trick to the Normal, Multiply, and Overlay blend modes and am getting 15-20% faster performance. The “code” is almost exactly the same except with “uint” swapped for “unsigned __int32”, some marshalling logic, P/Invoke glue, etc. The bang-to-buck ratio here is great.</p> <p>And of course, your mileage may vary (YMMV). These benchmarks were done on a quad-core Intel Core i7 at 4GHz running 64-bit Windows 7. I also ran them on my dual-core Atom 330, and the improvement was 35% for Gaussian Blur, and 30+% for the blend modes.</p> <p>With v3.5.5 I will probably limit these optimizations to a few select areas in order to “test the waters.” If stability is good, as determined by the stream of crash logs I get (or don’t!), then I’ll bravely expand to other areas. I expect to release v3.5.5 by the middle of April.</p> <p>Oh, yeah. On the Paint.NET v4.0 front, the decision has been made: it will require Win7/Vista minimum. I’ve already got most of the interop layer for Direct2D, DirectWrite, and Windows Imaging Component (WIC) written. The first feature to use these was a replacement of “my” super sampling code for WIC’s “Fant” resampling. This means that the quality of Image->Resize when shrinking an image has been greatly improved. I also have a version of the Curves adjustment that uses Direct2D instead of GDI+ for rendering its UI <em>(this was mostly “prove to myself it actually works” code)</em>.</p> <p>Please do remember that Paint.NET v4.0 probably won’t be available until late 2011 – you have <em>plenty</em> of time to enjoy XP with Paint.NET v3.5.x in the meantime if that’s the way you roll <em><span>(and it’s not like I can delete it off your box once 4.0 ships, nor would I if I could)</span></em>. As a pre-emptive snark, in true Raymond Chen style: this was a decision I made after much deliberation with both quantitative and qualitative data, and spamming my comment box won’t change my mind. Your voice has already been heard. Thanks in advance.</p> <div id="atatags-26942-675b34be38735"></div> <script> __ATA.cmd.push(function() { __ATA.initDynamicSlot({ id: 'atatags-26942-675b34be38735', 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-379" class="post-379 post type-post status-publish format-standard hentry category-uncategorized without-featured-image"> <header class="entry-header "> <h1 class="entry-title"><a href=" https://blog.getpaint.net/2010/03/16/intel%e2%80%99s-xeon-x5680-gives-you-24-threads-empty-bank-account/" rel="bookmark">Intel’s Xeon X5680 gives you 24 threads, empties bank account</a></h1> </header><!-- .entry-header --> <div class="entry-body"> <div class="entry-meta"> <span class="date"><a href="https://blog.getpaint.net/2010/03/16/intel%e2%80%99s-xeon-x5680-gives-you-24-threads-empty-bank-account/" title="Permalink to Intel’s Xeon X5680 gives you 24 threads, empties bank account" rel="bookmark"><time class="entry-date published" datetime="2010-03-16T21:07:19-07:00">2010-03-16</time></a></span><span class="comments-link"><a href="https://blog.getpaint.net/2010/03/16/intel%e2%80%99s-xeon-x5680-gives-you-24-threads-empty-bank-account/#comments">13 Comments</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>The guys over at <a href="http://www.2cpu.com">2CPU</a> are quick on the draw with a review of the brand new, can’t-even-find-it-yet <a href="http://www.2cpu.com/contentteller.php?ct=articles&action=pages&page=118.html">Intel Xeon X5680</a>. It’s the bigger brother to the Intel Core i7-980X, itself a monstrous 3.33GHz, 6-core CPU. The Xeon has the extra pins and needles and validation to let you hook up 2 of them for a total of 12 cores. With HyperThreading that leaves you with 24 tiny little CPU graphs in Task Manager.</p> <p>Do. Want.</p> <p>Apparently AMD has some crazy chips coming out with 8- and 12-cores for 4-processor configurations, albeit at very low clock speeds. Still, 48 cores is within spitting distance of giving Windows 7 / 2008 R2 the fits. I have a nagging feeling that this level of performance will <em>never</em> make its way down to the $300 netbook/nettop level 🙂 As-is, a brand-new dual Xeon X5680 will set you back $1,600 USD <i>per CPU</i>, putting a whole system in the $5K+ USD range. Well, if you could find anyone who’s selling it anyway.</p> <p>But the real question is, how fast does it run Paint.NET!? One of these would certainly cut my build times, now that Paint.NET is acquiring a large amount of C++/CLI in order to properly support Direct2D and DirectWrite. Using the /MP switch with the Visual C++ compiler results in all 8 threads of my Core i7-920 @ 4.0GHz being pegged at 100% for a significant amount of time.</p> <blockquote> <p><img src="https://i0.wp.com/www.getpaint.net/users/rick/blog/20100316_pdn4build.png" /></p> <p><em>Core i7-920 @ 4.0GHz, struggling to build the latest PaintDotNet.SystemLayer.Native DLL’s </em></p> </blockquote> <div id="atatags-370373-675b34be39374"> <script type="text/javascript"> __ATA.cmd.push(function() { __ATA.initVideoSlot('atatags-370373-675b34be39374', { sectionId: '370373', format: 'inread' }); }); </script> </div> </div><!-- .entry-content --> </div><!-- .entry-body --> </article><!-- #post-## --> <article id="post-371" class="post-371 post type-post status-publish format-standard hentry category-stats without-featured-image"> <header class="entry-header "> <h1 class="entry-title"><a href=" https://blog.getpaint.net/2010/03/06/february-2010-usage-statistics/" rel="bookmark">February 2010 usage statistics</a></h1> </header><!-- .entry-header --> <div class="entry-body"> <div class="entry-meta"> <span class="date"><a href="https://blog.getpaint.net/2010/03/06/february-2010-usage-statistics/" title="Permalink to February 2010 usage statistics" rel="bookmark"><time class="entry-date published" datetime="2010-03-06T03:19:13-08:00">2010-03-06</time><time class="updated" datetime="2010-04-06T03:24:27-07:00">2010-04-06</time></a></span><span class="comments-link"><a href="https://blog.getpaint.net/2010/03/06/february-2010-usage-statistics/#comments">28 Comments</a></span> </div><!-- .entry-meta --> <div class="entry-content"> <p>I was hoping to publish stats for January, but there was a problem with the web server logs not importing correctly for awhile. Everything’s cleared up though, so here we go!</p> <p>Right now my primary interest is in planning for Paint.NET v4.0 with respect to determining system requirements. In other words, will it be possible to drop support for XP? The reason I’m trying to answer this is because I want to pervasively use Direct2D, DirectWrite, and DirectCompute while also not incurring an onerous development and testing burden. I want to render everything at high quality, and to use hardware acceleration where possible. These APIs are not available on XP. It appears to be feasible to write a Direct2D-to-GDI+ translation layer, but the other two APIs are not nearly so simple. I cannot justify dropping XP support if everyone’s still using it, or if there isn’t enough of a benefit. This decision must be guided by quantitative data, and not my desire to play with the latest and greatest along with fatigue from supporting ancient systems. One simple solution would be to just keep the last v3.x release available for download until XP support has dwindled far enough. Time will tell.</p> <p>Anyway, hopes and dreams aside <em>(please upgrade to Windows 7!)</em>, let’s see the stats!</p> <p>The last few months have been huge for Paint.NET since the release of v3.5. The greatly improved performance and Aero UI theme have been very popular, and the “Install When I Exit” update mode has netted me more than a few e-mails full of thanks, praise, and smiley faces <em>(glad you all like it!)</em>. I have not been working on new code or features, and instead have focused on relaxing and planning for v4.0. I plan to resume in earnest when Visual Studio 2010 is released; until then, I’m trying to finish Mass Effect 2 (renegade ftw) and BioShock 2. Anyone played Heavy Rain? Talk about mixed feelings; at least it didn’t suffer nearly the same fate as Indigo Prophecy with its awesome beginning that was quickly slaughtered by nonsensical, random plot twists and overly ridiculous quick time event sequences (they should have called it “Dance Dance <a href="http://en.wikipedia.org/wiki/Simon_%28game%29">Simon</a> Revolution”). Oh, and I finally managed to get my Core i7 overclocked to 4.0 GHz by installing <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16835608018&cm_re=noctua-_-35-608-018-_-Product">this beast</a>.</p> <p>Overall, usage of Paint.NET is up by a whopping 45%! The other two areas I’ve been hoping for big gains are in 64-bit and Windows 7, and boy are they on a roll! There are 212% more 64-bit users than last July, and Windows 7 is zipping up like a rocket and already claiming over 18% of the user base. Popularity with Russian users is way up, with most other languages staying about the same <em>(technically English is down but this is probably just a result of the <span style="text-decoration:underline;">increase</span> in the Russian stat).</em></p> <p>Window Server 2003 continues to have a negligible number of users. I see no reason to discontinue support (e.g. hard block at install time), as it’s basically the same platform as Windows XP. I do not test with it though, so it’s a “best faith” effort. I don’t have separate stats for Windows 7 and Windows Server 2008 since they report the same version number (6.1.7600), and I don’t track the OS edition (workstation vs. server) with my update manifests.</p> <p>Here are some ugly pie charts:</p> <p><img src="https://i0.wp.com/www.getpaint.net/users/rick/blog/20100306_statsByOS.png" alt="" /> <img src="https://i0.wp.com/www.getpaint.net/users/rick/blog/20100306_statsByBits.png" alt="" /></p> <p>And lastly, here are the raw numbers. Please note that “hits” refers to update manifest text files, not web site traffic in a browser. They are the result of an installation of Paint.NET being active and checking to see what the latest version is. Paint.NET doesn’t check for updates unless it’s open (no TSR’s), and it checks every 5 days at most (longer if it hasn’t been opened in more than 5 days, of course).</p> <table border="0" cellspacing="0" cellpadding="2" width="387"> <tbody> <tr> <td width="161" valign="top"></td> <td width="83" align="right" valign="top"><strong><span style="text-decoration:underline;">July 2009</span></strong></td> <td width="121" align="right" valign="top"><strong><span style="text-decoration:underline;">February 2010</span></strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Total hits</td> <td width="83" align="right" valign="top">2,979,631</td> <td width="121" align="right" valign="top">3,922,732</td> <td width="20" align="right" valign="top"><img src="https://i0.wp.com/www.getpaint.net/images/arrow-up-medium-green.png" alt="" /></td> </tr> <tr> <td width="161" valign="top">Hits per day</td> <td width="83" align="right" valign="top">96,117</td> <td width="121" align="right" valign="top">140,097</td> <td width="20" align="right" valign="top"><img src="https://i0.wp.com/www.getpaint.net/images/arrow-up-medium-green.png" alt="" /></td> </tr> <tr> <td width="161" valign="top"></td> <td width="83" valign="top"></td> <td width="121" align="right" valign="top"></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">32-bit</td> <td width="83" align="right" valign="top">94.45%</td> <td width="121" align="right" valign="top">87.72%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">64-bit</td> <td width="83" align="right" valign="top">5.55%</td> <td width="121" align="right" valign="top">12.28%</td> <td width="20" align="right" valign="top"><img src="https://i0.wp.com/www.getpaint.net/images/arrow-up-medium-green.png" alt="" /></td> </tr> <tr> <td width="161" valign="top"></td> <td width="83" valign="top"></td> <td width="121" align="right" valign="top"></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Windows XP</td> <td width="83" align="right" valign="top">64.97%</td> <td width="121" align="right" valign="top">56.43%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Windows 2003</td> <td width="83" align="right" valign="top">0.32%</td> <td width="121" align="right" valign="top">0.24%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Windows Vista / 2008</td> <td width="83" align="right" valign="top">32.14%</td> <td width="121" align="right" valign="top">25.02%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Windows 7 / 2008 R2</td> <td width="83" align="right" valign="top">2.57%</td> <td width="121" align="right" valign="top">18.31%</td> <td width="20" align="right" valign="top"><img src="https://i0.wp.com/www.getpaint.net/images/arrow-up-medium-green.png" alt="" /></td> </tr> <tr> <td width="161" valign="top"></td> <td width="83" valign="top"></td> <td width="121" align="right" valign="top"></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>English</strong></td> <td width="83" align="right" valign="top"><strong>42.30%</strong></td> <td width="121" align="right" valign="top">38.86%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><em>non-English</em></td> <td width="83" align="right" valign="top"><em>57.70%</em></td> <td width="121" align="right" valign="top"><em>61.14%</em></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>German</strong></td> <td width="83" align="right" valign="top"><strong>15.75%</strong></td> <td width="121" align="right" valign="top"><strong>15.34%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>French</strong></td> <td width="83" align="right" valign="top"><strong>6.80%</strong></td> <td width="121" align="right" valign="top"><strong>7.76%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>Portuguese</strong></td> <td width="83" align="right" valign="top"><strong>6.05%</strong></td> <td width="121" align="right" valign="top"><strong>4.85%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>Spanish</strong></td> <td width="83" align="right" valign="top"><strong>6.01%</strong></td> <td width="121" align="right" valign="top"><strong>5.90%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>Japanese</strong></td> <td width="83" align="right" valign="top"><strong>2.12%</strong></td> <td width="121" align="right" valign="top"><strong>2.24%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>Italian</strong></td> <td width="83" align="right" valign="top"><strong>2.99%</strong></td> <td width="121" align="right" valign="top"><strong>3.56%</strong></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Polish</td> <td width="83" align="right" valign="top">1.52%</td> <td width="121" align="right" valign="top">1.54%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Netherlands (Dutch)</td> <td width="83" align="right" valign="top">1.26%</td> <td width="121" align="right" valign="top">1.37%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"><strong>Russian</strong></td> <td width="83" align="right" valign="top">5.41%</td> <td width="121" align="right" valign="top"><strong>9.48%</strong></td> <td width="20" align="right" valign="top"><img src="https://i0.wp.com/www.getpaint.net/images/arrow-up-medium-green.png" alt="" /></td> </tr> <tr> <td width="161" valign="top"><strong>Chinese (Simplified)</strong></td> <td width="83" align="right" valign="top"><strong>0.83%</strong></td> <td width="121" align="right" valign="top">0.67%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Chinese (Traditional)</td> <td width="83" align="right" valign="top">0.60%</td> <td width="121" align="right" valign="top">0.46%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Turkish</td> <td width="83" align="right" valign="top">4.32%</td> <td width="121" align="right" valign="top">3.68%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Korean</td> <td width="83" align="right" valign="top"><strong>0.46%</strong></td> <td width="121" align="right" valign="top">0.31%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">All other languages</td> <td width="83" align="right" valign="top">1.23%</td> <td width="121" align="right" valign="top">0.93%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top"></td> <td width="83" valign="top"></td> <td width="121" align="right" valign="top"></td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Have translations</td> <td width="83" align="right" valign="top">83.31%</td> <td width="121" align="right" valign="top">79.48%</td> <td width="20" align="right" valign="top"></td> </tr> <tr> <td width="161" valign="top">Don’t have translations</td> <td width="83" align="right" valign="top">16.69%</td> <td width="121" align="right" valign="top">20.52%</td> <td width="20" align="right" valign="top"></td> </tr> </tbody> </table> <p><em>Bold indicates that Paint.NET ships with the translation. Korean had a translation in v3.36, but not in v3.5+. For Russian, the reverse is true.</em></p> </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/'>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/' aria-current="page">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-675b34be3cc01"></div> <script> __ATA.cmd.push(function() { __ATA.initDynamicSlot({ id: 'atatags-286348-675b34be3cc01', 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_website" rel="nofollow">Create a free website or 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 & 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/2010/03/" /> <input type="hidden" name="sub-type" value="actionbar-follow" /> <input type="hidden" id="_wpnonce" name="_wpnonce" value="2151b07b98" /> <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%252F2010%252F03%252F29%252Fwhats-coming-in-paint-net-v3-5-5-performance%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%2F2010%2F03%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%252F2010%252F03%252F29%252Fwhats-coming-in-paint-net-v3-5-5-performance%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':'UE5XaGUuOTlwaD85flAmcm1mcmZsaDhkV11YdWtpP0NsWnVkPS9sL0ViLndld3BsSjRjQ0FmMWk0bjhwYkI9bVh4bTM3ZU5oUj1jenJXRjNWQnFhUHZdNmQ2M1RKXWdEemRMPTVCLD1UfFptOT85LVI0bG1tLzZTJlJQTW81fnIsaGlHczAwbj9STDYrU3Y4fC14VH5ENHRXYTVTOEp0RmNnUzV+fiZpXV94K0NnbzJlR2F8fHlfdXxUclpDZEdZPzJPM24tNzAxZjJEV1JCN3dLVGdHY2pTb2p3YT9aek9sMTkzTTFzZHN8NlR4d1lfP0lfVSZaJj9nbk8xTENSaGcwfjJEVHZUWDEufnc3azhdM3xSZHRXcS0wU2gmOV9taA=='}]); _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="{"enq_jquery":"1","logged_in":"0","wptheme":"pub\/sela","wptheme_is_block":"0"}" 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="{"enq_jquery":"1","logged_in":"0","wptheme":"pub\/sela","wptheme_is_block":"0"}" 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>