60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections;
|
|||
|
|
|
|||
|
|
namespace umbraco.editorControls.imagecropper
|
|||
|
|
{
|
|||
|
|
public class Config
|
|||
|
|
{
|
|||
|
|
public string UploadPropertyAlias { get; set; }
|
|||
|
|
public bool GenerateImages { get; set; }
|
|||
|
|
public int Quality { get; set; }
|
|||
|
|
public bool ShowLabel { get; set; }
|
|||
|
|
public ArrayList presets { get; set; }
|
|||
|
|
|
|||
|
|
public Config(string configuration)
|
|||
|
|
{
|
|||
|
|
presets = new ArrayList();
|
|||
|
|
|
|||
|
|
string[] configData = configuration.Split('|');
|
|||
|
|
|
|||
|
|
if (configData.Length != 2) return;
|
|||
|
|
|
|||
|
|
string[] generalSettings = configData[0].Split(',');
|
|||
|
|
|
|||
|
|
UploadPropertyAlias = generalSettings[0];
|
|||
|
|
GenerateImages = generalSettings[1] == "1";
|
|||
|
|
ShowLabel = generalSettings[2] == "1";
|
|||
|
|
|
|||
|
|
int _quality;
|
|||
|
|
if(generalSettings.Length >= 4 && Int32.TryParse(generalSettings[3], out _quality))
|
|||
|
|
{
|
|||
|
|
Quality = _quality;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
Quality = 90;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
string[] presetData = configData[1].Split(';');
|
|||
|
|
|
|||
|
|
for (int i=0; i < presetData.Length; i++)
|
|||
|
|
{
|
|||
|
|
string[] p = presetData[i].Split(',');
|
|||
|
|
|
|||
|
|
int targetWidth, targetHeight;
|
|||
|
|
|
|||
|
|
if (p.Length >= 4 && Int32.TryParse(p[1], out targetWidth) && Int32.TryParse(p[2], out targetHeight))
|
|||
|
|
{
|
|||
|
|
char[] cropPosition = { 'C', 'M' };
|
|||
|
|
|
|||
|
|
if(p.Length >= 5)
|
|||
|
|
{
|
|||
|
|
cropPosition = p[4].ToCharArray();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
presets.Add(new Preset(p[0], targetWidth, targetHeight, p[3] == "1" ? true : false, cropPosition[0].ToString(), cropPosition[1].ToString()));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|