Add JPEG screenshot quality setting

This commit is contained in:
Poliwrath
2020-07-24 02:00:18 -04:00
parent 4d7d4a7c7a
commit 4e0f16a450
3 changed files with 11 additions and 1 deletions

View File

@ -19,6 +19,7 @@ using osu.Game.Input.Bindings;
using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Jpeg;
namespace osu.Game.Graphics
{
@ -33,6 +34,7 @@ namespace osu.Game.Graphics
public IBindable<bool> CursorVisibility => cursorVisibility;
private Bindable<ScreenshotFormat> screenshotFormat;
private Bindable<int> screenshotJpegQuality;
private Bindable<bool> captureMenuCursor;
[Resolved]
@ -51,6 +53,7 @@ namespace osu.Game.Graphics
this.storage = storage.GetStorageForDirectory(@"screenshots");
screenshotFormat = config.GetBindable<ScreenshotFormat>(OsuSetting.ScreenshotFormat);
screenshotJpegQuality = config.GetBindable<int>(OsuSetting.ScreenshotJpegQuality);
captureMenuCursor = config.GetBindable<bool>(OsuSetting.ScreenshotCaptureMenuCursor);
shutter = audio.Samples.Get("UI/shutter");
@ -119,7 +122,7 @@ namespace osu.Game.Graphics
break;
case ScreenshotFormat.Jpg:
image.SaveAsJpeg(stream);
image.SaveAsJpeg(stream, new JpegEncoder { Quality = screenshotJpegQuality.Value });
break;
default: