0% found this document useful (0 votes)
71 views

Bitmap: Using Using Using Using Using Using Using Using Using Namespace Public Partial Class Static Public

This document defines a class called Bitmap that handles operations on bitmap images. It includes methods for exporting frames from an AVI video file to individual BMP images, modifying properties of bitmap images like brightness and contrast, and combining modified bitmap images back into a new AVI video file. Key methods include exporting frames to bitmaps, setting image brightness/contrast/inversion/grayscale, and adding modified frames to a new AVI file. It uses classes like AviManager, VideoStream, and ImageHandler to perform these bitmap and video processing tasks.

Uploaded by

raj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views

Bitmap: Using Using Using Using Using Using Using Using Using Namespace Public Partial Class Static Public

This document defines a class called Bitmap that handles operations on bitmap images. It includes methods for exporting frames from an AVI video file to individual BMP images, modifying properties of bitmap images like brightness and contrast, and combining modified bitmap images back into a new AVI video file. Key methods include exporting frames to bitmaps, setting image brightness/contrast/inversion/grayscale, and adding modified frames to a new AVI file. It uses classes like AviManager, VideoStream, and ImageHandler to perform these bitmap and video processing tasks.

Uploaded by

raj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

BITMAP

using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
System.IO;
AviFile;

namespace Digital_Video_Bitmap
{
public partial class Bitmap : Form
{
static System.Drawing.Bitmap currentbit;
public Bitmap()
{
InitializeComponent();
}
ImageHandler imageHandler = new ImageHandler();
private void button1_Click(object sender, EventArgs e)
{
String fileName = GetFileName("Videos (*.avi)|*.avi;*.mpe;*.mpeg");
if (fileName != null)
{
txtAviFileName.Text = fileName;
ShowFrame();
}
AviManager aviManager = new AviManager(txtAviFileName.Text, true);
VideoStream stream = aviManager.GetVideoStream();
stream.GetFrameOpen();
txtReportCopy.Text = txtFileNames.Text = String.Empty;
string q = Application.ExecutablePath.ToString();
string q1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
string path = @q1;
string[] filePaths = Directory.GetFiles(@q1);
foreach (string filePath in filePaths)
File.Delete(filePath);
for (int n = 0; n < stream.CountFrames; n++)
{
stream.ExportBitmap(n, path + n.ToString() + ".bmp");
//txtReportCopy.Text += n + ".bmp finished...\r\n";
//txtFileNames.Text += path + n + ".bmp\r\n";
}
stream.GetFrameClose();
aviManager.Close();

}
private void ShowFrame()
{
if (System.IO.File.Exists(txtAviFileName.Text))
{

try
{
AviManager aviManager = new AviManager(txtAviFileName.Text, true);
VideoStream aviStream = aviManager.GetVideoStream();
aviStream.GetFrameOpen();
System.Drawing.Bitmap bmp =
aviStream.GetBitmap(Convert.ToInt32(numPosition.Value));
picFrame.Image = (System.Drawing.Bitmap)bmp;
aviStream.GetFrameClose();
aviManager.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private String GetFileName(String filter)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = filter;
dlg.RestoreDirectory = true;
if (txtAviFileName.Text.Length > 0)
{
dlg.InitialDirectory = GetCurrentFilePath();
}
if (dlg.ShowDialog(this) == DialogResult.OK)
{
return dlg.FileName;
}
else
{
return null;
}
}
private String GetCurrentFilePath()
{
return txtAviFileName.Text.Substring(0, txtAviFileName.Text.LastIndexOf("\\") + 1);
}
private void button1_Click_1(object sender, EventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\0.bmp";
string newvideo = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\new.avi"; //load the
first image
string imagedirectory = q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\";
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)Image.FromFile(@imagepath);
//create a new AVI file
AviManager aviManager = new AviManager(@newvideo, false); //create a new AVI file
VideoStream aviStream = aviManager.AddVideoStream(true, 10, bitmap);
int count = 0;
DirectoryInfo di = new DirectoryInfo(@imagedirectory);

FileInfo[] fiArr = di.GetFiles("*.bmp");


for (int n = 0; n < fiArr.Length - 1; n++)
{
bitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(q.Substring(0,
q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + n + ".bmp");
aviStream.AddFrame(bitmap);
bitmap.Dispose();
count++;
}
aviManager.Close();
}
private void button2_Click(object sender, EventArgs e)
{
//FileStream fileStream = new FileStream(@"c:\new.avi", FileMode.Create);
//fileStream.Close();
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\0.bmp";
//string newvideo = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\new.avi"; //load the
first image
string imagedirectory = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)Image.FromFile(@imagepath);
//create a new AVI file
AviManager aviManager = new AviManager(@"c:\new.avi", false); //create a new AVI file
VideoStream avis1 = aviManager.AddVideoStream(true, 20, bitmap);//
AddVideoStream(true,10,bitmap);
avis1.AddFrame(bitmap);
int count = 0;
DirectoryInfo di = new DirectoryInfo(@imagedirectory);
FileInfo[] fiArr = di.GetFiles("*.bmp");
for (int n = 0; n < fiArr.Length - 1; n++)
{
bitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(q.Substring(0,
q.LastIndexOf("\\")) + "\\testdata\\" + n + ".bmp");
avis1.AddFrame(bitmap);
bitmap.Dispose();
count++;
}
aviManager.Close();
}
private void CopyFile(String newName, bool compress)
{
TextBox allfiles = new TextBox();
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
foreach (FileInfo f in totfiles)
{ allfiles.Text = allfiles.Text + f.ToString(); }
AviManager aviManager = new AviManager(imagepath, true); //open compressed file
VideoStream aviStream = aviManager.GetVideoStream();
//create un-/re-compressed file

VideoStream newStream;
AviManager newManager = aviStream.DecompressToNewFile(newName, compress, out
newStream);
aviManager.Close(); //close compressed file
newManager.Close(); //save and close un-/re-compressed file
}
private void Bitmap_Load(object sender, EventArgs e)
{
}
private void btnbrightness_Click(object sender, EventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1).Clone();
System.Drawing.Bitmap temp =
imageHandler.SetBrightness(Convert.ToInt32(textBox1.Text), currentbit, i);
System.Drawing.Bitmap bitsave = (System.Drawing.Bitmap)temp.Clone();
bitsave.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i + ".bmp");
this.Invalidate();

}
}
public int BrightnessValue
{
get
{
return trackBar1.Value;
}
//set
//{
// txtBrightnessValue.Text = value.ToString();
//}
}
private void btncontrast_Click(object sender, EventArgs e)
{

string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1).Clone();
System.Drawing.Bitmap currentimage =
imageHandler.SetContrast(Convert.ToInt32(textBox1.Text), currentbit, i);
currentimage.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +
".bmp");

