|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using Erik.Utilities.Bases;
namespace OneThreadSamples
{
class GrayScalePO : BaseProgressiveOperation
{
Bitmap _bmp;
public GrayScalePO(Bitmap bmp)
{
_bmp = bmp;
_totalSteps = bmp.Width * bmp.Height;
MainTitle = "Performing gray scale transformation";
}
public override void Start()
{
_currentStep = 0;
OnOperationStart(EventArgs.Empty);
for (int x = 0; x < _bmp.Width; x++)
{
for (int y = 0; y < _bmp.Height; y++)
{
Color c = _bmp.GetPixel(x, y);
int m = (c.R + c.G + c.B) / 3;
Color g = Color.FromArgb(m, m, m);
_bmp.SetPixel(x, y, g);
_currentStep++;
OnOperationProgress(EventArgs.Empty);
}
}
OnOperationEnd(EventArgs.Empty);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.