/// <summary> /// Initialize conversion table /// </summary> public void Initialize(float resolution, ResolutionMeasure resolutionMeasure) { // make conversion table conversionTable.Clear(); Dictionary <MeasureUnits, float> table = new Dictionary <MeasureUnits, float>(); table.Add(MeasureUnits.cm, 2.54f); table.Add(MeasureUnits.inch, 1); table.Add(MeasureUnits.mm, 25.4f); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? resolution : resolution / 2.54f); table.Add(MeasureUnits.point, PointsPerInch); conversionTable.Add(MeasureUnits.inch, table); table = new Dictionary <MeasureUnits, float>(); table.Add(MeasureUnits.cm, 1); table.Add(MeasureUnits.inch, 0.394f); table.Add(MeasureUnits.mm, 10); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? resolution : resolution / 2.54f); table.Add(MeasureUnits.point, PointsPerInch * 0.394f); conversionTable.Add(MeasureUnits.cm, table); table = new Dictionary <MeasureUnits, float>(); table.Add(MeasureUnits.cm, 0.1f); table.Add(MeasureUnits.inch, 0.0394f); table.Add(MeasureUnits.mm, 1); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? resolution / 10 : resolution / 25.4f); table.Add(MeasureUnits.point, PointsPerInch * 0.0394f); conversionTable.Add(MeasureUnits.mm, table); table = new Dictionary <MeasureUnits, float>(); table.Add(MeasureUnits.cm, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? 1.0f / resolution : 1.0f / (resolution / 2.54f)); table.Add(MeasureUnits.inch, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? 1.0f / resolution : 1.0f / (resolution)); table.Add(MeasureUnits.mm, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? 10.0f / resolution : 25.4f / resolution); table.Add(MeasureUnits.pixel, 1); table.Add(MeasureUnits.point, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? resolution / PointsPerInch : resolution / PointsPerInch * 2.54f); conversionTable.Add(MeasureUnits.pixel, table); table = new Dictionary <MeasureUnits, float>(); table.Add(MeasureUnits.cm, 1.0f / (PointsPerInch * 2.54f)); table.Add(MeasureUnits.inch, 1.0f / PointsPerInch); table.Add(MeasureUnits.mm, 1.0f / (PointsPerInch * 25.4f)); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? PointsPerInch / resolution : PointsPerInch * 2.54f / resolution); table.Add(MeasureUnits.point, 1); conversionTable.Add(MeasureUnits.point, table); }
/// <summary> /// Initialize conversion table /// </summary> public void Initialize(float resolution, ResolutionMeasure resolutionMeasure) { // make conversion table conversionTable.Clear(); Dictionary<MeasureUnits, float> table = new Dictionary<MeasureUnits, float>(); table.Add(MeasureUnits.cm, 2.54f); table.Add(MeasureUnits.inch, 1); table.Add(MeasureUnits.mm, 25.4f); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? resolution : resolution / 2.54f); table.Add(MeasureUnits.point, PointsPerInch); conversionTable.Add(MeasureUnits.inch, table); table = new Dictionary<MeasureUnits, float>(); table.Add(MeasureUnits.cm, 1); table.Add(MeasureUnits.inch, 0.394f); table.Add(MeasureUnits.mm, 10); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? resolution : resolution / 2.54f); table.Add(MeasureUnits.point, PointsPerInch * 0.394f); conversionTable.Add(MeasureUnits.cm, table); table = new Dictionary<MeasureUnits, float>(); table.Add(MeasureUnits.cm, 0.1f); table.Add(MeasureUnits.inch, 0.0394f); table.Add(MeasureUnits.mm, 1); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? resolution / 10 : resolution / 25.4f); table.Add(MeasureUnits.point, PointsPerInch * 0.0394f); conversionTable.Add(MeasureUnits.mm, table); table = new Dictionary<MeasureUnits, float>(); table.Add(MeasureUnits.cm, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? 1.0f / resolution : 1.0f / (resolution / 2.54f)); table.Add(MeasureUnits.inch, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? 1.0f / resolution : 1.0f / (resolution)); table.Add(MeasureUnits.mm, resolutionMeasure == ResolutionMeasure.PixelsPerCm ? 10.0f / resolution : 25.4f / resolution); table.Add(MeasureUnits.pixel, 1); table.Add(MeasureUnits.point, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? resolution / PointsPerInch : resolution / PointsPerInch*2.54f); conversionTable.Add(MeasureUnits.pixel, table); table = new Dictionary<MeasureUnits, float>(); table.Add(MeasureUnits.cm, 1.0f / (PointsPerInch*2.54f)); table.Add(MeasureUnits.inch, 1.0f / PointsPerInch); table.Add(MeasureUnits.mm, 1.0f / (PointsPerInch*25.4f)); table.Add(MeasureUnits.pixel, resolutionMeasure == ResolutionMeasure.PixelsPerInch ? PointsPerInch / resolution : PointsPerInch*2.54f / resolution ); table.Add(MeasureUnits.point, 1); conversionTable.Add(MeasureUnits.point, table); }