this.Invalidate();

}
}
private void btninvert_Click(object sender, EventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap = imageHandler.SetInvert(currentbitmap);
//System.Drawing.Bitmap currentimage =
imageHandler.SetContrast(Convert.ToInt32(textBox1.Text), currentbit, i);
".bmp");
}

newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +


this.Invalidate();

}
private void btngrayscale_Click(object sender, EventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap = imageHandler.SetGrayscale(currentbitmap);
".bmp");
}

newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +


this.Invalidate();

}
private void txtgamma_Click(object sender, EventArgs e)
{
GammaForm gFrm = new GammaForm();
gFrm.RedComponent = gFrm.GreenComponent = gFrm.BlueComponent = 0;
if (gFrm.ShowDialog() == DialogResult.OK)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";

currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap =
imageHandler.SetGamma(gFrm.RedComponent, gFrm.GreenComponent, gFrm.BlueComponent,
currentbitmap);
newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +
".bmp");
}
}

this.Invalidate();
}

Brightness
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Digital_Video_Bitmap
{
public partial class Brightness : Form
{
public Brightness()
{
InitializeComponent();
btnOK.DialogResult = DialogResult.OK;
btnCancel.DialogResult = DialogResult.Cancel;

}
public int BrightnessValue
{
get
{
numRate.Value = 0;
return Convert.ToInt32(numRate.Value);
}
set { numRate.Value = Convert.ToInt32(value.ToString()); }
}
private void btnOK_Click(object sender, EventArgs e)
{
}

COMPARE VIDEO
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
System.IO;

namespace Digital_Video_Bitmap
{
public partial class comparevideo : Form
{
public comparevideo()
{
InitializeComponent();
}
string newvideo;

string q;
string imagepath;
private void comparevideo_Load(object sender, EventArgs e)
{
q = Application.ExecutablePath.ToString();
imagepath = q.Substring(0, q.LastIndexOf("\\"));
newvideo = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\new.avi";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] f = d.GetFiles("*.avi");
string r=d.ToString();
string r1 = f.GetValue(0).ToString();
axWindowsMediaPlayer1.URL = r + "\\" + r1;
axWindowsMediaPlayer2.URL = newvideo;

}
private void btnplay_Click(object sender, EventArgs e)
{
newvideo = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\new.avi";
imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\0.bmp";
q = Application.ExecutablePath.ToString();
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] f = d.GetFiles(".avi");
axWindowsMediaPlayer1.URL = f[0].ToString();
axWindowsMediaPlayer2.URL = newvideo;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
this.Hide();
}
private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
{
}

}
CONTRAST
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Digital_Video_Bitmap
{
public partial class ContrastForm : Form
{
public ContrastForm()
{

InitializeComponent();
btnOK.DialogResult = DialogResult.OK;
btnCancel.DialogResult = DialogResult.Cancel;

public int ContrastValue


{
get
{
nudcontrast.Value = 0;
return Convert.ToInt32(nudcontrast.Value);

}
set { nudcontrast.Value =Convert.ToInt32(value.ToString()); }

private void ContrastForm_Load(object sender, EventArgs e)


{
}
private void btnOK_Click(object sender, EventArgs e)
{
}
}

PROGRESS BAR
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Digital_Video_Bitmap
{
public partial class fmProgress : Form
{
private bool m_Cancel = false;
public bool Cancel
{
get { return m_Cancel; }
}
public fmProgress()
{

InitializeComponent();
}
private void fmProgress_FormClosing(object sender, FormClosingEventArgs e)
{
// If the user clicks the X or hit's Alt+F4 consider this a cancel
// but don't let the form close, otherwise we can't check the Cancel
// property because the form will be null.
m_Cancel = true;
e.Cancel = true;
}
private void bnCancel_Click(object sender, EventArgs e)
{
}

FRAME RATE
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Digital_Video_Bitmap
{
public partial class FrameRateForm : Form
{
private double rate = 0;
public FrameRateForm()
{
InitializeComponent();
}
public double Rate
{
get { return rate; }
}
private void btnOK_Click(object sender, EventArgs e)
{
rate = (double)numRate.Value;
this.DialogResult = DialogResult.OK;
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
}

GAMMA
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Digital_Video_Bitmap
{
public partial class GammaForm : Form
{
public GammaForm()
{
InitializeComponent();
btnOK.DialogResult = DialogResult.OK;
btnCancel.DialogResult = DialogResult.Cancel;
}
public double RedComponent
{
get
{
if (string.IsNullOrEmpty(txtRedValue.Text))
txtRedValue.Text = "0";
return Convert.ToDouble(txtRedValue.Text);
}
set { txtRedValue.Text = value.ToString(); }
}
public double GreenComponent
{
get
{
if (string.IsNullOrEmpty(txtGreenValue.Text))
txtGreenValue.Text = "0";
return Convert.ToDouble(txtGreenValue.Text);
}
set { txtGreenValue.Text = value.ToString(); }
}
public double BlueComponent
{
get
{
if (string.IsNullOrEmpty(txtBlueValue.Text))
txtBlueValue.Text = "0";
return Convert.ToDouble(txtBlueValue.Text);
}
set { txtBlueValue.Text = value.ToString(); }
}
private void GammaForm_Load(object sender, EventArgs e)
{
}

private void btnOK_Click(object sender, EventArgs e)


{
}

VIDEO
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
System.Runtime.InteropServices;
System.Threading;
System.IO;
AviFile;

namespace Digital_Video_Bitmap
{
public partial class Main : Form
{
ImageHandler imageHandler = new ImageHandler();
static System.Drawing.Bitmap currentbit;
string videopath, fileName, imagepath, q;
private fmProgress m_fmProgress = null;
private BackgroundWorker m_AsyncWorker = new BackgroundWorker();
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
private static extern IntPtr CreateRoundRectRgn
(
int nLeftRect, // x-coordinate of upper-left corner
int nTopRect, // y-coordinate of upper-left corner
int nRightRect, // x-coordinate of lower-right corner
int nBottomRect, // y-coordinate of lower-right corner
int nWidthEllipse, // height of ellipse
int nHeightEllipse // width of ellipse
);
public Main()
{
InitializeComponent();
Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(6, 6, Width - 10, Height
+ 30, 20, 20));

m_AsyncWorker.WorkerReportsProgress = true;
m_AsyncWorker.WorkerSupportsCancellation = true;

protected override CreateParams CreateParams


{
get
{
CreateParams cp = base.CreateParams;
const int WS_CAPTION = 0xC00000;
cp.Style = cp.Style & ~WS_CAPTION;
return cp;
}
}
private void logoutToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
Login l = new Login();
l.Show();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{ Application.Exit(); }
private void Main_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, 0xA1, 0x2, 0);
}
}
private void menuStrip1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, 0xA1, 0x2, 0);
}
}
private void btnbrowse_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Videos (*.avi)|*.avi;*.mpe;*.mpeg";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtAviFileName.Text = openFileDialog1.FileName;
FileInfo f = new FileInfo(txtAviFileName.Text);
q = Application.ExecutablePath.ToString();
imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\base.avi";

FileInfo f1 = new FileInfo(imagepath);


f1.Delete();
f.CopyTo(imagepath);
btncreateframe.Enabled = true;

}
private void ShowFrame()
{
if (System.IO.File.Exists(txtAviFileName.Text))
{
try

AviManager aviManager = new AviManager(txtAviFileName.Text, true);


VideoStream aviStream = aviManager.GetVideoStream();
aviStream.GetFrameOpen();

System.Drawing.Bitmap bmp =
aviStream.GetBitmap(Convert.ToInt32(numPosition.Value));
// picFrame.Image = (System.Drawing.Bitmap)bmp;
aviStream.GetFrameClose();
aviManager.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private String GetFileName(String filter)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = filter;
dlg.RestoreDirectory = true;
if (txtAviFileName.Text.Length > 0)
{
dlg.InitialDirectory = GetCurrentFilePath();
}
if (dlg.ShowDialog(this) == DialogResult.OK)
{
return dlg.FileName;
}
else
{
return null;
}
}
private String GetCurrentFilePath()
{
return txtAviFileName.Text.Substring(0, txtAviFileName.Text.LastIndexOf("\\") + 1);
}
#region Synchronous BackgroundWorker Thread
private void btncreateframe_Click(object sender, EventArgs e)
{
BackgroundWorker bw = new BackgroundWorker(); // Create a background thread
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bw.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
btncreatevideo.Enabled = true;

private void bw_DoWork(object sender, DoWorkEventArgs e)


{
String fileName = txtAviFileName.Text;
if (fileName != null)
{
ShowFrame();
}
AviManager aviManager = new AviManager(txtAviFileName.Text, true);
VideoStream stream = aviManager.GetVideoStream();
stream.GetFrameOpen();
string q = Application.ExecutablePath.ToString();
string q1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
string path = @q1;
string[] filePaths = Directory.GetFiles(@q1);
DirectoryInfo frames = new DirectoryInfo(q1);
foreach (FileInfo f in frames.GetFiles())
f.Delete();
for (int n = 0; n < stream.CountFrames; n++)
{
stream.ExportBitmap(n, path + n.ToString() + ".bmp");
m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + n.ToString() + " of " +
stream.CountFrames.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(n * (100.0 /
(stream.CountFrames)));
}
);
if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}
}
numPosition.Maximum = stream.CountFrames;
stream.GetFrameClose();
aviManager.Close();
}
public void runworkercompleted(RunWorkerCompletedEventArgs e)
{
if (m_fmProgress != null)
{
m_fmProgress.Hide();
m_fmProgress = null;
}
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
return;
}
if (e.Cancelled)
{

MessageBox.Show("Processing cancelled.");
return;
}
}
private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
runworkercompleted(e);
}
#endregion
private void btncreatevideo_Click(object sender, EventArgs e)
{
BackgroundWorker bwcreatevideo = new BackgroundWorker(); // Create a background
thread
bwcreatevideo.DoWork += new DoWorkEventHandler(bwcreatevideo_DoWork);
bwcreatevideo.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwcreatevideo_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwcreatevideo.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
//if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
// File.Copy(@"C:\Directory1\Excel1.xls", @"C:\Directory2\Excel1.xls");
//else if (folderBrowserDialog1.ShowDialog() == DialogResult.Cancel) { }

}
private void bwcreatevideo_DoWork(object sender, DoWorkEventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\0.bmp";
string newvideo = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\new.avi"; //load the
first image
string imagedirectory = q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\";
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)Image.FromFile(@imagepath);
//create a new AVI file
AviManager aviManager = new AviManager(@newvideo, false); //create a new AVI file
VideoStream aviStream = aviManager.AddVideoStream(true, 15, bitmap);
DirectoryInfo di = new DirectoryInfo(@imagedirectory);
FileInfo[] fiArr = di.GetFiles("*.bmp");
string imagedirectory1 = q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\";
DirectoryInfo di1 = new DirectoryInfo(@imagedirectory1);
//foreach (FileInfo f in di.GetFiles())
// f.Delete();
for (int n = 0; n < di1.GetFiles().Length - 1; n++)
{
bitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(q.Substring(0,
q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + n + ".bmp");
aviStream.AddFrame(bitmap);
bitmap.Dispose();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + n.ToString() + " of " +
di1.GetFiles().Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(n * (100.0 /
(di1.GetFiles().Length)));
}
);
if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}
}
aviManager.Close();
}
private void bwcreatevideo_RunWorkerCompleted(object sender,
RunWorkerCompletedEventArgs e)
{
runworkercompleted(e);
}
private void compareVideoToolStripMenuItem_Click(object sender, EventArgs e)
{
comparevideo video = new comparevideo();
video.ShowDialog();
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
BackgroundWorker bwbright = new BackgroundWorker(); // Create a background thread
bwbright.DoWork += new DoWorkEventHandler(bwbright_DoWork);
bwbright.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwbright_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwbright.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
}
private void bwbright_DoWork(object sender, DoWorkEventArgs e)
{
Brightness bright = new Brightness();
if (bright.ShowDialog() == DialogResult.OK)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1).Clone();
System.Drawing.Bitmap temp =
imageHandler.SetBrightness((bright.BrightnessValue), currentbit, i);
System.Drawing.Bitmap bitsave = (System.Drawing.Bitmap)temp.Clone();

