<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Techniques</title>
        <link>http://geekswithblogs.net/Shadowin/category/8527.aspx</link>
        <description>Code tips</description>
        <language>en-US</language>
        <copyright>Chris Eargle</copyright>
        <managingEditor>shadowin@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>32-bit Bitmap</title>
            <link>http://geekswithblogs.net/Shadowin/archive/2009/05/21/32-bit-bitmap.aspx</link>
            <description>&lt;div class="text"&gt;
&lt;p&gt;If you're creating toolbars and menus for Visual Studio, the only way to get a crisp icon for the item is to use a 32-bit bitmap, which is a 24-bit bitmap plus an 8-bit alpha channel. Unlike lower bit levels, 32-bit bitmaps support transparency which prevent your icons from looking like a box. Worse still, I discovered that using 24-bit bitmaps creates artifacts in the form of little black dots when rendered. &lt;/p&gt;
&lt;p&gt;Unfortunately, unless you have a license to Photoshop, you may discover that none of your tools create 32-bit bitmaps. I don't have a Photoshop license at work so I use &lt;a href="http://www.getpaint.net/"&gt;Paint.NET&lt;/a&gt; to do my graphical work (which is great in most of my scenarios). Here's what the Paint.NET author had to say about why &lt;a href="http://blog.getpaint.net/2008/02/17/paintnet-v330-preview/"&gt;32-bit bitmaps aren't supported&lt;/a&gt;: "GDI+ just refuses to cooperate in allowing me to do that." &lt;/p&gt;
&lt;p&gt;Luckily, I found a free tool, &lt;a href="http://www.najmanowicz.com/temp/AlphaConv.zip"&gt;AlphaConv&lt;/a&gt;, that will convert png files to 32-bit bmp files. My process is as follows. &lt;/p&gt;
&lt;p&gt;1) Create a png in Paint.NET with 32-bit Bit Depth. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.kodefuguru.com/image.axd?picture=2009%2f5%2fSavePng.PNG" /&gt; &lt;/p&gt;
&lt;p&gt;2) Drag and drop the png into AlphaConv with Target format set to .bmp. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.kodefuguru.com/image.axd?picture=2009%2f5%2fAlphaConv.PNG" /&gt; &lt;/p&gt;
&lt;p&gt;3) Copy the resulting bmp file to my project directory, compile my application. &lt;/p&gt;
&lt;img alt="" src="http://www.kodefuguru.com/image.axd?picture=2009%2f5%2fToolbar.PNG" /&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132344"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132344" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Shadowin/aggbug/132344.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Eargle</dc:creator>
            <guid>http://geekswithblogs.net/Shadowin/archive/2009/05/21/32-bit-bitmap.aspx</guid>
            <pubDate>Thu, 21 May 2009 15:46:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Shadowin/comments/132344.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Shadowin/archive/2009/05/21/32-bit-bitmap.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Shadowin/comments/commentRss/132344.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Shadowin/services/trackbacks/132344.aspx</trackback:ping>
        </item>
        <item>
            <title>String to Stream</title>
            <link>http://geekswithblogs.net/Shadowin/archive/2008/08/07/124300.aspx</link>
            <description>&lt;p&gt;Sometimes a string isn't enough, you need a stream. Unfortunately, there isn't a direct method to stick a string into a stream. But we are saved! MemoryStream will take bytes... here's how to convert your string into a series of bytes so you can get that all important StringStream. No, I'm not going to make a StringStream class though you certainly can fulfill your masochistic class explosion desires. &lt;/p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt; request = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;"I can has cheezburger?"&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;font color="#2b91af" size="2"&gt;MemoryStream&lt;/font&gt;&lt;font size="2"&gt; stream = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;MemoryStream&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Encoding&lt;/font&gt;&lt;font size="2"&gt;.Unicode.GetBytes(request));&lt;/font&gt; &lt;/p&gt;
&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124300"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124300" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Shadowin/aggbug/124300.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Eargle</dc:creator>
            <guid>http://geekswithblogs.net/Shadowin/archive/2008/08/07/124300.aspx</guid>
            <pubDate>Thu, 07 Aug 2008 22:37:35 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Shadowin/comments/124300.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Shadowin/archive/2008/08/07/124300.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Shadowin/comments/commentRss/124300.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Shadowin/services/trackbacks/124300.aspx</trackback:ping>
        </item>
    </channel>
</rss>