__Cuối năm vừa rồi Microsoft đã đưa ra một định dạng photo mới gọi là Window Media Photo (WDP).
__Đặc điểm gì nổi bật ở loại định dạng này ?
+ Đó là chất lượng hình ảnh ( tất nhiên rồi ), nếu thế thì không nói làm gì nhưng khác biệt ở đây là dung lượng nén và tiêu chuẩn nén hình rất cao, không những tăng chất lượng hình ảnh mà còn giảm kích thước file đi hơn một nửa..Choáng..
Bảng so sánh :

Click vào hình ảnh để lấy hình ảnh lớn

Tên:		image02.png
Lần xem:	19
Size:		225.1 KB
ID:		5056

__Có thể vào MSDN để tham khảo nha.

#_Bài này mình giới thiệu các bạn cách convert một file ở định dạng JPEG-GIF-PNG sang WDP / HDP

_Yêu cầu :
1. Môi trường :
a. Nếu xài Vista thì không cần gì hết
b. Nếu không xài Vista thì bạn nên cài .NET Framework 3.0 nha
2. IDE : Visual Studio 2k5 Pro hoặc Express ( code name Orcas beta 1 càng nét => thằng cha này 7GB đó)

__Bây giờ cần thêm vào thư viện :
Add Reference : bạn chọn Browse
Tìm đến thư mục : C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\

Sau đó : lấy vào 2 thư viện : PresentationCore.dll và WindowsBase.dll

Rồi . Giao diện bạn tự design nha ^^
Phần chính là cách sử dụng để convert thế nào đây.

Visual C# Code:
  1. // Mình tạo một hàm có tham số vào ra
  2. public static void FileToWmp(string inFile, string outFile)
  3. // inFile : tên file vào - outFile : tên file đưa ra
  4. {
  5.     // Lấy bitmap frames
  6.     BitmapDecoder bdFile = null;
  7.     // Stream file vào một biến
  8.     FileStream readFile = File.OpenRead(inFile);
  9.     // Thiết lập thuộc tính cho đối tượng lưu bitmap
  10.     bdFile = BitmapDecoder.Create(readFile, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None);
  11.     // Chuẩn bị ghi file ra
  12.     FileStream writeFile = File.OpenWrite(outFile);
  13.     // WmpBitmapEncoder chính là class làm việc convert đây
  14.     WmpBitmapEncoder wbeFile = new WmpBitmapEncoder();
  15.     // Thiết lập chất lượng file ra
  16.     wbeFile.ImageQualityLevel = 0.9f;
  17.     // Nhận bitmap frame vào để convert
  18.     wbeFile.Frames.Add(bdFile.Frames[0]);
  19.     // In ra kết quả
  20.     wbeFile.Save(writeFile);
  21.     // Đóng lại các stream
  22.     writeFile.Close();
  23.     readFile.Close();
  24. }

...Vậy là xong...
-> Bạn thử implement vào chương trình của bạn và cho ra kết quả nhé ^^