public void GetFlashBiasDescription() { var directory = new CanonMakernoteDirectory(); var descriptor = new CanonMakernoteDescriptor(directory); // set and check values directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0xFFC0); Assert.Equal("-2.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0xffd4); Assert.Equal("-1.375 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0000); Assert.Equal("0.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x000c); Assert.Equal("0.375 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0010); Assert.Equal("0.5 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0014); Assert.Equal("0.625 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0020); Assert.Equal("1.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0030); Assert.Equal("1.5 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0034); Assert.Equal("1.625 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.Set(CanonMakernoteDirectory.FocalLength.TagFlashBias, 0x0040); Assert.Equal("2.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); }
public virtual void TestGetFlashBiasDescription() { CanonMakernoteDirectory directory = new CanonMakernoteDirectory(); CanonMakernoteDescriptor descriptor = new CanonMakernoteDescriptor(directory); // set and check values directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0xFFC0))); Sharpen.Tests.AreEqual("-2.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0xffd4))); Sharpen.Tests.AreEqual("-1.375 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0000))); Sharpen.Tests.AreEqual("0.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x000c))); Sharpen.Tests.AreEqual("0.375 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0010))); Sharpen.Tests.AreEqual("0.5 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0014))); Sharpen.Tests.AreEqual("0.625 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0020))); Sharpen.Tests.AreEqual("1.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0030))); Sharpen.Tests.AreEqual("1.5 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0034))); Sharpen.Tests.AreEqual("1.625 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); directory.SetInt(CanonMakernoteDirectory.FocalLength.TagFlashBias, unchecked ((int)(0x0040))); Sharpen.Tests.AreEqual("2.0 EV", descriptor.GetDescription(CanonMakernoteDirectory.FocalLength.TagFlashBias)); }
public static Metadata ParseCanonMakernoteDirectory(CanonMakernoteDirectory directory, Metadata metadata) { if (directory.ContainsTag(CanonMakernoteDirectory.CameraSettings.TagLensType)) { metadata.Camera.LensModel = directory.GetDescription(CanonMakernoteDirectory.CameraSettings.TagLensType); } return(metadata); }
private static Version GetFirmwareVersion(CanonMakernoteDirectory canon) { var str = canon.GetString(CanonMakernoteDirectory.TagCanonFirmwareVersion); if (str == null) { return(null); } str = str.TrimStart("Firmware Version "); if (str == null) { return(null); } Version firmwareVersion; Version.TryParse(str, out firmwareVersion); return(firmwareVersion); }