95 lines
2.6 KiB
C#
95 lines
2.6 KiB
C#
|
/////////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// 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();
|
||
|
}
|
||
|
}
|
||
|
}
|