using System.Globalization;
public static double CM_TO_PX_SCALE { get { return 96 / 2.54; } }
public static double POINT_TO_PX_SCALE { get { return (1d / 3d) + 1; } }
public static double POINT_TO_EM_SCALE { get { return 0.08365; } }
public static double PT_TO_CM_SCALE { get { return 0.0352777778; } }
private const int PX_TO_EM_SCALE = 48;
private const int INDENT_TO_PT = 36;
private const int INCH_TO_PT = 72;
private const int INCH_TO_PIXEL = 96;
private const string NUMBER_FORMAT = "0.##";
private const string NUMBER_EM_FORMAT = "0.##em";
private const string NUMBER_PX_FORMAT = "0.##px";
private const string NUMBER_PT_FORMAT = "0.##pt";
private static CultureInfo ci = CultureInfo.GetCultureInfo("en-US");
public static void Main()
Console.WriteLine(RoundedPointToPixel(0.55));
Console.WriteLine(RoundedPointToPixel(0.5));
Console.WriteLine(RoundedPointToPixel(12));
Console.WriteLine(RoundedPointToPixel(12.1));
Console.WriteLine(RoundedPointToPixel(12.5));
public static string RoundedPointToPixel(double value, double aditionalMultiplier = 1)
return Math.Round(value * aditionalMultiplier, 1).ToString(NUMBER_PX_FORMAT, CultureInfo.InvariantCulture);
public static double ParseFloatPoint(string value)
return double.Parse(value.Replace("pt", "").Trim(), NumberStyles.Any, CultureInfo.InvariantCulture);
public static double ParseCentimeter(string value)
return double.Parse(value.Replace("cm", "").Trim(), CultureInfo.InvariantCulture);
public static double ParsePercent(string value)
return double.Parse(value.Replace("%", "").Trim(), CultureInfo.InvariantCulture);
public static double ParsePoint(string value)
return double.Parse(value.Replace("pt", "").Trim(), CultureInfo.InvariantCulture);
public static double ParsePixel(string value)
return double.Parse(value.Replace("px", "").Trim(), CultureInfo.InvariantCulture);
public static double ParseEm(string value)
return double.Parse(value.Replace("em", "").Trim(), CultureInfo.InvariantCulture);
public static double ParseInch(string value)
return double.Parse(value.Replace("in", "").Trim(), CultureInfo.InvariantCulture);