///////////////////////////////////////////////////////////////////////////////// // // Photoshop PSD FileType Plugin for Paint.NET // http://psdplugin.codeplex.com/ // // This software is provided under the MIT License: // Copyright (c) 2006-2007 Frank Blumenberg // Copyright (c) 2010-2012 Tao Yue // // Portions of this file are provided under the BSD 3-clause License: // Copyright (c) 2006, Jonas Beckeman // // See LICENSE.txt for complete licensing and attribution information. // ///////////////////////////////////////////////////////////////////////////////// using System; namespace PhotoshopFile { /// <summary> /// Summary description for ResolutionInfo. /// </summary> internal class ResolutionInfo : ImageResource { public override ResourceID ID { get { return ResourceID.ResolutionInfo; } } /// <summary> /// Horizontal DPI. /// </summary> public UFixed16_16 HDpi { get; set; } /// <summary> /// Vertical DPI. /// </summary> public UFixed16_16 VDpi { get; set; } /// <summary> /// 1 = pixels per inch, 2 = pixels per centimeter /// </summary> internal enum ResUnit { PxPerInch = 1, PxPerCm = 2 } /// <summary> /// Display units for horizontal resolution. This only affects the /// user interface; the resolution is still stored in the PSD file /// as pixels/inch. /// </summary> public ResUnit HResDisplayUnit { get; set; } /// <summary> /// Display units for vertical resolution. /// </summary> public ResUnit VResDisplayUnit { get; set; } /// <summary> /// Physical units. /// </summary> internal enum Unit { Inches = 1, Centimeters = 2, Points = 3, Picas = 4, Columns = 5 } public Unit WidthDisplayUnit { get; set; } public Unit HeightDisplayUnit { get; set; } public ResolutionInfo() : base(String.Empty) { } public ResolutionInfo(PsdBinaryReader reader, string name) : base(name) { this.HDpi = new UFixed16_16(reader.ReadUInt32()); this.HResDisplayUnit = (ResUnit)reader.ReadInt16(); this.WidthDisplayUnit = (Unit)reader.ReadInt16(); this.VDpi = new UFixed16_16(reader.ReadUInt32()); this.VResDisplayUnit = (ResUnit)reader.ReadInt16(); this.HeightDisplayUnit = (Unit)reader.ReadInt16(); } } }