tag:blogger.com,1999:blog-60659198968221106182024-03-08T02:34:29.052-08:00My ReviewsWingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.comBlogger111125tag:blogger.com,1999:blog-6065919896822110618.post-3556573212609496672016-11-29T20:22:00.001-08:002016-11-29T20:22:07.672-08:00Carrier, Trump Reach Deal To Keep Manufacturing Jobs In U.S.<p>Roughly half of the jobs originally slated to move to Mexico will stay at the air-conditioning company's Indianapolis plan. Trump made the company's decision a major campaign talking point.</p><img src='https://media.npr.org/include/images/tracking/npr-rss-pixel.png?story=503797983' />Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-6658815803862100282016-11-14T12:19:00.001-08:002016-11-14T12:19:34.215-08:004 Possible Reasons The Polls Got It So Wrong This Year<p>The national polls weren't <em>that</em> far off, but something was clearly up in the state polls.</p><img src='https://media.npr.org/include/images/tracking/npr-rss-pixel.png?story=502014643' />Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-54060919671187913282016-10-28T04:22:00.001-07:002016-10-28T04:22:22.190-07:00Job of the day: senior designer at Tom Dixon<p><a href="http://www.dezeen.com/2016/10/28/job-of-the-day-senior-designer-tom-dixon-design-research-studio/"><img src="https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-852x852.jpg" class="attachment-homepage_article_featured size-homepage_article_featured" alt="Dezeen Jobs architecture and design recruitment" srcset="https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-852x852.jpg 852w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-150x150.jpg 150w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-300x300.jpg 300w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-1024x1024.jpg 1024w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-411x411.jpg 411w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-213x213.jpg 213w, https://static.dezeen.com/uploads/2016/10/Tom-Dixon-featured-191x191.jpg 191w" sizes="(max-width: 852px) 100vw, 852px" /></a></p><p>Our job of the day from <a href="https://www.dezeenjobs.com/">Dezeen Jobs</a> is for a <a href="https://www.dezeenjobs.com/job/detail/senior-designer-at-tom-dixon">senior designer at Tom Dixon's interior practice Design Research Studio</a>, which <a href="http://www.dezeen.com/2016/05/19/tom-dixon-research-design-studio-atrium-co-working-space-interior-camden-london-uk/">created the hotel-inspired rooms at co-working space Atrium in London</a> (pictured). Read more stories on <a href="http://www.dezeen.com/tag/tom-dixon/">Tom Dixon</a>, or browse more architecture and design opportunities on <a href="https://www.dezeenjobs.com/">Dezeen Jobs</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/VXOqDuork4I" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-42152648498866805752016-10-26T15:08:00.001-07:002016-10-26T15:08:03.322-07:00OMA's Quebec art museum extension shown in new images<p><a href="http://www.dezeen.com/2016/10/26/oma-pierre-lassonde-pavilion-musee-national-des-beaux-arts-du-quebec-doublespace-photography/"><img src="https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-852x852.jpg" class="attachment-homepage_article_featured size-homepage_article_featured" alt="MNBAQ by OMA photographs" srcset="https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-852x852.jpg 852w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-150x150.jpg 150w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-300x300.jpg 300w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-1024x1024.jpg 1024w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-411x411.jpg 411w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-213x213.jpg 213w, https://static.dezeen.com/uploads/2016/10/mnbaq-oma-photography-architecture-pierre-lassonde_dezeen_sqa-191x191.jpg 191w" sizes="(max-width: 852px) 100vw, 852px" /></a></p><p>These photographs provide a more detailed look at <a href="http://www.dezeen.com/2016/06/23/oma-pierre-lassonde-pavilion-musee-national-des-beaux-arts-du-quebec-canada/">OMA's extension to the Musée National des Beaux-Arts du Quebec</a>, described as the largest cultural project in the Canadian province when it opened this summer. <a href="http://www.dezeen.com/2016/10/26/oma-pierre-lassonde-pavilion-musee-national-des-beaux-arts-du-quebec-doublespace-photography/#more-995573" class="more-link">Read more</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/KVq_kdP2rdA" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-33477404686470379622016-10-24T22:20:00.001-07:002016-10-24T22:20:07.091-07:00Doshi Levien creates furniture collection for high-street retailer John Lewis<p><a href="http://www.dezeen.com/2016/10/25/doshi-levien-john-lewis-open-home-collection-furniture-design-high-street/"><img src="https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-852x852.jpg" class="attachment-homepage_article_featured size-homepage_article_featured" alt="doshi-levien-furniture-collection-john-lewis-design_dezeen_sq" srcset="https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-852x852.jpg 852w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-150x150.jpg 150w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-300x300.jpg 300w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-1024x1024.jpg 1024w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-411x411.jpg 411w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-213x213.jpg 213w, https://static.dezeen.com/uploads/2016/10/doshi-levien-furniture-collection-john-lewis-design_dezeen_sq-191x191.jpg 191w" sizes="(max-width: 852px) 100vw, 852px" /></a></p><p>London studio <a href="http://www.dezeen.com/tag/doshi-levien">Doshi Levien</a> has created a furniture range for <a href="http://www.dezeen.com/tag/john-lewis/">John Lewis</a> that it hopes will bridge the divide between high-end design and the high street. <a href="http://www.dezeen.com/2016/10/25/doshi-levien-john-lewis-open-home-collection-furniture-design-high-street/#more-992955" class="more-link">Read more</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/-QYKBwkg8fA" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-23963670195739451872016-10-23T07:12:00.001-07:002016-10-23T07:12:02.781-07:00RÄS studio updates Barcelona apartment with monochrome paintwork and textured tiles<p><a href="http://www.dezeen.com/2016/10/23/la-olga-monochrome-barcelona-apartment-renovation-ras-studio-spain/"><img src="https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-852x852.jpg" class="attachment-homepage_article_featured size-homepage_article_featured" alt="La Olga by RÄS studio" srcset="https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-852x852.jpg 852w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-150x150.jpg 150w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-300x300.jpg 300w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-1024x1024.jpg 1024w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-411x411.jpg 411w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-213x213.jpg 213w, https://static.dezeen.com/uploads/2016/10/sq-la-olga-ras-studio-barcelona-apartment-spain-renovation_dezeen_square02-191x191.jpg 191w" sizes="(max-width: 852px) 100vw, 852px" /></a></p><p>Dark grey tiles, black and white paintwork, and leafy pot plants complete this <a href="http://www.dezeen.com/2016/09/09/10-best-minimalist-apartment-home-interiors-roundup/">minimalist apartment</a> in Barcelona designed by Spanish architects RÄS studio. <a href="http://www.dezeen.com/2016/10/23/la-olga-monochrome-barcelona-apartment-renovation-ras-studio-spain/#more-992516" class="more-link">Read more</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/yaWhL0XQU9M" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-43943245273978773012016-10-21T19:08:00.001-07:002016-10-21T19:08:02.400-07:00Why Videogame Actors Just Went on Strike<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/10/Mic_GettyImages-592665068-660x495.jpg" alt="Why Videogame Actors Just Went on Strike" /></div>Their union wants better compensation and improved working conditions for actors who actually have fairly tough gig. The post <a href="https://www.wired.com/2016/10/videogame-actors-just-went-strike/">Why Videogame Actors Just Went on Strike</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-56246053781177622722016-10-21T18:12:00.001-07:002016-10-21T18:12:01.432-07:00Snag an Ultra-Wide Dell Display Plus a $100 Gift Card for $292Courtesy of our partners at TechBargains, here's an unbelievable price for a gorgeous 29″ 2560 X 1080 UltraSharp HD panoramic monitor. In addition to top-notch visuals this deal comes with a bonus $100 Dell gift card good for discounts on computers, laptops, accessories, and any content you'll need to complete your media library. Best of […] The post <a href="https://www.wired.com/2016/10/snag-ultra-wide-dell-display-plus-100-gift-card-292/">Snag an Ultra-Wide Dell Display Plus a $100 Gift Card for $292</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-26964875291765437802016-10-18T09:16:00.001-07:002016-10-18T09:16:03.819-07:00Netflix admits this plan has failedNetflix's goal of reaching every country on earth has run into a regulatory buzzsaw in China.<div class="feedflare"><br />
<a href="http://rss.cnn.com/~ff/rss/cnn_tech?a=weKYNI0kI88:l7mLeHt4ivg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rss/cnn_tech?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_tech?a=weKYNI0kI88:l7mLeHt4ivg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/rss/cnn_tech?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_tech?a=weKYNI0kI88:l7mLeHt4ivg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rss/cnn_tech?i=weKYNI0kI88:l7mLeHt4ivg:V_sGLiPBpWU" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_tech?a=weKYNI0kI88:l7mLeHt4ivg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rss/cnn_tech?d=qj6IDK7rITs" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_tech?a=weKYNI0kI88:l7mLeHt4ivg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/rss/cnn_tech?i=weKYNI0kI88:l7mLeHt4ivg:gIN9vFwOqvQ" border="0"></img></a><br />
</div><img src="http://feeds.feedburner.com/~r/rss/cnn_tech/~4/weKYNI0kI88" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-11352277690798029272016-10-18T05:12:00.001-07:002016-10-18T05:12:05.589-07:00The German Auto Industry Is Finally (Maybe) Done With Gas<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/10/VWElectricCar_HP-660x348.jpg" alt="The German Auto Industry Is Finally (Maybe) Done With Gas" /></div>BMW, VW, and Mercedes promise they're serious about electric cars, but are moving slowly. The post <a href="https://www.wired.com/2016/10/german-auto-industry-finally-maybe-done-gas/">The German Auto Industry Is Finally (Maybe) Done With Gas</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-42580859373306577702016-10-16T10:20:00.001-07:002016-10-16T10:20:02.650-07:00Issa Rae on How She Wrote 'That' Rap<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/10/Insecure_HP-660x431.jpg" alt="Issa Rae on How She Wrote 'That' Rap" /></div>In this interview with WIRED, the HBO series creator also discusses her show's writing process, Los Angeles setting, and killer soundtrack. The post <a href="https://www.wired.com/2016/10/issa-rae-insecure-qa/">Issa Rae on How She Wrote 'That' Rap</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-23455683303035881162016-10-13T04:16:00.001-07:002016-10-13T04:16:15.873-07:00We Pay Billions For Greener Farms, So What Does That Buy Us?<p>American farmers receive billions of dollars each year in "conservation payments" that are intended to protect the environment. Some environmentalists think the payments deserve scrutiny - and reform.</p><img src='https://media.npr.org/include/images/tracking/npr-rss-pixel.png?story=497524216' />Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-89075799553747025222016-10-12T03:12:00.001-07:002016-10-12T03:12:01.493-07:00How Clinton And Trump Plan To Address The Issue Of Poverty<p>Tens of millions of Americans live in poverty, yet the issue has received scant attention on the presidential campaign trail. We examine the candidates' plans to address poverty.</p><img src='https://media.npr.org/include/images/tracking/npr-rss-pixel.png?story=497637751' />Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-66865045230441264852016-10-08T01:20:00.001-07:002016-10-08T01:20:01.720-07:00This week, Caruso St John won the Stirling Prize and Google launched a universal typeface<p><a href="http://www.dezeen.com/2016/10/08/weeks-highlights-stirling-prize-caruso-st-john-google-typeface/"><br />
<img src="https://static.dezeen.com/uploads/2016/10/damien-hirst-newport-gallery-museum-architecture-stirling-prize-winner-2016-uk_dezeen-twod-sq-936x936.jpg" /><br />
</a></p><br />
<p><strong><a href="http://www.dezeen.com/tag/this-week-on-dezeen/">This week on Dezeen:</a> </strong>Google unveiled a <a href="http://www.dezeen.com/2016/10/06/google-monotype-noto-font-biggest-typeface-all-written-language/">typeface that spans every written language</a>, and this year's <a href="http://www.dezeen.com/2016/10/06/caruso-st-john-wins-stirling-prize-2016-damien-hirst-newport-street-gallery/">Stirling Prize was awarded to Caruso St John with its gallery for Damien Hirst</a>. <a href="http://www.dezeen.com/2016/10/08/weeks-highlights-stirling-prize-caruso-st-john-google-typeface/" class="more-link">(more…)</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/OY14lrmLpmw" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-69911317816195404652016-10-06T05:12:00.001-07:002016-10-06T05:12:02.134-07:00The Earth and I: A Gorgeous Picture Book From Famed Scientist James Lovelock<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/10/EarthBookHP-660x495.jpg" alt="The Earth and I: A Gorgeous Picture Book From Famed Scientist James Lovelock" /></div>James Lovelock, environmental guru and creator of Gaia theory, has a new book out. Consider it an illustrated guide to how the world works. The post <a href="https://www.wired.com/2016/10/earth-gorgeous-picture-book-famed-scientist-james-lovelock/"><em>The Earth and I</em>: A Gorgeous Picture Book From Famed Scientist James Lovelock</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-78391098972769962902016-10-05T10:12:00.001-07:002016-10-05T10:12:03.630-07:00Esrawe and Cadena stack two hemispheres to form reusable perfume bottle for Xinú<p><a href="http://www.dezeen.com/2016/10/05/esrawe-studio-cadena-asociados-xinu-reusable-perfume-bottle-design-week-mexico-2016/"><br />
<img src="https://static.dezeen.com/uploads/2016/10/xinu-perfum-bottle-product-design-esrawe-studio-design-week-mexico_dezeen_2364_sq-936x936.jpg" /><br />
</a></p><br />
<p><a href="http://www.dezeen.com/events/2016/design-week-mexico-2016/"><strong>Design Week Mexico 2016:</strong></a> the contrasting halves of these <a href="http://www.dezeen.com/tag/perfume/">perfume</a> bottles can be repurposed separately, or in combinations as vases and incense holders (+ slideshow). <a href="http://www.dezeen.com/2016/10/05/esrawe-studio-cadena-asociados-xinu-reusable-perfume-bottle-design-week-mexico-2016/" class="more-link">(more…)</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/IVGhSLANrKs" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-83874038389254200392016-10-01T11:08:00.001-07:002016-10-01T11:08:02.283-07:00CEBRA completes Danish school with jagged roofs and stripy green walls<p><a href="http://www.dezeen.com/2016/10/01/aabybro-school-cebra-denmark-jagged-roofs/"><br />
<img src="https://static.dezeen.com/uploads/2016/09/aabybro-school-cebra-architecture-denmark-education-ruta-krau_dezeen_sq-936x936.jpg" /><br />
</a></p><br />
<p>Vibrant green stripes and angular roofs add character to the exterior of this <a href="http://www.dezeen.com/tag/schools/">school</a> that architecture firm <a href="http://www.dezeen.com/tag/cebra/">CEBRA</a> has completed in Aabybro, Denmark (+ slideshow). <a href="http://www.dezeen.com/2016/10/01/aabybro-school-cebra-denmark-jagged-roofs/" class="more-link">(more…)</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/-nPqPMhbKKM" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-77171343966604519482016-09-24T06:16:00.001-07:002016-09-24T06:16:02.502-07:00Schemata Architects deconstructs interior of Jins eyewear shop in Japan<p><a href="http://www.dezeen.com/2016/09/24/schemata-architects-deconstruct-interior-retail-renovation-jins-eyewear-shop-ageo-japan/"><br />
<img src="https://static.dezeen.com/uploads/2016/09/jins-eyeware-schemata-architects-shop-interior-renovation-ageo-japan_dezeen_sqa-936x936.jpg" /><br />
</a></p><br />
<p>To celebrate the 12th anniversary of a Jins eyewear store, <a href="http://www.dezeen.com/tag/schemata-architecture-office/">Schemata Architects</a> has completed a <a href="http://www.dezeen.com/tag/renovations/">renovation</a> that involved taking a sledgehammer to the walls (+ slideshow). <a href="http://www.dezeen.com/2016/09/24/schemata-architects-deconstruct-interior-retail-renovation-jins-eyewear-shop-ageo-japan/" class="more-link">(more…)</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/GDs5qwv3dlg" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-1472384589828934952016-09-16T20:08:00.001-07:002016-09-16T20:08:03.057-07:00Design FX: Inside the Studio That Makes Orphan Black's Star Fight Herself<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/09/OrphanBlackVideo-660x371.jpg" alt="Design FX: Inside the Studio That Makes Orphan Black's Star Fight Herself" /></div>The BBC America series stars Tatiana Maslany playing over 10 different clones who constantly interact. Here's how they shoot a climactic fight sequence. The post <a href="https://www.wired.com/2016/09/design-fx-inside-studio-makes-orphan-blacks-star-fight/"><em>Design FX</em>: Inside the Studio That Makes <em>Orphan Black's</em> Star Fight Herself</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-19681812086672323862016-09-15T15:12:00.001-07:002016-09-15T15:12:04.585-07:00Now You Can Design Any LaCroix Flavor You Want, Thanks to the Internet<div class="rss_thumbnail"><img src="https://www.wired.com/wp-content/uploads/2016/09/LaCroixHP-660x330.jpg" alt="Now You Can Design Any LaCroix Flavor You Want, Thanks to the Internet" /></div>With MyLaCroix.com, you can design the can for that cilantro flavored bubbly water you've been craving. The post <a href="https://www.wired.com/2016/09/now-can-design-lacroix-flavor-want-thanks-internet/">Now You Can Design Any LaCroix Flavor You Want, Thanks to the Internet</a> appeared first on <a href="https://www.wired.com">WIRED</a>.Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-89699564739813416132016-09-12T08:05:00.001-07:002016-09-12T08:05:09.088-07:00A Nerd's Guide to Color on the Web<p>There are a lot of ways to work with color on the web. I think it's helpful to understand the mechanics behind what you're using, and color is no exception. Let's delve into some of the technical details of color on the web.</p><br />
<p><span id="more-245208"></span></p><br />
<h3>Color mixing</h3><br />
<p>A huge part of working with color is understanding that the way that you used color as a child doesn't work the same as how you use color on a computer because of color mixing. As a child, you're working with paint. Paint and inks from a printer have tiny particles called pigments that mix together and reflect to present color to your eye. <strong>This is subtractive color mixing</strong>. The more colors you add to it, the darker it becomes, until we get brown. Primaries are close to what you're used to: red, yellow, blue. But when you mix these colors with subtractive color mixing, you arrive at brown. </p><br />
<figure id="post-245210" class="align-right media-245210"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/pigment.jpg" alt="Pigment subtractive color mixing" width="400" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/pigment.jpg 600w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/pigment-150x150.jpg 150w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/pigment-300x300.jpg 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/pigment-90x90.jpg 90w" sizes="(max-width: 600px) 100vw, 600px" /></figure><br />
<p>On a computer (or any monitor), we're working with <em>light</em>. Which means that when all of the colors mix together, they make <em>white</em>. Before <a href="http://www.college-optometrists.org/en/college/museyeum/online_exhibitions/observatory/newton.cfm">Isaac Newton's famous prism color experiment</a>, color was believed to be contained within objects rather than reflected and absorbed from the object. Isaac Newton used a prism to prove his theory that sunlight or bright white light was in fact several colors by using the prism to split apart the colors to make a rainbow, and then subsequently using a prism to attempt to further split the blue. The blue did not split, showing that the color wasn't within the prism, but rather that the prism was splitting the light. This means that in <strong>additive color mixing</strong>, the type of color mixing you get in a monitor, red green and blue can be used to produce all colors, or rgb. In this type of mixing, red and green create yellow. </p><br />
<figure id="post-245211" class="align-right media-245211"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/color-mixing.jpg" alt="Additive and Subtractive Color Mixing" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/color-mixing.jpg 1410w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/color-mixing-300x165.jpg 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/color-mixing-768x423.jpg 768w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/color-mixing-1024x564.jpg 1024w" sizes="(max-width: 1410px) 100vw, 1410px" /></figure><br />
<p>Monitors are many combinations of small bits of light combined that resonate to create a myriad of colors. Resolution refers to the number of individual dots of color, known as pixels, contained on a display. Before we had monitors, artists were using this type of light frequency. Seurat and the Pointillists used red and green to create yellow in paintings like <em>“La Grande Jatte”</em> (though he preferred the term chromo-luminarism. Others called it <a href="https://en.wikipedia.org/wiki/Divisionism">divisionism</a>) This type of painting was created under the belief that optical mixing created more pure resonance in your eye that traditional subtractive pigment color mixing.</p><br />
<figure id="post-245212" class="align-right media-245212"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/seurat-detail.jpg" alt="Seurat detail" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/seurat-detail.jpg 246w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/seurat-detail-243x300.jpg 243w" sizes="(max-width: 246px) 100vw, 246px" /></figure><br />
<p>Monitors are made in a few different display modes that change the way we perceive color through them. We express this the term “color bit depth”. The number of colors that can be displayed at one time is determined by this color bit depth. If we have a bit depth of 1, we can produce two colors, or monochrome. Bit depth of two levels creates 4, and so on until we reach a bit-depth of 32, though commonly monitors that project the web have 24 bit-depth density and 16,777,216 colors which is True Color and Alpha Channel.</p><br />
<p>We call this <strong>True Color</strong> because our human eyes can discern 10,000,000 unique colors, so 24-bit depth will certainly allow for this. In this 24-bit depth, 8 bits are dedicated to red, green, and blue. The rest are used for transparency or alpha channels. </p><br />
<p>Let's use this information to unpack our available color properties on the web.</p><br />
<h3>Color values</h3><br />
<h4>RGB Values</h4><br />
<p>The last section illustrates what <code>rbga(x, x, x, y);</code> communicates, but let's break that down a bit more, and show some other properties and their uses. In terms of web color values in an RGB channel, we specify color on a range from 0-255. </p><br />
<pre><code>x is a number from 0-255<br />
y is a number from 0.0 to 1.0<br />
rgb(x, x, x); or rgba(x, x, x, y);<br />
<br />
Example: rbga(150, 150, 150, 0.5);</code></pre><br />
<h4>Hex Values</h4><br />
<p>Hex colors are a slightly different format to represent the values in the same way. Hex values are probably the most common way developers designate color on the web. </p><br />
<p>If you recall that a <strong>byte is 8 bits</strong>, each Hex color or number represents a byte. A color is specified according to the intensity of its red, green and blue components, so we call it a triplet, with each expressed in two places. One byte represents a number in the range 00 to FF (in hexadecimal notation), or 0 to 255 in decimal notation. Byte 1 is Red, byte 2 is green, and byte 3 is blue. <strong>Hexadecimal</strong> is named this because it uses a <strong>base 16 system</strong>. The values use ranges from 0-9 and A-F, 0 being the lowest value and F being the highest, or <code>#00000</code> being black and <code>#FFFFFF</code> being white. </p><br />
<p>For triplets with repeated values, you can eliminate the repetition by writing in shorthand, for instance, <code>#00FFFF</code> becomes <code>#0FF</code>. This system is easy for computers to understand, and it pretty short to write, which makes it useful for quick copy paste and designation in programming. If you're going to work with colors in a more involved way, though, HSL is a little bit more human-readable.</p><br />
<h4>HSL Values</h4><br />
<p>Hsl values work with similar semantics and ranges as rgb, but rather than working with values as the monitor interprets the colors, hsl values work with hue, saturation, lightness values. This looks syntactically similar to rgb values but the ranges are different. This system is based on a <a href="https://en.wikipedia.org/wiki/Munsell_color_system">Munsell color system</a> (he was the first to separate out color into these three channels, or create a three dimensional system based on mathematical principles tied to actual human vision). </p><br />
<figure id="post-245213" class="align-right media-245213"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid.png 1920w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid-150x150.png 150w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid-300x300.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid-768x768.png 768w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid-1024x1024.png 1024w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/Munsell_1929_color_solid-90x90.png 90w" sizes="(max-width: 1920px) 100vw, 1920px" /><br /><br />
<figcaption>Hue, Saturation and Lightness can be represented as a three-dimensional model.</figcaption><br />
</figure><br />
<p>Hue rotates in 360 degrees, a full circle, while saturation and lightness are percentages from 0 to 100.</p><br />
<pre><code>x is a number from 0 - 360<br />
y is a percentage from 0% to 100%<br />
z is a number from 0.0 to 1.0<br />
hsl(x, y, y); or hsla(x, y, y, z);<br />
<br />
Example: hsla(150, 50%, 50%, 0.5);</code></pre><br />
<p>It's a relatively easy change (around 11 lines of code, to be precise) for the browsers to exchange between rgb and hsl values, but for us humans, the use of hsl can be a lot easier to interpret. Imagine a wheel, with dense and saturated content at the center. <a href="http://www.workwithcolor.com/hsl-color-picker-01.htm">This demo</a> does a pretty good job of showing how it's expressed.</p><br />
<figure id="post-245462" class="align-none media-245462"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/hsla.gif" alt="" /><br /><br />
<figcaption>Chris also made a nifty tool a few years back called the hsla explorer, which you can <a href="https://css-tricks.com/examples/HSLaExplorer/">check out here</a>.<br /><br />
</figcaption><br />
</figure><br />
<p>If you don't feel particularly skilled working with color, hsla() allows for some pretty simple rules to create nice effects for developers. We cover more about this in the generative color section below.</p><br />
<h4>Named Colors</h4><br />
<p>Named colors are also available to us as developers. Named colors, though, have a reputation for being difficult to work with due to their imprecision. The most notable and “famous” examples are that dark grey is actually lighter than grey and lime and limegreen are totally different colors. There's even a <a href="http://codepo8.github.io/css-colour-names/">game where you can try to guess named colors on the web</a>, made by <a href="https://twitter.com/codepo8">Chris Heilmann</a>. Back in the old days, <a href="http://stackoverflow.com/questions/8318911/why-does-html-think-chucknorris-is-a-color"><code>chucknorris</code> was a blood red color</a> (it's only supported in HTML now as far as I can tell), but that was my favorite. Named colors can be useful for demonstrating color use quickly, but typically developers use Sass or other preprocessors to store color values by hex, rgba, or hsla and map them to color names used within the company. </p><br />
<h4>Color Variables</h4><br />
<p>A good practice is to store color variables and <strong>never use them directly</strong>, mapping them instead to other variables with more semantic naming schemes. CSS has native variables, like:</p><br />
<pre rel="CSS"><code class="language-css">:root {<br />
--brandColor: red;<br />
}<br />
<br />
body {<br />
background: var(--brandColor);<br />
}</code></pre><br />
<p>But they are fairly new and <a href="http://caniuse.com/#feat=css-variables">haven't made their way</a> into Microsoft browsers at the time of this writing. </p><br />
<p>CSS preprocessors also support variables, so you can set up variables like <code>$brandPrimary</code> to use through your code base. Or <a href="https://www.sitepoint.com/using-sass-maps/">a map</a>:</p><br />
<pre rel="SCSS"><code class="language-scss">$colors: (<br />
mainBrand: #FA6ACC,<br />
secondaryBrand: #F02A52,<br />
highlight: #09A6E4<br />
);<br />
<br />
@function color($key) {<br />
@if map-has-key($colors, $key) {<br />
@return map-get($colors, $key);<br />
}<br />
<br />
@warn "Unknown `#{$key}` in $colors.";<br />
@return null;<br />
}<br />
<br />
// _component.scss<br />
.element {<br />
background-color: color(highlight); // #09A6E4<br />
}</code></pre><br />
<p>Remember that naming is important here. Abstract naming is sometimes useful so that if you change a variable that was representing a blue color to an orange color, you don't have to go through and rename all of your color values. Or worse yet, put up a sign that says "<em>$blue is orange now.</em>" *sad trombone noise*</p><br />
<h4>currentColor</h4><br />
<p><code>currentColor</code> is an incredibly useful value. It respects the cascade, and is useful for extending a color value to things like box shadows, outlines, borders, or even backgrounds.</p><br />
<p>Let's say you have created a div and then inside it another div. This would create orange borders for the internal div:</p><br />
<pre rel="CSS"><code class="language-css">.div-external { color: orange; }<br />
.div-internal { border: 1px solid currentColor; }</code></pre><br />
<p>This is incredibly useful for icon systems, either SVG icons for icon fonts. You can set <code>currentColor</code> as the default for the fill, stroke, or color, and then use semantically appropriate CSS classes to style the sucker.</p><br />
<h4>Preprocessors</h4><br />
<p>CSS preprocessors are great for tweaking colors. Here's some links to different preprocessors documentation on color functions:</p><br />
<ul><br />
<li><a href="http://sass-lang.com/documentation/Sass/Script/Functions.html">Sass functions</a></li><br />
<li><a href="http://lesscss.org/functions/#color-operations">Less functions</a></li><br />
<li><a href="http://stylus-lang.com/docs/bifs.html">Stylus functions</a></li><br />
<li><a href="https://github.com/postcss/postcss-color-function">Example PostCSS plugin</a> for color functions</li><br />
</ul><br />
<p>Here are a few of the cool things we can specifically with Sass:</p><br />
<pre rel="SCSS"><code class="language-scss">mix($color1, $color2, [$weight])<br />
adjust-hue($color, $degrees)<br />
lighten($color, $amount)<br />
darken($color, $amount)<br />
saturate($color, $amount)</code></pre><br />
<p>There are truthfully dozens of ways to programmatically mix and alter colors with preprocessors, and we won't go into depth for all of them, but here's a <a href="http://jackiebalzer.com/color">great interactive resource</a> for more in-depth information.</p><br />
<h3>Color Properties</h3><br />
<p>Color, as a CSS property, refers to font color. If you're setting a color on a large area, you would use <code>background-color</code>, unless it's an SVG element in which case you would use <code>fill</code>. Border is the border around an HTML element, while <code>stroke</code> is it's SVG counterpart. </p><br />
<h4>Box and Text Shadows</h4><br />
<p>The <code>box-shadow</code> and <code>text-shadow</code> properties accept a color value. Text shadows accept 2-3 values, h-shadow (horizontal shadow), v-shadow (vertical shadow), and an optional blur-radius. Box shadows take 2-4 values, h-shadow, v-shadow, optional blur distance, and optional spread distance. You can also designate inset at the start to create an inverted shadow. This site has a <a href="http://www.cssmatic.com/box-shadow">great demo</a> with easy, pasteable code.</p><br />
<h4>Gradients</h4><br />
<p>Linear gradients work by designating a direction. From/to (depending on the browser prefix) top, bottom, left, right, degrees, or radial-gradients. We then specify color stops and the color we want at each stop. These can accept transparency too. </p><br />
<p>Here's an example:</p><br />
<p data-height="300" data-theme-id="1" data-slug-hash="0df6e25c52fedba5ed5fd221d082e539" data-default-tab="css,result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/0df6e25c52fedba5ed5fd221d082e539/">0df6e25c52fedba5ed5fd221d082e539</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>Most of the syntax of gradients isn't all that difficult to write, but I really enjoy working with this <a href="http://www.colorzilla.com/gradient-editor/">online gradient generator</a>, because it also creates the complicated filter property for IE6-9 support. Here is also a really beautiful <a href="http://uigradients.com/">UI gradient creator</a>. This one is pretty cool and it is open source and you can contribute to it.</p><br />
<p>Gradients are similarly easy to create in SVG. We define a <code><linearGradient></code> block that you reference with an id. We can optionally define a surface area for the gradient as well. </p><br />
<pre><code class="language-markup"><linearGradient id="Gradient"><br />
<stop id="stop1" offset="0" stop-color="white" stop-opacity="0" /><br />
<stop id="stop2" offset="0.3" stop-color="black" stop-opacity="1" /><br />
</linearGradient></code></pre><br />
<p>These gradients also support opacity so we can have some nice effects and layer effects like animate them as as a mask.</p><br />
<p data-height="300" data-theme-id="1" data-slug-hash="a8c85b6e331b2ebf85fb9254af471919" data-default-tab="html,result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/a8c85b6e331b2ebf85fb9254af471919/">Animating transparent mask</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>Gradient text is also possible in webkit only, we have a really a nice code snippet for that <a href="https://css-tricks.com/snippets/css/gradient-text/">here on CSS-Tricks</a>. </p><br />
<h3>Generative Color</h3><br />
<p>There are a few cool ways to drum up a lot of staggering colors at once. I find these to be really fun to play with when creating generative art or UI elements with code.</p><br />
<p>As long as you stay within the ranges designated in the last sections, you can use <code>for</code> loops in either Sass (or any CSS preprocessor) or JavaScript, or <code>Math.Random()</code> with <code>Math.floor()</code> to retrieve color values. We need <code>Math.floor()</code> or <code>Math.ceil()</code> here because if we don't return full integers, we'll get an error and do not get a color value.</p><br />
<p>A good rule of thumb is that you shouldn't update all three values. I've had good luck with a lot of deviation in one range of values, a smaller deviation in the second set of values, and no deviation for the third, not necessarily in that order. For instance, <strong>hsl is very easy to work with to step through color</strong> because you know that looping through the hue from 0 to 360 will give you a full range. Another nice grace of hue-rotate in degrees is that because it's a full circle, you don't need to stick to ranges of 0 - 360, even -480 or 600 is still a value a browser can interpret.</p><br />
<h4>Sass</h4><br />
<pre rel="SCSS"><code class="language-scss">@mixin colors($max, $color-frequency) {<br />
$color: 300/$max;<br />
<br />
@for $i from 1 through $max {<br />
.s#{$i} {<br />
border: 1px solid hsl(($i - 10)*($color*1.25), ($i - 1)*($color / $color-frequency), 40%);<br />
}<br />
}<br />
} <br />
.demo {<br />
@include colors(20,2);<br />
}</code></pre><br />
<p>I use that to make fruit loop colors in this demo:</p><br />
<p data-height="500" data-theme-id="1" data-slug-hash="pyedJE" data-default-tab="result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/pyedJE/">React-Motion and Color Animation Experiment</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>As well as this one, with a different range (<strong>scroll inside the list really fast</strong>):</p><br />
<p data-height="450" data-theme-id="1" data-slug-hash="yyGYeJ" data-default-tab="css,result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/yyGYeJ/">Playing with Lists and Scroll</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>In the code below, I'm using <code>Math.random()</code> within rgb values to drum up a lot of color within the same range. This demo is creating a three-dimensional VR experience with React. I could have stepped through it with a for loop as well, but I wanted the color to be randomized to reflect the movement. Sky's the limit on this one.</p><br />
<figure id="post-245215" class="align-right media-245215"><a href="https://sdras.github.io/react-aframe-demo1/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/2932663-react-aframe.jpg" alt="" /></a><br /><br />
<figcaption>Click on the image to see the full demo.</figcaption><br />
</figure><br />
<h4>JavaScript</h4><br />
<pre rel="JavaScript (ES6 & JSX)"><code class="language-javascript">class App extends React.Component {<br />
render () {<br />
const items = [],<br />
amt1 = 5,<br />
amt2 = 7;<br />
for (let i = 0; i < 30; i++) {<br />
let rando = Math.floor(Math.random() * (amt2 - 0 + 1)) + 0,<br />
addColor1 = parseInt(rando * i),<br />
addColor2 = 255 - parseInt(7 * i),<br />
updateColor = `rgb(200, ${addColor1}, ${addColor2})`;<br />
items.push(<Entity geometry="primitive: box; depth: 1.5; height: 1.5; width: 6" <br />
material={{color: updateColor}} ...<br />
key={i}><br />
...<br />
</Entity>);<br />
}<br />
return (<br />
<Scene><br />
...<br />
{items}<br />
</Scene><br />
);<br />
}<br />
}</code></pre><br />
<p><a href="http://greensock.com/">GreenSock</a> came out with a tool that allows you to animate relative color values, which is useful because it means you can grab a lot of elements at once and animate them relative to their current color coordinates. Here are some turtles that demonstrate the idea:</p><br />
<p data-height="450" data-theme-id="1" data-slug-hash="zvwGKw" data-default-tab="result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/zvwGKw/">Turtles that show Relative HSL tweening</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<pre rel="JavaScript"><code class="language-javascript">TweenMax.to(".turtle2 path, .turtle2 circle, .turtle2 ellipse", 1.5, {fill:"hsl(+=0, +=50%, +=0%)"});</code></pre><br />
<h3>Other Nice Color Effects</h3><br />
<h4>Mix Blend Modes and Background Blend Modes</h4><br />
<p>If you've used layer effects in Photoshop, you're probably familiar with mix blend modes. Almost every site in the 90s used them (mine did. *blush*). Mix and background blend modes composite two different layered images together, and there are 16 modes available. Going through each is beyond the scope of this article, but here are some key examples. </p><br />
<p>The top image or color is called the <code>source</code>, and the bottom layer is called the <code>destination</code>. The area between the two is where the blending magic happens and is called the <code>backdrop</code>. We're mixing both according to fairly simple mathematical formulas.</p><br />
<figure id="post-245216" class="align-right media-245216"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/mixblend.jpg" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/mixblend.jpg 671w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/mixblend-300x189.jpg 300w" sizes="(max-width: 671px) 100vw, 671px" /></figure><br />
<p>If you want to get really nerdy with me, the color formulas for the blend modes depend on the type of effect used. For instance, multiply is <code>destination × source = backdrop</code>. Other effects are variations of simple math using subtraction, multiplication, addition, and division. Linear is <code>A+B−1</code>, while Color Burn is <code>1−(1−B)÷A</code>. You don't really need to know any of these to use them, though. </p><br />
<p>Here is some <a href="https://css-tricks.com/almanac/properties/m/mix-blend-mode/">more extensive documentation</a>, and here's a very simple demo to illustrate color working with some of these effects:</p><br />
<p data-height="600" data-theme-id="1" data-slug-hash="XJdGJe" data-default-tab="result" data-user="sdras" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/sdras/pen/XJdGJe/">Demo-ing Mix Blend Modes with SVG</a> by Sarah Drasner (<a href="http://codepen.io/sdras">@sdras</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>This great article by Robin demonstrates some really complex and impressive effects you can achieve from <a href="https://css-tricks.com/chaining-multiple-blend-modes/">layering multiple blend modes</a> as well. Below we'll cover mixing them with filters. There's really a lot you can do in the browser these days.</p><br />
<h4>Filters</h4><br />
<p>CSS Filters provide a lot of cool color effects, as well as the ability to take a colored image and make it greyscale. We have a <a href="https://css-tricks.com/almanac/properties/f/filter/">great resource here on CSS-Tricks</a> that shows how these work, and the browser support is pretty high now. Bennett Feely also has this <a href="http://bennettfeely.com/filters-gallery/">nice filter gallery</a> if you're feeling explorative.</p><br />
<p>Filters and Blur modes can work together! Una Kravets created this cool tool called <a href="http://una.im/CSSgram/">CSS Gram</a> combining some effects to create typical instagram filters, she has some nice documentation at the bottom.</p><br />
<h4>feColorMatrix</h4><br />
<p><a href="http://alistapart.com/article/finessing-fecolormatrix">Una has another article</a> exploring the creation of these images with <code>feColorMatrix</code> instead, which is a filter primitive in SVG that can be applied to HTML elements as well. It's very powerful, and allows you to fine-tune and finesse color. As the name implies, the base markup of <code>feColorMatrix</code> uses a matrix of values, and we apply it using it's relative id.</p><br />
<pre rel="SVG"><code class="language-markup"><filter id="imInTheMatrix"><br />
<feColorMatrix in="SourceGraphic"<br />
type="matrix"<br />
values="0 0 0 0 0<br />
1 1 1 1 0<br />
0 0 0 0 0<br />
0 0 0 1 0" /><br />
</filter><br />
<br />
<path filter="url(#imInTheMatrix)" … /></code></pre><br />
<p>We can also extend this matrix and adjust the hue, saturation, etc, of these values:</p><br />
<pre rel="SVG"><code class="language-markup"><filter id="imInTheHueMatrix"><br />
<feColorMatrix in="SourceGraphic"<br />
type="hueRotate"<br />
values="150" /><br />
</filter></code></pre><br />
<p>Una's article goes into depth exploring all of the capabilities here, but you can get even more information on this and a lot of other crazy SVG colors and gradient tools with Amelia Belamy-Royd's O'Reilly Book, <a href="http://shop.oreilly.com/product/0636920043065.do">SVG Colors, Patterns & Gradients</a> or <a href="http://codepen.io/mullany/full/qJCDk/">Mike Mullany's exploratory demo</a>.</p><br />
<h3>Accessibility and Other Things to Note about Color</h3><br />
<p>A color is only a color in reference to another color. This is part of what makes color so difficult. You're probably a little familiar with this in terms of accessibility. A light green on a black may be accessible, but when you change it to a white background it no longer is. </p><br />
<figure id="post-245218" class="align-right media-245218"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/context-color.jpg" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/context-color.jpg 850w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/context-color-300x106.jpg 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/context-color-768x271.jpg 768w" sizes="(max-width: 850px) 100vw, 850px" /></figure><br />
<p>Accessibility in color can be measured with a number of tools. Here are some of my favorites:</p><br />
<ul><br />
<li><a href="http://jxnblk.com/colorable/demos/text/">Colorable</a></li><br />
<li><a href="http://www.brandwood.com/a11y/">Text on a background image a11y check</a></li><br />
<li><a href="http://dasplankton.de/ContrastA/">Contrast-A</a></li><br />
<li><a href="http://accessible-colors.com/">Accessible Colors</a></li><br />
</ul><br />
<p>It's also really nice to set up your palette for accessibility from the start. <a href="http://colorsafe.co/">Color Safe</a> is a great tool that helps with that. Once you're all set up, <a href="http://wave.webaim.org/">WAVE (Web Accessibility Tool)</a> will help you evaluate your web page:</p><br />
<h4>Color and Atmosphere</h4><br />
<p>Color is affected by atmosphere, which is a pretty important thing to know if you're going to create any kind of illusion of depth. Things that are closer to you are in higher saturation, and in more contrast. Things that are further away from you are going to look blurrier.</p><br />
<figure id="post-245244" class="align-right media-245244"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/landscape.jpg" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/landscape.jpg 800w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/landscape-300x160.jpg 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/landscape-768x409.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /><br /><br />
<figcaption>Landscape showing color contrasts from things closer and farther away</figcaption><br />
</figure><br />
<h4>Shadows</h4><br />
<p>Shadows are not grey, they are the compliment of the color of the light. If the light you shine on your hand has a yellow cast, the shadow will appear purple. This is useful knowledge if you're making any super hip long shadows.</p><br />
<figure id="post-245219" class="align-right media-245219"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/09/shadow-color.jpg" alt="Shadow is the compliment of the color" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/09/shadow-color.jpg 580w, https://cdn.css-tricks.com/wp-content/uploads/2016/09/shadow-color-300x193.jpg 300w" sizes="(max-width: 580px) 100vw, 580px" /></figure><br />
<h4>Native Color Inputs</h4><br />
<p>There is a native browser color selector that you can employ to help your users select colors dynamically. You can write <code><input type="color"></code> or <code><input type="color" value="#ff0000"></code> if you'd like to start off with color hinting. It's that simple to use. Good job, browsers. One thing to keep in mind is that the way that it will appear will vary slightly from browser to browser, just like any other native controls. <a href="http://codepen.io/noahblon/pen/ZbjmbK/">This pen from Noah Blon</a> shows how to use that in tandem with a hue CSS color filter to dynamically select portions of an image to change the color of. The rest of image is greyscale, so it's not affected. Pretty clever.</p><br />
<h3>Fun Developer Stuff and Other Resources</h3><br />
<ul><br />
<li>The <a href="https://packagecontrol.io/packages/Color%20Highlighter">Color Highlighter Plugin for Sublime Text</a> is what I use to easily see what color the browser is going to interpret. I like to use <code>{"ha_style": "outlined"}</code> but I know from <a href="http://wesbos.com/highlight-css-colours-in-sublime-text/">this article</a> that Wes Bos prefers “filled”.</li><br />
<li>There are some different traditional palette combinations, and online web resources that can help you drum these up. For the more scientific, <a href="http://paletton.com/">Paletton</a> or <a href="https://color.adobe.com/create/color-wheel/">Adobe Color</a>. Benjamin Knight <a href="http://codepen.io/benknight/pen/nADpy">recreated Adobe's color tool in d3 on CodePen</a>, which is pretty badass and worth checking out. If you want the web to do the heavy lifting for you (who doesn't?), <a href="https://coolors.co/">Coolors</a> is as simple as can be.</li><br />
<li>If you need help interpreting colors, and want a quick simple tool to exchange types of color properties for you, <a href="http://www.colorhexa.com/">Colorhexa</a> has you covered in pretty much every type of color exchange you can think of.</li><br />
<li>For the nerdiest of color nerds, you can even have your console output in colors to you. Here's <a href="http://codepen.io/jscottsmith/pen/VLzMLo/">a great Pen</a> showing how that works.</li><br />
</ul><br />
<h3>Conclusion</h3><br />
<p>The scope of this article is rather large, and the web has a lot of color to delve into, but hopefully this short article gives you a jumping off point for some experimentation and understanding.</p><br />
<hr /><br />
<p><small><a rel="nofollow" href="https://css-tricks.com/nerds-guide-color-web/">A Nerd's Guide to Color on the Web</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-74034816143658990282016-08-30T08:10:00.001-07:002016-08-30T08:10:03.681-07:00Fixing JPEG's “Photocopier Effect” problem<p><img src="http://netdna.webdesignerdepot.com/uploads/2016/08/featured_jpg.jpg" align="left" alt="" width="100%" style="max-width:100%; width:auto;" /> If you make a copy of a copy of a copy, the quality will deteriorate with each subsequent version in a phenomenon called “generation loss.” It's easy to understand why this happens with actual copier machines. Scanning and printing are based on noisy sensors and physical paper and ink, and the resulting noise will tend to accumulate.</p><br />
<p>Digital images should not suffer generation loss. In theory, a file can be copied over and over again, and it should be bit-for-bit identical to the original. However, lossy image formats, such as JPEG, can behave like photocopiers. If you simply copy a JPEG file, nothing changes. But if you open a JPEG file in an image editor and then save it, you will get a different JPEG file. Some information can be lost in the process, and compression artifacts will start to accumulate. Do this often enough, and the image will eventually degrade beyond use.</p><br />
<h1 id="the-problems-with-resaving-JPEGs">The problems with resaving JPEGs</h1><br />
<p>In this video, you can see what happens to image quality when you re-encode a JPEG image many times.</p><br />
<p><iframe width="928" height="522" frameborder="0" src="https://www.youtube.com/embed/jjhomJ04S18"></iframe></p><br />
<p>JPEG offers quality settings that result in a trade-off between compression and visual quality.</p><br />
<p>But if you just save the JPEG at a high enough quality setting, there won't be a problem, right? Not exactly. Information that is lost when JPEGs are re-saved cannot be magically recovered. So if you take a JPEG image that was saved with a quality of 70, then re-saving it with a quality of 90 will, of course, not make the image look any better. In fact, it will even be worse. Every additional JPEG encoding will introduce additional loss, even if it is done at a higher quality setting than the original JPEG.</p><br />
<p>To understand this problem, we have to appreciate how this format uses several mechanisms to reduce the file size of an image, some of which don't accumulate while others do.</p><br />
<p>The first is a color space transformation. Digital images are typically represented as pixels containing three separate 8-bit RGB (red, green, blue) values, which are statistically correlated in most images. For example, in a grayscale image, the three channels are completely identical. So if image compression is the goal, RGB is not the best representation. Instead, JPEG uses the YCbCr color space. The Y channel is called <em>luma</em> (the intensity of the light, i.e. the grayscale image), the two other channels, Cb and Cr, are called <em>chroma</em> (the color components). Besides decorrelating the pixel information, this color transformation has another advantage: The human eye is more sensitive to luma than it is to chroma, so in lossy compression, you can get away with more loss in the chroma channels than in the luma channel.</p><br />
<p>The color space transformation itself already introduces some loss, due to rounding errors and limited precision. If you transform an image containing all 16.7 million different colors from RGB to YCbCr and back, and then count the number of different colors, you'll end up with only about 4 million different colors; most of the loss is in the red and blue channels.</p><br />
<p><img style="max-width:100%;" src="http://netdna.webdesignerdepot.com/uploads/2016/08/rgb-ycbcr.png" width="650" title="" alt="" /></p><br />
<p>The YCbCr color transformation by itself does not result in generation loss. It's a relatively small, one-time loss in color precision, but it does not accumulate. JPEG also does “chroma subsampling”-sometimes called “4:2:0”-that results in only the Y channel being encoded at full resolution; while the Cb and Cr channel resolutions are cut in half both horizontally and vertically. As a result, chroma channels are reduced to one third of the total.</p><br />
<p>Chroma subsampling contributes to generation loss and can lead to color bleeding or color drifting. The chroma channels become increasingly blurry with each iteration of subsampling/upsampling. For example, this is what happens if you take an image and save it with a JPEG quality of 100 with 4:2:0 chroma subsampling:</p><br />
<p><img style="max-width:100%;" src="http://netdna.webdesignerdepot.com/uploads/2016/08/subsample.png" width="650" title="" alt="" /></p><br />
<p>While color space transformation and chroma subsampling can lead to generation loss, it isn't the cause of real loss in JPEGs, though.</p><br />
<p>The core of JPEG compression is quantization, which is a very simple yet effective mechanism. If you want to compress some sequence of numbers-it doesn't actually matter whether these numbers represent pixel values, DCT coefficients or something else-the amount of space you need to encode them depends on how large the numbers are. For smaller numbers, less bits are needed.</p><br />
<p>To make those numbers smaller, you divide them by some number-called a <em>quantization constant</em>-in the encoder, and then multiply it again by that same number in the decoder. The larger this quantization constant, the smaller the encoded values will become. But the image becomes more lossy because we're rounding everything to integers here (otherwise the numbers wouldn't really become smaller).</p><br />
<p>This also explains why re-saving a JPEG file at a higher quality setting than the original is always a bad idea: you'll get a larger file with more loss than if you would re-save it at the exact same quality setting.</p><br />
<h1 id="issues-with-other-image-formats">Issues with other image formats</h1><br />
<p>You might expect that JPEG suffers from generation loss because it is a 25-year-old file format, and newer formats are better. But that's not so. Modern image formats, such as WebP (released in 2010) or BPG (released in 2014) suffer even more from generation loss than JPEG. WebP and BPG use variable-sized, larger macroblocks, which is good for compression, but can result in an error in one part of the image more easily propagating to other parts of the image. This does not mean that WebP and BPG are bad image formats, you just have to be careful in how you use them.</p><br />
<p>FLIF is a lossless image format that outperforms other lossless image formats. FLIF also has a lossy encoder that modifies the image so that the lossless compression works better on it. It is much less sensitive to generation loss because the format itself is lossless. Generation loss commonly occurs when you significantly modify the image between generations, for example by performing a rotation or resizing.</p><br />
<p>The color space of FLIF is YCoCg, which does not introduce loss, and there is no chroma subsampling, nor transformation to DCT that introduces rounding errors. Instead of using quantization, FLIF rounds small values to zero and discards a number of bits. This works because the values it encodes are differences (between predicted pixel values and actual pixel values), not absolute values (of DCT coefficients).</p><br />
<h1 id="avoiding-generation-loss">Avoiding generation loss</h1><br />
<p>There are only two ways to avoid generation loss:</p><br />
<ol style="list-style-type: decimal;"><br />
<li>Keep the number of generations as close as possible to 1-the generation count has a larger impact on the image quality than the actual quality settings you use. (For example, if you save an image first with a JPEG quality of 85 and then re-save it with a quality of 90, the result will actually be more lossy than if you saved it only once with a quality of 80.)</li><br />
<li>Don't use a lossy format-when editing images, it is best to store the original and intermediate images using lossless image formats like PNG, TIFF, FLIF, or native image editor formats like PSD or XCF. Only when you're done should the final image be saved using a lossy format like JPEG to reduce the file size. If you later change your mind and want to do some further editing, you can go back to the lossless originals and start from there. When this is not an option-say, you find an image on the internet that you want to edit and reuse, chances are the image is a JPEG file, and the original cannot be found. In this case, one thing you can do is track down the image using Google Image Search, and try to find the earliest generation, i.e. the oldest and highest resolution version of the image.</li><br />
</ol><br />
<p><a href="cloudinary.com/?utm_source=WDD&utm_medium=Sponsored_Post_JPEG_Copy&utm_campaign=JPEG_PHOTOCOPIER">Cloudinary</a> can help with minimizing the photocopier effect. You can upload the highest resolution, highest quality original image you have available (lossless if possible), especially if you're using automatic format selection. <a href="cloudinary.com/?utm_source=WDD&utm_medium=Sponsored_Post_JPEG_Copy&utm_campaign=JPEG_PHOTOCOPIER">Cloudinary</a> always keeps your original image as is (adding zero generation loss) and each derived image is encoded directly from the original (adding one generation, which is inevitable). With that approach, you can ensure that your image assets are futureproof. When in the future, higher image qualities and/or resolutions are required or desired, or new image formats become available, it will be an effortless change.</p><br />
<p> </p><br />
<p><em>[- This is a sponsored post on behalf of Cloudinary –]</em><br /><br />
<table width="100%" style="border-top:1px solid #d7d7d7; border-bottom:1px solid #d7d7d7;" height="20"><br />
<tr><br />
<td valign="center"><br />
<a href="http://www.mightydeals.com/deal/exclusive-500-linear-vector-elements-icons-bundle.html?ref=inwidget"><font face="Arial" size="3" color="#e64f32"><b>Mighty Deals Exclusive! 500+ Linear Vector Elements & Icons – only $14!</b></font></a><br />
</td><br />
<td width="90"><br />
<a href="http://www.mightydeals.com/?ref=inwidget"><br /><br />
<img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" border="0" title="" alt="" /><br /><br />
</a><br />
</td><br />
</tr><br />
</table><br />
<p> </p><br />
<a href="http://www.webdesignerdepot.com/2016/08/fixing-jpgs-photocopier-effect-problem/">Source</a><br />
<style type="text/css"><br />
p img {display:inline-block; margin-right:10px;}<br />
.alignleft {float:left;}<br />
p.showcase {clear:both;}<br />
body#browserfriendly p, body#podcast p, div#emailbody p{margin:0;}<br />
</style><img src="http://feeds.feedburner.com/~r/webdesignerdepot/~4/w_VRow5775Q" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-10522424818264527982016-08-30T07:05:00.001-07:002016-08-30T07:05:11.689-07:00Fun Times With CSS Pixel Art<p>Pixel art is one of those lost art forms that have been overshadowed by super crisp, high resolutions images. I stumbled on some pixel art while surfing around CodePen and it reminded me how awesome it is.</p><br />
<p><span id="more-244794"></span></p><br />
<p data-height="660" data-theme-id="1" data-slug-hash="yJGobo" data-default-tab="result" data-user="agilBAKA" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/agilBAKA/pen/yJGobo/">Pikachu pixel css</a> by Devi Krisdiansyah (<a href="http://codepen.io/agilBAKA">@agilBAKA</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>How cool is that?! There's something about pixelated graphics that adds a layer of simplicity and friendliness that can get lost in high definition images and illustrations.</p><br />
<p>It's also a great example of how we can create pixel art using HTML and CSS. Let's break this concept down and create a pattern we can use in other instances.</p><br />
<h3>Create a Grid</h3><br />
<p>First things first. We need a canvas to paint our pixelated masterpiece. This is really a grid that we can create a couple of different ways. </p><br />
<p>One way would be a standard <a href="https://css-tricks.com/complete-guide-table-element/">HTML <code><table></code></a> that contains a bunch of fixed-width cells in each row. For example, let's say we draw a perfectly square table that is eight columns wide and eight rows deep. If we make each cell 10 pixels square, then we have a table that is 80px wide and tall:</p><br />
<p data-height="201" data-theme-id="1" data-slug-hash="yJWXZK" data-default-tab="result" data-user="geoffgraham" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/geoffgraham/pen/yJWXZK/">CSS Pixels - Table Grid Example</a> by Geoff Graham (<a href="http://codepen.io/geoffgraham">@geoffgraham</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>Want a larger canvas? Give the cells a larger dimension. Want to go from 8-bit to 16-bit resolution? Double the number of cells in each table row.</p><br />
<p>The other way to set up a grid is to ditch the table and replace it with two divs: one that acts as the container for our canvas and another that will can be repeated as many times as we want to represent each pixel in the canvas.</p><br />
<pre rel="HTML"><code class="language-markup"><div class="canvas"><br />
<div class="pixel"></div><br />
<!-- Repeat as many times as needed --><br />
</div><!-- end .canvas --></code></pre><br />
<p>The trick here is knowing exactly how many pixels to create. For that, we can multiple the number of pixels wide by the number of pixels tall. For example, if we create the same <code>80px</code> square grid as the table method and want a grid that is 8 pixels wide by 8 pixels tall, then we can multiply those for a grand total of 64 pixels.</p><br />
<pre rel="CSS"><code class="language-css">.canvas {<br />
/* Perfectly square */<br />
width: 80px;<br />
height: 80px;<br />
}<br />
<br />
.pixel {<br />
/* We'll need 64 total pixels in our HTML */<br />
width: 10px;<br />
height: 10px;<br />
float: left;<br />
}</code></pre><br />
<p data-height="240" data-theme-id="1" data-slug-hash="kXdwoQ" data-default-tab="result" data-user="geoffgraham" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/geoffgraham/pen/kXdwoQ/">CSS Pixels - Div Example</a> by Geoff Graham (<a href="http://codepen.io/geoffgraham">@geoffgraham</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>What I like about this method is that it is truer to the canvas dimensions we define. I also find it easier to not have to work with the extra HTML markup that comes with <code>table</code>.</p><br />
<p>If we want more pixels to create a more detailed pattern, then we can quadruple the number of pixels in our HTML markup and cut the size of our pixels in half. This is kind of like making an image in Photoshop that is twice the size of the dimensions you plan to use on the page to create a higher resolution.</p><br />
<pre rel="CSS"><code class="language-css">.canvas {<br />
/* Perfectly square */<br />
width: 80px;<br />
height: 80px;<br />
}<br />
<br />
.pixel {<br />
/* We'll need 256 total pixels in our HTML */<br />
width: 5px;<br />
height: 5px;<br />
float: left;<br />
}</code></pre><br />
<h3>Start Painting</h3><br />
<p>This is where the rubber meets the road in the sense that we add color to our pixels. We can use the <code>nth-child</code> attribute to select specific pixels in the grid.</p><br />
<pre rel="CSS"><code class="language-css">/* The third cell in our grid */<br />
.pixel:nth-child(3) {<br />
background: orange;<br />
}</code></pre><br />
<p>As you can imagine, this list will get very long very quickly depending on the number of cells in the grid and the how much detail the design requires. The opening example in this post uses 1,920 total pixels in the grid and more than 300 different child selectors. Phew!</p><br />
<h3>A Simple Example</h3><br />
<p>I decided to make a pixelated self portrait. It's pretty simple since I went with very few pixels and only four total colors.</p><br />
<p data-height="283" data-theme-id="1" data-slug-hash="qNGXjA" data-default-tab="result" data-user="geoffgraham" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/geoffgraham/pen/qNGXjA/">CSS Pixels - Self Portrait</a> by Geoff Graham (<a href="http://codepen.io/geoffgraham">@geoffgraham</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h3>CSS Pixel Art as an Icon</h3><br />
<p>Now that we have something to work with, we can use the <code>transform</code> property to scale our artwork down and use it like an icon:</p><br />
<p data-height="158" data-theme-id="1" data-slug-hash="rLgGar" data-default-tab="result" data-user="geoffgraham" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/geoffgraham/pen/rLgGar/">CSS Pixels - Self Portrait - Icon</a> by Geoff Graham (<a href="http://codepen.io/geoffgraham">@geoffgraham</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h3>Other Pixel Drawing Techniques</h3><br />
<h4>box-shadow</h4><br />
<p>You can draw pixel art within a single element by using a big complicated <code>box-shadow</code>! If you declare a vertical and horizontal offset for the box-shadow, but not a blur or spread radius, you'll get a clean colorized copy of the shape of the element to move around.</p><br />
<p>Here's the concept. The black "pixel" is the original, and I've created an orange pixel to the bottom left and a red pixel to the bottom right.</p><br />
<p data-height="300" data-theme-id="1" data-slug-hash="qaWqLV" data-default-tab="css,result" data-user="chriscoyier" data-embed-version="2" data-editable="true" class="codepen">See the Pen <a href="http://codepen.io/chriscoyier/pen/qaWqLV/">Basics of Pixel Art</a> by Chris Coyier (<a href="http://codepen.io/chriscoyier">@chriscoyier</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>You could go hog-wild with that and do entire drawings. </p><br />
<p data-height="497" data-theme-id="1" data-slug-hash="yYbmrm" data-default-tab="result" data-user="servinlp" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/servinlp/pen/yYbmrm/">Pixel Hellboy</a> by servin (<a href="http://codepen.io/servinlp">@servinlp</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h4>Preprocessing</h4><br />
<p>Variables could help make it easier to adjust colors and sizing and such. Here's an example in Less:</p><br />
<p data-height="300" data-theme-id="1" data-slug-hash="jbMXwq" data-default-tab="css,result" data-user="msanz" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/msanz/pen/jbMXwq/">Pixel-art hipster pacwoman</a> by Mario Sanz (<a href="http://codepen.io/msanz">@msanz</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>Here's an example by Una Kravets that takes it a step further in creating the box shadow with a Sass map, which is pretty darn clever:</p><br />
<pre rel="SCSS"><code class="language-scss">// Setting the colors we're syncing up with<br />
$pixel-color-map: (<br />
'r' : #f00,<br />
'w': #fff,<br />
'k': #000,<br />
'o': transparent,<br />
't': #83401f,<br />
'p': #ffbc77,<br />
'b': #06f,<br />
'y': #ff0,<br />
'n': #ff8000,<br />
'g': #5ac528<br />
);<br />
<br />
// Mario pixel art matrices!<br />
$pixel-art:(<br />
mushroom: (<br />
(o o o o o k k k k k k o o o o o)<br />
(o o o k k r r r r w w k k o o o)<br />
(o o k w w r r r r w w w w k o o)<br />
(o k w w r r r r r r w w w w k o)<br />
(o k w r r w w w w r r w w w k o)<br />
(k r r r w w w w w w r r r r r k)<br />
(k r r r w w w w w w r r w w r k)<br />
(k w r r w w w w w w r w w w w k)<br />
(k w w r r w w w w r r w w w w k)<br />
(k w w r r r r r r r r r w w r k)<br />
(k w r r k k k k k k k k r r r k)<br />
(o k k k w w k w w k w w k k k o)<br />
(o o k w w w k w w k w w w k o o)<br />
(o o k w w w w w w w w w w k o o)<br />
(o o o k w w w w w w w w k o o o)<br />
(o o o o k k k k k k k k o o o o)<br />
)<br />
);</code></pre><br />
<p>There are a few more functions in there to convert that into the box-shadow and apply it. Here's the final result:</p><br />
<p data-height="566" data-theme-id="1" data-slug-hash="oXXRgg" data-default-tab="result" data-user="una" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/una/pen/oXXRgg/">Sass-Generated Box Shadow Pixel Art!</a> by Una Kravets (<a href="http://codepen.io/una">@una</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<p>Remember box-shadow can be animated too!</p><br />
<p data-height="300" data-theme-id="1" data-slug-hash="OXEEgL" data-default-tab="result" data-user="AstroDroid" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/AstroDroid/pen/OXEEgL/">Ash and Pikachu box-shadow Pixel Art</a> by Andrew (<a href="http://codepen.io/AstroDroid">@AstroDroid</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h4>Canvas</h4><br />
<p>The <code><canvas></code> APIs can certainly draw rectangles!</p><br />
<pre rel="JavaScript"><code class="language-javascript">var canvas = document.getElementById("canvas");<br />
var ctx = canvas.getContext("2d");<br />
<br />
ctx.fillStyle = "rgb(53, 41, 15)";<br />
ctx.fillRect(48, 0, 8, 8);<br />
ctx.fillStyle = "rgb(238, 187, 68)";<br />
ctx.fillRect(56, 0, 8, 8);</code></pre><br />
<p data-height="384" data-theme-id="1" data-slug-hash="fvnek" data-default-tab="js,result" data-user="MyXoToD" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/MyXoToD/pen/fvnek/">Canvas Ark from Terranigma</a> by Max (<a href="http://codepen.io/MyXoToD">@MyXoToD</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h4>SVG</h4><br />
<p>An of course <code><svg></code> has <code><rect></code>. But you could even cheat a little and make <code><polygon></code>s that combine multiple pixels. </p><br />
<p data-height="380" data-theme-id="1" data-slug-hash="pJmQWj" data-default-tab="html,result" data-user="Alo62" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/Alo62/pen/pJmQWj/">Pixel me</a> by Aloïs De Schepper (<a href="http://codepen.io/Alo62">@Alo62</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h4>3D!</h4><br />
<p>Ok I think we've done enough here.</p><br />
<p data-height="396" data-theme-id="1" data-slug-hash="qEibr" data-default-tab="result" data-user="cx20" data-embed-version="2" class="codepen">See the Pen <a href="http://codepen.io/cx20/pen/qEibr/">3D Pixel Art</a> by cx20 (<a href="http://codepen.io/cx20">@cx20</a>) on <a href="http://codepen.io">CodePen</a>.</p><br />
<h3>It's Your Turn!</h3><br />
<p>We're always a fan of you doing things your own way, but know there are some tools already out there for drawing with pixels:</p><br />
<ul><br />
<li>Ludvig Lindblom's <a href="https://codepen.io/ludviglindblom/pen/rcJmp">Canvas box-shadow pixel art generator</a></li><br />
<li>Jenn Schiffer's <a href="https://make8bitart.com/">make 8-bit art!</a></li><br />
<li>XOXCO's <a href="http://makepixelart.com/free/">Make Pixel Art</a></li><br />
</ul><br />
<p>Have you created CSS pixel art that you'd be willing to share? I created a <a href="http://codepen.io/collection/XmZxzJ/">collection in CodePen</a>, but please post your examples in the comments below so we can bask in the awesomeness.</p><br />
<hr /><br />
<p><small><a rel="nofollow" href="https://css-tricks.com/fun-times-css-pixel-art/">Fun Times With CSS Pixel Art</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-90310080355737670862016-08-22T17:05:00.001-07:002016-08-22T17:05:16.430-07:00FBI Releases Mobile App for Finding Bank Robbers<p>The new app enlists public's assistance in identifying bank robbers with wanted posters at your finger tips.</p><img src='https://media.npr.org/include/images/tracking/npr-rss-pixel.png?story=490961959' />Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0tag:blogger.com,1999:blog-6065919896822110618.post-88728615182364669752016-08-20T14:05:00.001-07:002016-08-20T14:05:26.487-07:00Pabellon Hinrichsen is a chunky concrete outbuilding for a house in Argentina<p><a href="http://www.dezeen.com/2016/08/20/pabellon-hinrichsen-ottolenghi-architects-moarqs-buenos-aires-house-concrete-outbuilding/"><br />
<img src="https://static.dezeen.com/uploads/2016/08/Pabellon-Hinrichsen-Moarqs-buenos-aires-argentina-concrete-architecture_dezeen_sq.jpg" /><br />
</a></p><br />
<p>Argentinian studios Moarqs and Ottolenghi Architects designed this chunky <a href="http://www.dezeen.com/tag/concrete">concrete</a> building to provide extra accommodation for a house in Buenos Aires Province (+ slideshow). <a href="http://www.dezeen.com/2016/08/20/pabellon-hinrichsen-ottolenghi-architects-moarqs-buenos-aires-house-concrete-outbuilding/" class="more-link">(more…)</a></p><br />
<img src="http://feeds.feedburner.com/~r/dezeen/~4/kVeBvaW2c5Q" height="1" width="1" alt=""/>Wingazinghttp://www.blogger.com/profile/01204324901439431134noreply@blogger.com0