Пример #1
0
 public void MetallicSmoothness()
 {
     using (var gradation = new MagickImage(linearGradationPath))
         using (var msmap = MagickImageUtility.GenerateMetallicSmoothness(gradation, false, gradation, false))
         {
             Assert.AreEqual(ColorSpace.sRGB, msmap.ColorSpace);
             Assert.True(msmap.HasAlpha);
             var pixels = msmap.GetPixels();
             for (int x = 0; x < 256; x++)
             {
                 var v = pixels.GetValue(x, 0);
                 Assert.AreEqual(4, v.Length);
                 Assert.AreEqual(257 * x, v[0]); // 257 * 255 = 65535
                 Assert.AreEqual(0, v[1]);
                 Assert.AreEqual(0, v[2]);
                 Assert.AreEqual(257 * x, v[3]);
             }
             msmap.Write(msMapPath, MagickFormat.Png32);
         }
     using (var msmap = new MagickImage(msMapPath))
     {
         Assert.AreEqual(ColorSpace.sRGB, msmap.ColorSpace);
         Assert.True(msmap.HasAlpha);
         var pixels = msmap.GetPixels();
         for (int x = 0; x < 256; x++)
         {
             var v = pixels.GetValue(x, 0);
             Assert.AreEqual(4, v.Length);
             Assert.AreEqual(257 * x, v[0]); // 257 * 255 = 65535
             Assert.AreEqual(0, v[1]);
             Assert.AreEqual(0, v[2]);
             Assert.AreEqual(257 * x, v[3]);
         }
     }
 }
Пример #2
0
 /// <summary>
 /// Generate and save MSMap.
 /// </summary>
 /// <param name="destPath">File path to save.</param>
 internal void GenerateMetallicSmoothness(string destPath)
 {
     using (var metallic = metallicMap ? MagickImageUtility.GetMagickImage(metallicMap) : new MagickImage(MagickColors.White, 2, 2))
         using (var smoothness = smoothnessMap ? MagickImageUtility.GetMagickImage(smoothnessMap) : new MagickImage(MagickColors.White, 2, 2))
             using (var msMap = MagickImageUtility.GenerateMetallicSmoothness(metallic, false, smoothness, invertSmoothness && smoothnessMap))
             {
                 MagickImageUtility.SaveAsAsset(destPath, msMap, MagickFormat.Png32, false);
             }
 }