".bmp");

bitsave.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +


this.Invalidate();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + i.ToString() + " of " +
totfiles.Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(i * (100.0 /
(totfiles.Length)));
}
);
if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}
}
}
}
private void bwbright_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs
e)
{
runworkercompleted(e);
}
private void bwcontrast_DoWork(object sender, DoWorkEventArgs e)
{
ContrastForm cFrm = new ContrastForm();
if (cFrm.ShowDialog() == DialogResult.OK)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1).Clone();
System.Drawing.Bitmap currentimage =
imageHandler.SetContrast(cFrm.ContrastValue, currentbit, i);
currentimage.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +
".bmp");

this.Invalidate();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + i.ToString() + " of " +
totfiles.Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(i * (100.0 /
(totfiles.Length)));
}
);

if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}

}
private void bwcontrast_RunWorkerCompleted(object sender,
RunWorkerCompletedEventArgs e)
{
runworkercompleted(e);
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
BackgroundWorker bwcontrast = new BackgroundWorker(); // Create a background thread
bwcontrast.DoWork += new DoWorkEventHandler(bwcontrast_DoWork);
bwcontrast.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwcontrast_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwcontrast.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
}
private void bwinvert_DoWork(object sender, DoWorkEventArgs e)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap = imageHandler.SetInvert(currentbitmap);
//System.Drawing.Bitmap currentimage =
imageHandler.SetContrast(Convert.ToInt32(textBox1.Text), currentbit, i);
newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +
".bmp");

