Set checker pattern color inside picture box automatically

This commit is contained in:
Jaex 2019-05-17 02:01:37 +03:00
parent 4288b4d130
commit fadd61ea49
3 changed files with 17 additions and 9 deletions

View file

@ -99,10 +99,6 @@ public bool DrawCheckeredBackground
}
}
public Color CheckerPatternColor1 { get; set; } = SystemColors.ControlLight;
public Color CheckerPatternColor2 { get; set; } = SystemColors.ControlLightLight;
[DefaultValue(false)]
public bool FullscreenOnClick { get; set; }
@ -208,7 +204,21 @@ public void UpdateCheckers(bool forceUpdate = false)
if (forceUpdate || pbMain.BackgroundImage == null || pbMain.BackgroundImage.Size != pbMain.ClientSize)
{
if (pbMain.BackgroundImage != null) pbMain.BackgroundImage.Dispose();
pbMain.BackgroundImage = ImageHelpers.CreateCheckerPattern(10, 10, CheckerPatternColor1, CheckerPatternColor2);
Color checkerPatternColor1, checkerPatternColor2;
if (ShareXResources.UseDarkTheme)
{
checkerPatternColor1 = Color.FromArgb(153, 153, 153);
checkerPatternColor2 = Color.FromArgb(102, 102, 102);
}
else
{
checkerPatternColor1 = SystemColors.ControlLight;
checkerPatternColor2 = SystemColors.ControlLightLight;
}
pbMain.BackgroundImage = ImageHelpers.CreateCheckerPattern(10, 10, checkerPatternColor1, checkerPatternColor2);
}
}
else

View file

@ -37,6 +37,7 @@ public class ImageViewer : Form
private ImageViewer(Image image)
{
screenshot = image;
InitializeComponent();
Icon = ShareXResources.Icon;
}

View file

@ -772,8 +772,6 @@ private void UpdateTheme()
lblListViewTip.ForeColor = ToolStripDarkRenderer.TextColor;
scMain.SplitterColor = ToolStripDarkRenderer.BackgroundColor;
scMain.SplitterLineColor = ToolStripDarkRenderer.BorderColor;
pbPreview.CheckerPatternColor1 = Color.FromArgb(153, 153, 153);
pbPreview.CheckerPatternColor2 = Color.FromArgb(102, 102, 102);
pbPreview.UpdateCheckers(true);
}
else
@ -787,8 +785,6 @@ private void UpdateTheme()
lblListViewTip.ForeColor = Color.Silver;
scMain.SplitterColor = Color.White;
scMain.SplitterLineColor = ProfessionalColors.SeparatorDark;
pbPreview.CheckerPatternColor1 = SystemColors.ControlLight;
pbPreview.CheckerPatternColor2 = SystemColors.ControlLightLight;
pbPreview.UpdateCheckers(true);
}
}
@ -833,6 +829,7 @@ private void AfterApplicationSettingsJobs()
ShareXResources.UseDarkTheme = Program.Settings.UseDarkTheme;
UpdateTheme();
Refresh();
}
if (ShareXResources.UseWhiteIcon != Program.Settings.UseWhiteShareXIcon)