<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msdnvietnam.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Silverlight Tip of the Day #7: Creating Transparent PNG files for Silverlight</title><link>http://msdnvietnam.net/wikis/silverlighttips/silverlight-tip-of-the-day-7-creating-transparent-png-files-for-silverlight.aspx</link><description>Các mẹo khi lập trình SilverLight</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Silverlight Tip of the Day #7: Creating Transparent PNG files for Silverlight</title><link>http://msdnvietnam.net/wikis/silverlighttips/silverlight-tip-of-the-day-7-creating-transparent-png-files-for-silverlight.aspx</link><pubDate>Wed, 29 Jul 2009 16:24:01 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:8</guid><dc:creator>Nguyễn Thị Như Quỳnh</dc:creator><comments>http://msdnvietnam.net/wikis/silverlighttips/silverlight-tip-of-the-day-7-creating-transparent-png-files-for-silverlight/comments.aspx</comments><description>Current revision posted to SilverLight programming tip tricks by Nguyễn Thị Như Quỳnh on 7/30/2009 12:24:01 AM&lt;br /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Với những file ảnh đu&amp;ocirc;i GIF( kh&amp;ocirc;ng được hỗ trợ trong
Silverlight 2), để l&amp;agrave;m cho ảnh trở tr&amp;ecirc;n trong suốt (transparency)&amp;nbsp; ho&amp;agrave;n
to&amp;agrave;n rất dễ d&amp;agrave;ng bởi v&amp;igrave; bạn chỉ cần chỉ r&amp;otilde; m&amp;agrave;u n&amp;agrave;o trong h&amp;igrave;nh đu&amp;ocirc;i GIF đ&amp;oacute; m&amp;agrave; bạn
muốn n&amp;oacute; trong suốt. Nhưng với h&amp;igrave;nh ảnh đu&amp;ocirc;i PNG, điều đ&amp;oacute; c&amp;oacute; kh&amp;oacute; hơn ch&amp;uacute;t x&amp;iacute;u. Bạn
sẽ phải sử dụng một c&amp;ocirc;ng cụ chỉnh sửa để l&amp;agrave;m sạch (clear) hết những v&amp;ugrave;ng b&amp;ecirc;n
ngo&amp;agrave;i m&amp;agrave; bạn kh&amp;ocirc;ng muốn n&amp;oacute; hiển thị ra. C&amp;oacute; một c&amp;ocirc;ng cụ để l&amp;agrave;m điều n&amp;agrave;y, v&amp;agrave; t&amp;ocirc;i
sẽ chỉ cho c&amp;aacute;c bạn l&amp;agrave;m điều đ&amp;oacute;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Bước 1.&lt;/b&gt; T&amp;igrave;m một c&amp;ocirc;ng cụ chỉnh sửa
hỗ trợ định dạng file GIF v&amp;agrave; sử dụng c&amp;ocirc;ng cụ &amp;quot;Magic Wand&amp;quot; để l&amp;agrave;m sạch
những v&amp;ugrave;ng kh&amp;ocirc;ng cần thiết. Mở file ảnh m&amp;agrave; bạn muốn chỉnh sửa trong c&amp;ocirc;ng cụ m&amp;agrave;
bạn đ&amp;atilde; chọn. Đối với v&amp;iacute; dụ n&amp;agrave;y, ch&amp;uacute;ng ta sẽ sử dụng h&amp;igrave;nh ảnh của thầy ph&amp;ugrave; thủy
nhỏ dễ thương như h&amp;igrave;nh 7.1.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://silverlight.net/blogs/msnow/WindowsLiveWriter/PartVIICreatingTransparentPNGfilesforSil_D7DE/attack%20e0005.png" width="100" height="100" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;H&amp;igrave;nh&lt;/b&gt;&lt;b&gt; 7.1&lt;/b&gt; Attacking Mage&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Bước 2.&lt;/b&gt; Click v&amp;agrave;o n&amp;uacute;t &amp;nbsp;&amp;quot;Magic Want&amp;quot; &lt;img src="http://silverlight.net/blogs/msnow/WindowsLiveWriter/PartVIICreatingTransparentPNGfilesforSil_D7DE/image_2.png" width="26" height="24" alt="" /&gt;&amp;nbsp;tr&amp;ecirc;n thanh toolbar. Nếu bạn sử dụng
c&amp;ocirc;ng cụ l&amp;agrave; Photoshop,đầu ti&amp;ecirc; h&amp;atilde;y nhấp đ&amp;ocirc;i v&amp;agrave;o layer để x&amp;oacute;a đi layer background
gốc. Phương ph&amp;aacute;p n&amp;agrave;y sẽ l&amp;agrave;m cho m&amp;agrave;u nền ảnh (background) được trong suốt v&amp;agrave; kh&amp;ocirc;ng
c&amp;oacute; m&amp;agrave;u trắng. Nếu được, h&amp;atilde;y g&amp;aacute;n Tolerance level = 0 để n&amp;oacute; chỉ chọn v&amp;ugrave;ng m&amp;agrave;u n&amp;acirc;u th&amp;ocirc;i. V&amp;agrave; nếu được,
h&amp;atilde;y tắt Anti-Alias.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Bước&lt;/b&gt;&lt;b&gt; 3.&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;Clich chuột tr&amp;aacute;i l&amp;ecirc;n v&amp;ugrave;ng m&amp;agrave;u n&amp;acirc;u như h&amp;igrave;nh 7.2
( tức l&amp;agrave; sau khi bạn chọn magic want tr&amp;ecirc;n thanh c&amp;ocirc;ng cụ th&amp;igrave; chỉ cần bạn
click v&amp;agrave;o v&amp;ugrave;ng mầu n&amp;acirc;u tr&amp;ecirc;n h&amp;igrave;nh) v&amp;agrave; bạn sẽ thấy tất cả những v&amp;ugrave;ng m&amp;agrave;u n&amp;acirc;u được chọn.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://silverlight.net/blogs/msnow/WindowsLiveWriter/PartVIICreatingTransparentPNGfilesforSil_D7DE/image_8.png" width="244" height="242" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;H&amp;igrave;nh&lt;/b&gt;&lt;b&gt; 7.2&lt;/b&gt; Ranh giới được chọn tr&amp;ecirc;n h&amp;igrave;nh&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Bước&lt;/b&gt;&lt;b&gt; 4.&lt;/b&gt; Nhấn ph&amp;iacute;m delete tr&amp;ecirc;n b&amp;agrave;n ph&amp;iacute;m. Kết quả background của
h&amp;igrave;nh được x&amp;oacute;a như h&amp;igrave;nh 7.3.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://silverlight.net/blogs/msnow/WindowsLiveWriter/PartVIICreatingTransparentPNGfilesforSil_D7DE/image_10.png" width="244" height="244" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;H&amp;igrave;nh&lt;/b&gt;&lt;b&gt; 7.3&lt;/b&gt; Background đ&amp;atilde; được x&amp;oacute;a.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Bước &lt;/b&gt;&lt;b&gt;&amp;nbsp;5.&lt;/b&gt;
Lưu lại h&amp;igrave;nh đ&amp;atilde; x&amp;oacute;a background với định dạng đu&amp;ocirc;i PNG. H&amp;igrave;nh n&amp;agrave;y b&amp;acirc;y giờ sẽ được
hiển thị trong Silverlight như l&amp;agrave; một h&amp;igrave;nh trong suốt ở những khu vực m&amp;agrave; bạn đ&amp;atilde;
cắt b&amp;ecirc;n ngo&amp;agrave;i &amp;nbsp;h&amp;igrave;nh ph&amp;ugrave; thủy nhỏ dễ
thương. Dưới đ&amp;acirc;y l&amp;agrave; một v&amp;iacute; dụ để biết được phải l&amp;agrave;m sao để loadv&amp;agrave; hiển thị file
ảnh đu&amp;ocirc;i PNG. Ch&amp;uacute;ng ta gọi phương thức n&amp;agrave;y l&amp;agrave; LoadImage() v&amp;agrave; hơn nữa l&amp;agrave; ta sẽ
th&amp;ecirc;m image resource v&amp;agrave;o một &amp;nbsp;Canvas c&amp;oacute; t&amp;ecirc;n l&amp;agrave; MapCanvas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; DisplayPNG()&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;{&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;    Image img = LoadImage(&lt;span style="color:#006080;"&gt;&amp;quot;images/mage.png&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;    MapCanvas.Children.Add(img);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Image LoadImage(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; resource)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;{&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;    Image img = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Image();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;    Uri uri = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Uri(resource, UriKind.Relative);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;    ImageSource imgSrc = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; System.Windows.Media.Imaging.BitmapImage(uri);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;    img.SetValue(Image.SourceProperty, imgSrc);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; img;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;i&gt;Credits&lt;/i&gt;: Ch&amp;acirc;n th&amp;agrave;nh c&amp;aacute;m ơn trang web &amp;nbsp;&lt;a href="http://reinerstileset.4players.de/" title="http://reinerstileset.4players.de/"&gt;http://reinerstileset.4players.de/&lt;/a&gt;
(Reiner &amp;quot;Tiles&amp;quot; Prokein) về những h&amp;igrave;nh ảnh n&amp;agrave;y.&lt;/p&gt;
&lt;p&gt;Thank you, &lt;br /&gt;
--Mike Snow &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>
