Applied my "patch" which refactors the complete codebase to have IEffect support, this is an interface which can be used to supply effects to a bitmap. These effects can now be passed to the OutputSettings (which now is called SurfaceOutputSettings) to control how the output is modified. This is very useful for e.g. OCR which needs a grayscale & resized image.

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2377 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2012-12-12 09:51:41 +00:00
commit 0c7e16a771
33 changed files with 212 additions and 148 deletions

View file

@ -41,6 +41,7 @@ using Greenshot.IniFile;
using System.Threading;
using System.Drawing.Imaging;
using Greenshot.Plugin.Drawing;
using Greenshot.Core;
namespace Greenshot {
/// <summary>
@ -1198,22 +1199,22 @@ namespace Greenshot {
}
void AddBorderToolStripMenuItemClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.Border);
surface.ApplyBitmapEffect(new BorderEffect());
updateUndoRedoSurfaceDependencies();
}
void AddDropshadowToolStripMenuItemClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.Shadow);
surface.ApplyBitmapEffect(new DropShadowEffect());
updateUndoRedoSurfaceDependencies();
}
void TornEdgesToolStripMenuItemClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.TornEdge);
surface.ApplyBitmapEffect(new TornEdgeEffect());
updateUndoRedoSurfaceDependencies();
}
void GrayscaleToolStripMenuItemClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.Grayscale);
surface.ApplyBitmapEffect(new GrayscaleEffect());
updateUndoRedoSurfaceDependencies();
}
@ -1223,17 +1224,17 @@ namespace Greenshot {
}
void RotateCwToolstripButtonClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.RotateClockwise);
surface.ApplyBitmapEffect(new RotateEffect(90));
updateUndoRedoSurfaceDependencies();
}
void RotateCcwToolstripButtonClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.RotateCounterClockwise);
surface.ApplyBitmapEffect(new RotateEffect(270));
updateUndoRedoSurfaceDependencies();
}
void InvertToolStripMenuItemClick(object sender, EventArgs e) {
surface.ApplyBitmapEffect(Effects.Invert);
surface.ApplyBitmapEffect(new InvertEffect());
updateUndoRedoSurfaceDependencies();
}