Wiki


Wiki Table of Contents

Tags

Page Details

Published by:
1 person found this article useful.

100% of people found this useful
Silverlight Tip of the Day #7: Creating Transparent PNG files for Silverlight

Filed under: [Edit Tags]

 

Với những file ảnh đuôi GIF( không được hỗ trợ trong Silverlight 2), để làm cho ảnh trở trên trong suốt (transparency)  hoàn toàn rất dễ dàng bởi vì bạn chỉ cần chỉ rõ màu nào trong hình đuôi GIF đó mà bạn muốn nó trong suốt. Nhưng với hình ảnh đuôi PNG, điều đó có khó hơn chút xíu. Bạn sẽ phải sử dụng một công cụ chỉnh sửa để làm sạch (clear) hết những vùng bên ngoài mà bạn không muốn nó hiển thị ra. Có một công cụ để làm điều này, và tôi sẽ chỉ cho các bạn làm điều đó.

Bước 1. Tìm một công cụ chỉnh sửa hỗ trợ định dạng file GIF và sử dụng công cụ "Magic Wand" để làm sạch những vùng không cần thiết. Mở file ảnh mà bạn muốn chỉnh sửa trong công cụ mà bạn đã chọn. Đối với ví dụ này, chúng ta sẽ sử dụng hình ảnh của thầy phù thủy nhỏ dễ thương như hình 7.1.

 

 

Hình 7.1 Attacking Mage

Bước 2. Click vào nút  "Magic Want"  trên thanh toolbar. Nếu bạn sử dụng công cụ là Photoshop,đầu tiê hãy nhấp đôi vào layer để xóa đi layer background gốc. Phương pháp này sẽ làm cho màu nền ảnh (background) được trong suốt và không có màu trắng. Nếu được, hãy gán Tolerance level = 0 để nó chỉ chọn vùng màu nâu thôi. Và nếu được, hãy tắt Anti-Alias.

Bước 3.  Clich chuột trái lên vùng màu nâu như hình 7.2 ( tức là sau khi bạn chọn magic want trên thanh công cụ thì chỉ cần bạn click vào vùng mầu nâu trên hình) và bạn sẽ thấy tất cả những vùng màu nâu được chọn.

Hình 7.2 Ranh giới được chọn trên hình

Bước 4. Nhấn phím delete trên bàn phím. Kết quả background của hình được xóa như hình 7.3.

Hình 7.3 Background đã được xóa.

Bước  5. Lưu lại hình đã xóa background với định dạng đuôi PNG. Hình này bây giờ sẽ được hiển thị trong Silverlight như là một hình trong suốt ở những khu vực mà bạn đã cắt bên ngoài  hình phù thủy nhỏ dễ thương. Dưới đây là một ví dụ để biết được phải làm sao để loadvà hiển thị file ảnh đuôi PNG. Chúng ta gọi phương thức này là LoadImage() và hơn nữa là ta sẽ thêm image resource vào một  Canvas có tên là MapCanvas.

 

public void DisplayPNG()
{
    Image img = LoadImage("images/mage.png");
    MapCanvas.Children.Add(img);
}
 
public Image LoadImage(string resource)
{
    Image img = new Image();
    Uri uri = new Uri(resource, UriKind.Relative);
    ImageSource imgSrc = new System.Windows.Media.Imaging.BitmapImage(uri);
    img.SetValue(Image.SourceProperty, imgSrc);
    return img;
}

Credits: Chân thành cám ơn trang web  http://reinerstileset.4players.de/ (Reiner "Tiles" Prokein) về những hình ảnh này.

Thank you,
--Mike Snow

 

 

 

 

Recent Comments

Leave the first comment for this page.