namespace SHH.CameraSdk
{
    public class ProcessingOptions
    {
        // ==========================================
        // 1. 尺寸控制参数
        // ==========================================

        /// <summary> 目标宽度 </summary>
        public int TargetWidth { get; set; } = 1280;

        /// <summary> 目标高度 </summary>
        public int TargetHeight { get; set; } = 720;

        /// <summary> 仅允许缩小 (如果原图比目标大，则缩放；否则不处理) </summary>
        public bool EnableShrink { get; set; } = true;

        /// <summary> 仅允许放大 (如果原图比目标小，则缩放；否则不处理) </summary>
        public bool EnableExpand { get; set; } = false;


        // ==========================================
        // 2. 画质增强参数
        // ==========================================

        /// <summary> 是否启用图像增亮 </summary>
        public bool EnableBrightness { get; set; } = false;

        /// <summary> 增亮百分比 (建议范围 0-100，对应增加的像素亮度值) </summary>
        public int Brightness { get; set; } = 0;


        // 默认实例
        [JsonIgnore]
        public static ProcessingOptions Default => new ProcessingOptions();
    }
}