mirror of
https://github.com/greenshot/greenshot
synced 2025-08-19 21:13:23 -07:00
BUG-2056: A better fix for the issue, there was already something build in. [skip ci]
This commit is contained in:
parent
c77e77578d
commit
89ae9489d2
4 changed files with 17 additions and 13 deletions
|
@ -56,13 +56,7 @@ namespace ExternalCommand {
|
|||
public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) {
|
||||
ExportInformation exportInformation = new ExportInformation(Designation, Description);
|
||||
SurfaceOutputSettings outputSettings = new SurfaceOutputSettings();
|
||||
|
||||
// BUG-2056 reported a logical issue, using greenshot format as the default causes issues with the external commands.
|
||||
// If OutputFormat is Greenshot, use PNG instead.
|
||||
if (outputSettings.Format == OutputFormat.greenshot)
|
||||
{
|
||||
outputSettings.Format = OutputFormat.png;
|
||||
}
|
||||
outputSettings.PreventGreenshotFormat();
|
||||
|
||||
if (_presetCommand != null) {
|
||||
if (!config.RunInbackground.ContainsKey(_presetCommand)) {
|
||||
|
|
|
@ -105,7 +105,7 @@ namespace GreenshotPlugin.Core {
|
|||
bool useMemoryStream = false;
|
||||
MemoryStream memoryStream = null;
|
||||
if (outputSettings.Format == OutputFormat.greenshot && surface == null) {
|
||||
throw new ArgumentException("Surface needs to be se when using OutputFormat.Greenshot");
|
||||
throw new ArgumentException("Surface needs to be set when using OutputFormat.Greenshot");
|
||||
}
|
||||
|
||||
try {
|
||||
|
|
|
@ -98,8 +98,15 @@ namespace Greenshot.Plugin {
|
|||
ReduceColors = reduceColors;
|
||||
}
|
||||
|
||||
public SurfaceOutputSettings PreventGreenshotFormat() {
|
||||
if (Format == OutputFormat.greenshot) {
|
||||
/// <summary>
|
||||
/// BUG-2056 reported a logical issue, using greenshot format as the default causes issues with the external commands.
|
||||
/// </summary>
|
||||
/// <returns>this for fluent API usage</returns>
|
||||
public SurfaceOutputSettings PreventGreenshotFormat()
|
||||
{
|
||||
// If OutputFormat is Greenshot, use PNG instead.
|
||||
if (Format == OutputFormat.greenshot)
|
||||
{
|
||||
Format = OutputFormat.png;
|
||||
}
|
||||
return this;
|
||||
|
|
|
@ -70,8 +70,11 @@ namespace GreenshotWin10Plugin
|
|||
using (var logoStream = new MemoryRandomAccessStream())
|
||||
using (var thumbnailStream = new MemoryRandomAccessStream())
|
||||
{
|
||||
var outputSettings = new SurfaceOutputSettings();
|
||||
outputSettings.PreventGreenshotFormat();
|
||||
|
||||
// Create capture for export
|
||||
ImageOutput.SaveToStream(surface, imageStream, new SurfaceOutputSettings());
|
||||
ImageOutput.SaveToStream(surface, imageStream, outputSettings);
|
||||
imageStream.Position = 0;
|
||||
Log.Info("Created RandomAccessStreamReference for the image");
|
||||
var imageRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(imageStream);
|
||||
|
@ -83,7 +86,7 @@ namespace GreenshotWin10Plugin
|
|||
{
|
||||
using (var thumbnail = ImageHelper.CreateThumbnail(tmpImageForThumbnail, 240, 160))
|
||||
{
|
||||
ImageOutput.SaveToStream(thumbnail, null, thumbnailStream, new SurfaceOutputSettings());
|
||||
ImageOutput.SaveToStream(thumbnail, null, thumbnailStream, outputSettings);
|
||||
thumbnailStream.Position = 0;
|
||||
thumbnailRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(thumbnailStream);
|
||||
Log.Info("Created RandomAccessStreamReference for the thumbnail");
|
||||
|
@ -94,7 +97,7 @@ namespace GreenshotWin10Plugin
|
|||
{
|
||||
using (var logoThumbnail = ImageHelper.CreateThumbnail(logo, 30, 30))
|
||||
{
|
||||
ImageOutput.SaveToStream(logoThumbnail, null, logoStream, new SurfaceOutputSettings());
|
||||
ImageOutput.SaveToStream(logoThumbnail, null, logoStream, outputSettings);
|
||||
logoStream.Position = 0;
|
||||
logoRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(logoStream);
|
||||
Log.Info("Created RandomAccessStreamReference for the logo");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue