<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Thumbnail shadows</title>
	<atom:link href="http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/feed/" rel="self" type="application/rss+xml" />
	<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/</link>
	<description>Random bits and things of interest</description>
	<lastBuildDate>Thu, 12 Nov 2009 16:31:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Tirpen</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-307</link>
		<dc:creator>Tirpen</dc:creator>
		<pubDate>Tue, 13 Nov 2007 06:32:04 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-307</guid>
		<description>I didn&#039;t mean that you should just scale them. Obviously you should cut out the areas near the corners and the edges and then just scale the edges. Sorry to be unclear. :)</description>
		<content:encoded><![CDATA[<p>I didn&#8217;t mean that you should just scale them. Obviously you should cut out the areas near the corners and the edges and then just scale the edges. Sorry to be unclear. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sébastien Laoût</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-305</link>
		<dc:creator>Sébastien Laoût</dc:creator>
		<pubDate>Mon, 12 Nov 2007 20:46:21 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-305</guid>
		<description>Well, the blurring code may do the trick as well, and may be more optimized (using GPU in the future, or now).

Oh, and another optimization to not make application startup slower, you can generate the shadow parts only the first time a shadow need to be drawn (the corners and borders are pointers, if they are null, it&#039;s the first time, generate them. The next times, the pointers are not null, simply use them).

So if the user starts Gwenview to view an image, no shadow has to be computed, so no time is lost.</description>
		<content:encoded><![CDATA[<p>Well, the blurring code may do the trick as well, and may be more optimized (using GPU in the future, or now).</p>
<p>Oh, and another optimization to not make application startup slower, you can generate the shadow parts only the first time a shadow need to be drawn (the corners and borders are pointers, if they are null, it&#8217;s the first time, generate them. The next times, the pointers are not null, simply use them).</p>
<p>So if the user starts Gwenview to view an image, no shadow has to be computed, so no time is lost.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aurélien</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-301</link>
		<dc:creator>Aurélien</dc:creator>
		<pubDate>Mon, 12 Nov 2007 08:46:05 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-301</guid>
		<description>@Sébastien Laoût: Thanks for the tips, will have a look at kshadowengine.cpp.</description>
		<content:encoded><![CDATA[<p>@Sébastien Laoût: Thanks for the tips, will have a look at kshadowengine.cpp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Top Posts &#171; WordPress.com</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-300</link>
		<dc:creator>Top Posts &#171; WordPress.com</dc:creator>
		<pubDate>Sun, 11 Nov 2007 23:59:03 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-300</guid>
		<description>[...]  Thumbnail shadows I have been working on improving the thumbnail view appearance lately. I recently added shadows behind thumbnails. It [&#8230;] [...]</description>
		<content:encoded><![CDATA[<p>[...]  Thumbnail shadows I have been working on improving the thumbnail view appearance lately. I recently added shadows behind thumbnails. It [&#8230;] [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sébastien Laoût</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-299</link>
		<dc:creator>Sébastien Laoût</dc:creator>
		<pubDate>Sun, 11 Nov 2007 23:15:16 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-299</guid>
		<description>As an optimization, you can create 2 images:
- A 500x30 pixels one for the four corners and the top &amp; bottom borders
- A 30x500 pixels one for the left &amp; right borders

No need to crate a shadow of a 490x490 uniform pixels.

Or glossian blur, for that matter...

I think it&#039;s a very good optimization to both caching the corners&amp;borders and to generate them using two small rectangles!</description>
		<content:encoded><![CDATA[<p>As an optimization, you can create 2 images:<br />
- A 500&#215;30 pixels one for the four corners and the top &amp; bottom borders<br />
- A 30&#215;500 pixels one for the left &amp; right borders</p>
<p>No need to crate a shadow of a 490&#215;490 uniform pixels.</p>
<p>Or glossian blur, for that matter&#8230;</p>
<p>I think it&#8217;s a very good optimization to both caching the corners&amp;borders and to generate them using two small rectangles!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sébastien Laoût</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-298</link>
		<dc:creator>Sébastien Laoût</dc:creator>
		<pubDate>Sun, 11 Nov 2007 23:10:47 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-298</guid>
		<description>1. Grab the code making shadows in kshadowengine.cpp of Kicker KDE3 library code base.

2. Do all this once at the application start:
- Create an image of say 500x500 pixels (bigger than any shadowed box you have to draw later on)
- Must draw a square of 490x490 pixels on the middle of the image
- Call the shadow method: the Kicker code will generate a shadow for you
- Finally, break the image in 9 parts: the four corners, the four borders, and the center part. 

3. When you need to draw a shadow:
- Paint the four corners arround your image
- Paint the four borders arround your image, by clipping the drawing so that they are cutted down

Except that the application startup is slowed down, every drawings are then very fast.
I use that render,split&amp;cache technics for Kirocker Music Display frame drawings (except that I have to stretch the borders and the middle part, which is slow).</description>
		<content:encoded><![CDATA[<p>1. Grab the code making shadows in kshadowengine.cpp of Kicker KDE3 library code base.</p>
<p>2. Do all this once at the application start:<br />
- Create an image of say 500&#215;500 pixels (bigger than any shadowed box you have to draw later on)<br />
- Must draw a square of 490&#215;490 pixels on the middle of the image<br />
- Call the shadow method: the Kicker code will generate a shadow for you<br />
- Finally, break the image in 9 parts: the four corners, the four borders, and the center part. </p>
<p>3. When you need to draw a shadow:<br />
- Paint the four corners arround your image<br />
- Paint the four borders arround your image, by clipping the drawing so that they are cutted down</p>
<p>Except that the application startup is slowed down, every drawings are then very fast.<br />
I use that render,split&amp;cache technics for Kirocker Music Display frame drawings (except that I have to stretch the borders and the middle part, which is slow).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aurélien</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-297</link>
		<dc:creator>Aurélien</dc:creator>
		<pubDate>Sun, 11 Nov 2007 21:52:42 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-297</guid>
		<description>@Jason: I tried this, using ImageBlitz blur implementation, but I couldn&#039;t get a decent result. It&#039;s also a bit overkill to gaussian blur an almost uniform image, even if I cache the generated shadow.</description>
		<content:encoded><![CDATA[<p>@Jason: I tried this, using ImageBlitz blur implementation, but I couldn&#8217;t get a decent result. It&#8217;s also a bit overkill to gaussian blur an almost uniform image, even if I cache the generated shadow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-296</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Sun, 11 Nov 2007 21:47:29 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-296</guid>
		<description>What about: start with the image&#039;s QRect, offset it in x and y, fill it with black, and apply a Gaussin blur?</description>
		<content:encoded><![CDATA[<p>What about: start with the image&#8217;s QRect, offset it in x and y, fill it with black, and apply a Gaussin blur?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan Monov</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-295</link>
		<dc:creator>Stefan Monov</dc:creator>
		<pubDate>Sun, 11 Nov 2007 21:10:43 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-295</guid>
		<description>Ok let&#039;s see, on second thought non-opaque images shouldn&#039;t have a shadow indeed. Just go ahead and increase the corner radius to fix the glitch.</description>
		<content:encoded><![CDATA[<p>Ok let&#8217;s see, on second thought non-opaque images shouldn&#8217;t have a shadow indeed. Just go ahead and increase the corner radius to fix the glitch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aurélien</title>
		<link>http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-294</link>
		<dc:creator>Aurélien</dc:creator>
		<pubDate>Sun, 11 Nov 2007 20:35:48 +0000</pubDate>
		<guid isPermaLink="false">http://agateau.wordpress.com/2007/11/11/thumbnail-shadows/#comment-294</guid>
		<description>@Tirpen: I am not sure it would look great if I scale them. Plus, it&#039;s nice to be able to tweak the shadow without modifying an image, even if the shadow parameters aren&#039;t accessible from the user interface.

@LordBernhard: Thanks!

@Stefan: Right now no shadows are drawn being images which aren&#039;t fully opaque.

@Liquidat: Thanks!</description>
		<content:encoded><![CDATA[<p>@Tirpen: I am not sure it would look great if I scale them. Plus, it&#8217;s nice to be able to tweak the shadow without modifying an image, even if the shadow parameters aren&#8217;t accessible from the user interface.</p>
<p>@LordBernhard: Thanks!</p>
<p>@Stefan: Right now no shadows are drawn being images which aren&#8217;t fully opaque.</p>
<p>@Liquidat: Thanks!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