this.Invalidate();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + i.ToString() + " of " +
totfiles.Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(i * (100.0 /
(totfiles.Length)));
}
);
if (m_fmProgress.Cancel)
{

e.Cancel = true;
return;
}

}
private void bwinvert_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs
e)

runworkercompleted(e);
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
BackgroundWorker bwinvert = new BackgroundWorker(); // Create a background thread
bwinvert.DoWork += new DoWorkEventHandler(bwinvert_DoWork);
bwinvert.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwinvert_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwinvert.RunWorkerAsync(); // Kick off the Async thread

m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.


m_fmProgress = null;

private void bwgray_DoWork(object sender, DoWorkEventArgs e)


{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap = imageHandler.SetGrayscale(currentbitmap);
newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +
".bmp");

this.Invalidate();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + i.ToString() + " of " +
totfiles.Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(i * (100.0 /
(totfiles.Length)));
}
);
if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}
}

}
private void bwgray_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
runworkercompleted(e);
}
private void tsmigrayscale_Click(object sender, EventArgs e)
{
BackgroundWorker bwgray = new BackgroundWorker(); // Create a background thread
bwgray.DoWork += new DoWorkEventHandler(bwgray_DoWork);
bwgray.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwgray_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwgray.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
}
private void bwgamma_DoWork(object sender, DoWorkEventArgs e)
{
GammaForm gFrm = new GammaForm();
gFrm.RedComponent = gFrm.GreenComponent = gFrm.BlueComponent = 0;
if (gFrm.ShowDialog() == DialogResult.OK)
{
string q = Application.ExecutablePath.ToString();
string imagepath = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\";
DirectoryInfo d = new DirectoryInfo(imagepath);
FileInfo[] totfiles = d.GetFiles("*.bmp");
for (int i = 0; i <= totfiles.Length - 1; i++)
{
string imagepath1 = q.Substring(0, q.LastIndexOf("\\")) + "\\testdata\\" + i + ".bmp";
currentbit = (System.Drawing.Bitmap)Image.FromFile(imagepath1);
System.Drawing.Bitmap currentbitmap = currentbit.Clone(new Rectangle(0, 0,
currentbit.Size.Width, currentbit.Size.Height), System.Drawing.Imaging.PixelFormat.DontCare);
System.Drawing.Bitmap newbitmap =
imageHandler.SetGamma(gFrm.RedComponent, gFrm.GreenComponent, gFrm.BlueComponent,
currentbitmap);
".bmp");

newbitmap.Save(q.Substring(0, q.LastIndexOf("\\")) + "\\modifiedbitmap\\" + i +


this.Invalidate();

m_fmProgress.lblDescription.Invoke(
(MethodInvoker)delegate()
{
m_fmProgress.lblDescription.Text = "Processing file " + i.ToString() + " of " +
totfiles.Length.ToString();
m_fmProgress.progressBar1.Value = Convert.ToInt32(i * (100.0 / (totfiles.Length)));
}
);
if (m_fmProgress.Cancel)
{
e.Cancel = true;
return;
}
}

}
}
private void bwgamma_RunWorkerCompleted(object sender,
RunWorkerCompletedEventArgs e)
{
runworkercompleted(e);
}
private void tsmigamma_Click(object sender, EventArgs e)
{
BackgroundWorker bwgamma = new BackgroundWorker(); // Create a background thread
bwgamma.DoWork += new DoWorkEventHandler(bwgamma_DoWork);
bwgamma.RunWorkerCompleted += new
RunWorkerCompletedEventHandler(bwgamma_RunWorkerCompleted);
m_fmProgress = new fmProgress(); // Create a progress form on the UI thread
bwgamma.RunWorkerAsync(); // Kick off the Async thread
m_fmProgress.ShowDialog(this); // Lock up the UI with this modal progress form.
m_fmProgress = null;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
private void pictureBox2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
//framecmp fcmp = new framecmp();
//fcmp.Show();
}
private void Main_Load(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
}

You might also like