Created
February 4, 2015 06:16
-
-
Save veigr/4557e386ab14fe0fc9e5 to your computer and use it in GitHub Desktop.
[WinRT][SharpDX]埋め込みプロファイルの取得
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 埋め込みプロファイル取得 | |
var stream = await File.OpenReadAsync(); // StorageFile | |
var decoder = new BitmapDecoder(factory, stream.AsStream(), DecodeOptions.CacheOnDemand); | |
var frame = decoder.GetFrame(0); // 1フレーム目のみ取得 | |
var srcContexts = frame.TryGetColorContexts(factory); | |
// GetColorContexts未対応コーデックだとnull、プロファイルが無いと長さ0となる | |
var untaggedOrUnsupported = srcContexts == null || srcContexts.Length < 1; | |
var sRGBColorContext = new ColorContext(factory); | |
sRGBColorContext.InitializeFromExifColorSpace(1); // 1を指定するとsRGB | |
// プロファイルが読み込めなかった場合はsRGBとみなす | |
var srcContext = !untaggedOrUnsupported ? srcContexts[0] : sRGBColorContext; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment