Files
PCK-Studio/PckStudio.Core/IO/TGA/TGAExtentionData.cs

63 lines
2.7 KiB
C#

/* Copyright (c) 2022-present miku-666
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1.The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
**/
using System;
using System.Windows.Forms;
namespace PckStudio.Core.IO.TGA
{
internal struct TGAExtentionData
{
public const short ExtensionSize = 0x1EF;
public string AuthorName;
public string AuthorComment;
public DateTime TimeStamp;
public string JobID;
public TimeSpan JobTime;
public string SoftwareID;
public byte[] SoftwareVersion;
public int KeyColor;
public int PixelAspectRatio;
public int GammaValue;
public int ColorCorrectionOffset;
public int PostageStampOffset;
public int ScanLineOffset;
public byte AttributesType;
public static TGAExtentionData Create()
{
var extensionData = new TGAExtentionData();
extensionData.AuthorName = "";
extensionData.AuthorComment = "";
extensionData.AuthorComment = "";
extensionData.TimeStamp = DateTime.Now;
extensionData.JobID = "";
extensionData.JobTime = new TimeSpan(extensionData.TimeStamp.Hour, extensionData.TimeStamp.Minute, extensionData.TimeStamp.Second);
extensionData.SoftwareID = Application.ProductName;
Version.TryParse(Application.ProductVersion, out Version currentVersion);
extensionData.SoftwareVersion = new byte[] { (byte)currentVersion.Major, (byte)currentVersion.Minor, (byte)currentVersion.Build };
extensionData.KeyColor = 0;
extensionData.PixelAspectRatio = 0;
extensionData.GammaValue = 0;
extensionData.ColorCorrectionOffset = 0;
extensionData.PostageStampOffset = 0;
extensionData.ScanLineOffset = 0;
extensionData.AttributesType = 3;
return extensionData;
}
}
}