kopia lustrzana https://github.com/njcrawford/EmbroideryReader
622 wiersze
24 KiB
C#
622 wiersze
24 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.Reflection;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace embroideryReader
|
|
{
|
|
public partial class frmMain : Form
|
|
{
|
|
private string[] args;
|
|
private Pen drawPen = Pens.Black;
|
|
private Bitmap DrawArea;
|
|
private PesFile.PesFile design;
|
|
private nc_settings.IniFile settings = new nc_settings.IniFile("embroideryreader.ini");
|
|
|
|
|
|
public frmMain()
|
|
{
|
|
InitializeComponent();
|
|
args = Environment.GetCommandLineArgs();
|
|
}
|
|
|
|
//private void button1_Click(object sender, EventArgs e)
|
|
//{
|
|
// string filename;
|
|
// openFileDialog1.ShowDialog();
|
|
// filename = openFileDialog1.FileName;
|
|
// if (!System.IO.File.Exists(filename))
|
|
// {
|
|
// return;
|
|
// }
|
|
// else
|
|
// {
|
|
// openFile(filename);
|
|
// }
|
|
//}
|
|
|
|
private void checkSettings()
|
|
{
|
|
string updateLoc;
|
|
updateLoc = settings.getValue("update location");
|
|
if (String.IsNullOrEmpty(updateLoc))
|
|
{
|
|
settings.setValue("update location", "http://www.njcrawford.com/embreader/");
|
|
}
|
|
if (settings.getValue("background color", "enabled") == "yes")
|
|
{
|
|
if (checkColorFromStrings(settings.getValue("background color", "red"),
|
|
settings.getValue("background color", "green"),
|
|
settings.getValue("background color", "blue")))
|
|
{
|
|
this.BackColor = makeColorFromStrings(settings.getValue("background color", "red"),
|
|
settings.getValue("background color", "green"),
|
|
settings.getValue("background color", "blue"));
|
|
}
|
|
else
|
|
{
|
|
this.BackColor = Color.FromKnownColor(KnownColor.Control);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.BackColor = Color.FromKnownColor(KnownColor.Control);
|
|
}
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
checkSettings();
|
|
this.Text = "Embroidery Reader";
|
|
if (args.Length > 1)
|
|
{
|
|
openFile(args[1]);
|
|
}
|
|
}
|
|
|
|
public static bool checkColorFromStrings(string red, string green, string blue)
|
|
{
|
|
//string redString;
|
|
//string greenString;
|
|
//string blueString;
|
|
byte redByte;
|
|
byte greenByte;
|
|
byte blueByte;
|
|
//red = settings.getValue("background color", "red");
|
|
//greenString = settings.getValue("background color", "green");
|
|
//blueString = settings.getValue("background color", "blue");
|
|
bool retval = false;
|
|
if (String.IsNullOrEmpty(red) || String.IsNullOrEmpty(green) || String.IsNullOrEmpty(blue))
|
|
{
|
|
retval = false;
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
redByte = Convert.ToByte(red);
|
|
greenByte = Convert.ToByte(green);
|
|
blueByte = Convert.ToByte(blue);
|
|
//this.BackColor = Color.FromArgb(redByte, greenByte, blueByte);
|
|
retval = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retval = false;
|
|
}
|
|
}
|
|
return retval;
|
|
}
|
|
|
|
public static Color makeColorFromStrings(string red, string green, string blue)
|
|
{
|
|
if (checkColorFromStrings(red, green, blue))
|
|
{
|
|
return Color.FromArgb(Convert.ToByte(red), Convert.ToByte(green), Convert.ToByte(blue));
|
|
}
|
|
else
|
|
{
|
|
return Color.Red;
|
|
}
|
|
}
|
|
|
|
private void openFile(string filename)
|
|
{
|
|
if (!System.IO.File.Exists(filename))
|
|
{
|
|
return;
|
|
}
|
|
design = new PesFile.PesFile(filename);
|
|
if (design.getStatus() == PesFile.statusEnum.Ready)
|
|
{
|
|
this.Text = System.IO.Path.GetFileName(filename) + " - Embroidery Reader";
|
|
//sizePanel2();
|
|
|
|
Single threadThickness = 5;
|
|
if (settings.getValue("thread thickness") != null)
|
|
{
|
|
try
|
|
{
|
|
threadThickness = Convert.ToSingle(settings.getValue("thread thickness"));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
}
|
|
}
|
|
DrawArea = design.designToBitmap(threadThickness);
|
|
panel1.Width = design.GetWidth() + (int)(threadThickness * 2);
|
|
panel1.Height = design.GetHeight() + (int)(threadThickness * 2);
|
|
panel1.Invalidate();
|
|
|
|
if (design.getFormatWarning())
|
|
{
|
|
toolStripStatusLabel1.Text = "The format of this file is not completely supported";
|
|
}
|
|
else if (design.getColorWarning())
|
|
{
|
|
toolStripStatusLabel1.Text = "Colors shown for this design may be inaccurate";
|
|
}
|
|
else
|
|
{
|
|
toolStripStatusLabel1.Text = "";
|
|
}
|
|
copyToolStripMenuItem.Enabled = true;
|
|
saveDebugInfoToolStripMenuItem.Enabled = true;
|
|
printPreviewToolStripMenuItem.Enabled = true;
|
|
printToolStripMenuItem.Enabled = true;
|
|
rotateLeftToolStripMenuItem.Enabled = true;
|
|
rotateRightToolStripMenuItem.Enabled = true;
|
|
refreshToolStripMenuItem.Enabled = true;
|
|
showDebugInfoToolStripMenuItem.Enabled = true;
|
|
panel2.Select();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("An error occured while reading the file:" + Environment.NewLine + design.getLastError());
|
|
copyToolStripMenuItem.Enabled = false;
|
|
saveDebugInfoToolStripMenuItem.Enabled = false;
|
|
printPreviewToolStripMenuItem.Enabled = false;
|
|
printToolStripMenuItem.Enabled = false;
|
|
rotateLeftToolStripMenuItem.Enabled = false;
|
|
rotateRightToolStripMenuItem.Enabled = false;
|
|
refreshToolStripMenuItem.Enabled = false;
|
|
showDebugInfoToolStripMenuItem.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void openToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
string filename;
|
|
if (settings.getValue("last open file folder") != null)
|
|
{
|
|
openFileDialog1.InitialDirectory = settings.getValue("last open file folder");
|
|
}
|
|
openFileDialog1.FileName = "";
|
|
openFileDialog1.Filter = "Embroidery Files (*.pes)|*.pes|All Files (*.*)|*.*";
|
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
filename = openFileDialog1.FileName;
|
|
if (!System.IO.File.Exists(filename))
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
settings.setValue("last open file folder", System.IO.Path.GetDirectoryName(filename));
|
|
openFile(filename);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void panel1_Paint(object sender, PaintEventArgs e)
|
|
{
|
|
if (DrawArea != null)
|
|
{
|
|
//e.Graphics.ScaleTransform(0.1f, 0.1f);
|
|
//e.Graphics.PageUnit = GraphicsUnit.Millimeter;
|
|
e.Graphics.DrawImage(DrawArea, 0, 0);
|
|
}
|
|
}
|
|
|
|
//public void designToBitmap()
|
|
//{
|
|
// Graphics xGraph;
|
|
// Single threadThickness = 5;
|
|
// if (settings.getValue("thread thickness") != null)
|
|
// {
|
|
// try
|
|
// {
|
|
// threadThickness = Convert.ToSingle(settings.getValue("thread thickness"));
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// }
|
|
// }
|
|
// DrawArea = new Bitmap(design.GetWidth() + (int)(threadThickness * 2), design.GetHeight() + (int)(threadThickness * 2));
|
|
// panel1.Width = design.GetWidth() + (int)(threadThickness * 2);
|
|
// panel1.Height = design.GetHeight() + (int)(threadThickness * 2);
|
|
// xGraph = Graphics.FromImage(DrawArea);
|
|
// xGraph.TranslateTransform(threadThickness, threadThickness);
|
|
// for (int i = 0; i < design.blocks.Count; i++)
|
|
// {
|
|
// if (design.blocks[i].stitches.Length > 1)//must have 2 points to make a line
|
|
// {
|
|
// Pen tempPen = new Pen(design.blocks[i].color, threadThickness);
|
|
// tempPen.StartCap = System.Drawing.Drawing2D.LineCap.Round;
|
|
// tempPen.EndCap = System.Drawing.Drawing2D.LineCap.Round;
|
|
// tempPen.LineJoin = System.Drawing.Drawing2D.LineJoin.Round;
|
|
// xGraph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
|
|
// xGraph.DrawLines(tempPen, design.blocks[i].stitches);
|
|
// }
|
|
// }
|
|
// xGraph.Dispose();
|
|
// panel1.Invalidate();
|
|
//}
|
|
|
|
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
MessageBox.Show("EmbroideryReader version " + currentVersion() + ". This program reads and displays embroidery designs from .PES files.");
|
|
}
|
|
|
|
private void checkForUpdateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
//bool isNewerVersion = false;
|
|
nc_Updater.IniFileUpdater updater = new nc_Updater.IniFileUpdater(settings.getValue("update location"));
|
|
//UpdateTester.nc_Update updater = new UpdateTester.nc_Update("http://www.google.com/");
|
|
//char[] sep = { '.' };
|
|
//string[] upVersion = updater.VersionAvailable().Split(sep);
|
|
//string[] curVersion = currentVersion().Split(sep);
|
|
//for (int i = 0; i < 4; i++)
|
|
//{
|
|
// if (Convert.ToInt32( upVersion[i]) > Convert.ToInt32(curVersion[i]))
|
|
// {
|
|
// isNewerVersion = true;
|
|
// break;
|
|
// }
|
|
//}
|
|
//if (isNewerVersion)
|
|
if (updater.IsUpdateAvailable() && settings.getValue("update location") != null)
|
|
{
|
|
if (MessageBox.Show("Version " + updater.VersionAvailable() + " is available." + Environment.NewLine + "You have version " + currentVersion() + ". Would you like to go to the Embroidery Reader website to download it?", "New version available", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
try
|
|
{
|
|
System.Diagnostics.Process.Start(settings.getValue("update location"));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("An error occured while trying to open the webpage:" + Environment.NewLine + ex.ToString());
|
|
}
|
|
//if (!updater.InstallUpdate())
|
|
//{
|
|
// MessageBox.Show("Update failed, error message: " + updater.GetLastError());
|
|
//}
|
|
//else
|
|
//{
|
|
// Environment.Exit(0);
|
|
//}
|
|
}
|
|
}
|
|
else if (updater.GetLastError() != "")
|
|
{
|
|
MessageBox.Show("Encountered an error while checking for updates: " + updater.GetLastError());
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("No updates are available right now." + Environment.NewLine + "(Latest version is " + updater.VersionAvailable() + ", you have version " + currentVersion() + ")");
|
|
}
|
|
|
|
}
|
|
|
|
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
settings.save();
|
|
}
|
|
|
|
private string currentVersion()
|
|
{
|
|
//Assembly myAsm = Assembly.GetCallingAssembly();
|
|
//AssemblyName aName = myAsm.GetName();
|
|
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
}
|
|
|
|
|
|
|
|
//[ComImport]
|
|
//[Guid("BB2E617C-0920-11d1-9A0B-00C04FC2D6C1")]
|
|
//[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
//public interface IExtractImage
|
|
//{
|
|
// [PreserveSig]
|
|
// long GetLocation(
|
|
// [Out]
|
|
// IntPtr pszPathBuffer,
|
|
// int cch,
|
|
// ref int pdwPriority,
|
|
// ref SIZE prgSize,
|
|
// int dwRecClrDepth,
|
|
// ref int pdwFlags);
|
|
|
|
// [PreserveSig]
|
|
// int Extract([Out]IntPtr phBmpThumbnail);
|
|
//}
|
|
|
|
|
|
//[ComImport]
|
|
//[Guid("953BB1EE-93B4-11d1-98A3-00C04FB687DA")]
|
|
//[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
|
//public interface IExtractImage2 : IExtractImage
|
|
//{
|
|
// int GetDateStamp([In, Out]ref System.Runtime.InteropServices.ComTypes.FILETIME pDateStamp);
|
|
//}
|
|
|
|
//public struct SIZE
|
|
//{
|
|
// public long cx;
|
|
// public long cy;
|
|
//}
|
|
|
|
private void saveDebugInfoToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (design != null)
|
|
{
|
|
try
|
|
{
|
|
design.saveDebugInfo();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("There was an error while saving debug info:" + Environment.NewLine + ex.ToString());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("No design loaded.");
|
|
}
|
|
}
|
|
|
|
//private void Form1_ResizeEnd(object sender, EventArgs e)
|
|
//{
|
|
//panel2.Top = 32;
|
|
//panel2.Left = 0;
|
|
//panel2.Height = this.Height - 50;
|
|
//panel2.Width = this.Width - 50;
|
|
//}
|
|
|
|
//private void Form1_Resize(object sender, EventArgs e)
|
|
//{
|
|
//panel2.Height = this.Height - 75;
|
|
//panel2.Width = this.Width-8;
|
|
//sizePanel2();
|
|
//}
|
|
|
|
//private void sizePanel2()
|
|
//{
|
|
//panel2.Height = this.Height - 73;
|
|
//panel2.Width = this.Width - 8;
|
|
//panel2.Height = this.Height - (statusStrip1.Height + menuStrip1.Height + 33);
|
|
//panel2.Top = menuStrip1.Bottom;
|
|
//panel2.Height = statusStrip1.Top - menuStrip1.Bottom;
|
|
//panel2.Width = this.Width - 8;
|
|
//panel2.Width = panel3.Right;
|
|
//}
|
|
|
|
private void preferencesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
frmSettingsDialog tempForm = new frmSettingsDialog();
|
|
tempForm.settings = settings;
|
|
if (tempForm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
settings = tempForm.settings;
|
|
checkSettings();
|
|
}
|
|
}
|
|
|
|
private void printToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (printDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
//MessageBox.Show("It's OK!");
|
|
printDocument1.Print();
|
|
}
|
|
//printDocument1.Print();
|
|
}
|
|
|
|
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
|
|
{
|
|
if (DrawArea != null)
|
|
{
|
|
//e.Graphics.DrawImage(DrawArea, 30, 30);
|
|
//RectangleF tempRect = new RectangleF(0,0,DrawArea.Width,DrawArea.Height);
|
|
//tempRect.X = 0;
|
|
//tempRect.Y = 0;
|
|
//tempRect.Width = DrawArea.Width;
|
|
//tempRect.Height = DrawArea.Height;
|
|
//float dpiX = e.Graphics.DpiX;
|
|
//float dpiY = e.Graphics.DpiY;
|
|
float dpiX = 100;
|
|
float dpiY = 100;
|
|
double mmPerInch = 0.03937007874015748031496062992126;
|
|
//MessageBox.Show((dpiX * mmPerInch * 0.1).ToString());
|
|
//e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
|
e.Graphics.ScaleTransform((float)(dpiX * mmPerInch * 0.1), (float)(dpiY * mmPerInch * 0.1));
|
|
|
|
//e.Graphics.ScaleTransform(0.1f, 0.1f);
|
|
e.Graphics.DrawImage(DrawArea, 30, 30);
|
|
//e.Graphics.DrawRectangle(Pens.Black, 20, 20, 100, 100);
|
|
}
|
|
}
|
|
|
|
private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
printPreviewDialog1.Document = printDocument1;
|
|
printPreviewDialog1.ShowDialog();
|
|
}
|
|
|
|
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (DrawArea != null)
|
|
{
|
|
Clipboard.Clear();
|
|
Bitmap temp = new Bitmap(DrawArea.Width, DrawArea.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
|
|
Graphics tempGraph = Graphics.FromImage(temp);
|
|
tempGraph.FillRectangle(Brushes.White, 0, 0, temp.Width, temp.Height);
|
|
tempGraph.DrawImageUnscaled(DrawArea, 0, 0);
|
|
tempGraph.Dispose();
|
|
//temp = System.Drawing.Imaging.PixelFormat.Format24bppRgb;
|
|
Clipboard.SetImage(temp);
|
|
}
|
|
}
|
|
|
|
private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (design != null && design.getStatus() == PesFile.statusEnum.Ready)
|
|
{
|
|
//this.Text = System.IO.Path.GetFileName(filename) + " - Embroidery Reader";
|
|
//sizePanel2();
|
|
|
|
Single threadThickness = 5;
|
|
if (settings.getValue("thread thickness") != null)
|
|
{
|
|
try
|
|
{
|
|
threadThickness = Convert.ToSingle(settings.getValue("thread thickness"));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
}
|
|
}
|
|
DrawArea = design.designToBitmap(threadThickness);
|
|
panel1.Width = design.GetWidth() + (int)(threadThickness * 2);
|
|
panel1.Height = design.GetHeight() + (int)(threadThickness * 2);
|
|
panel1.Invalidate();
|
|
|
|
if (design.getFormatWarning())
|
|
{
|
|
toolStripStatusLabel1.Text = "The format of this file is not completely supported";
|
|
}
|
|
else if (design.getColorWarning())
|
|
{
|
|
toolStripStatusLabel1.Text = "Colors shown for this design may be inaccurate";
|
|
}
|
|
else
|
|
{
|
|
toolStripStatusLabel1.Text = "";
|
|
}
|
|
//copyToolStripMenuItem.Enabled = true;
|
|
//saveDebugInfoToolStripMenuItem.Enabled = true;
|
|
//printPreviewToolStripMenuItem.Enabled = true;
|
|
//printToolStripMenuItem.Enabled = true;
|
|
//panel2.Select();
|
|
}
|
|
}
|
|
|
|
private void rotateLeftToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Bitmap temp = new Bitmap(DrawArea.Height, DrawArea.Width);
|
|
Graphics g = Graphics.FromImage(temp);
|
|
g.RotateTransform(270.0f);
|
|
g.DrawImage(DrawArea, -DrawArea.Width, 0);
|
|
g.Dispose();
|
|
DrawArea = temp;
|
|
int temp2 = panel1.Width;
|
|
panel1.Width = panel1.Height;
|
|
panel1.Height = temp2;
|
|
panel1.Invalidate();
|
|
}
|
|
|
|
private void rotateRightToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Bitmap temp = new Bitmap(DrawArea.Height, DrawArea.Width);
|
|
Graphics g = Graphics.FromImage(temp);
|
|
g.RotateTransform(90.0f);
|
|
g.DrawImage(DrawArea, 0, -DrawArea.Height);
|
|
g.Dispose();
|
|
DrawArea = temp;
|
|
int temp2 = panel1.Width;
|
|
panel1.Width = panel1.Height;
|
|
panel1.Height = temp2;
|
|
panel1.Invalidate();
|
|
}
|
|
|
|
private void showDebugInfoToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (design != null)
|
|
{
|
|
try
|
|
{
|
|
frmTextbox theform = new frmTextbox();
|
|
theform.showText(design.getDebugInfo());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("There was an error while saving debug info:" + Environment.NewLine + ex.ToString());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("No design loaded.");
|
|
}
|
|
}
|
|
|
|
private void saveAsBitmapToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (DrawArea != null)
|
|
{
|
|
Bitmap temp = new Bitmap(DrawArea.Width, DrawArea.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
|
|
|
|
Graphics tempGraph = Graphics.FromImage(temp);
|
|
tempGraph.FillRectangle(Brushes.White, 0, 0, temp.Width, temp.Height);
|
|
tempGraph.DrawImageUnscaled(DrawArea, 0, 0);
|
|
tempGraph.Dispose();
|
|
saveFileDialog1.FileName = "";
|
|
saveFileDialog1.Filter = "Bitmap (*.bmp)|*.bmp|PNG (*.png)|*.png|JPEG (*.jpg)|*.jpg|GIF (*.gif)|*.gif|TIFF (*.tif)|*.tif|All Files (*.*)|*.*";
|
|
if (settings.getValue("last save image location") != null)
|
|
{
|
|
saveFileDialog1.InitialDirectory = settings.getValue("last save image location");
|
|
}
|
|
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
string filename = "";
|
|
filename = saveFileDialog1.FileName;
|
|
System.Drawing.Imaging.ImageFormat format;
|
|
switch (System.IO.Path.GetExtension(filename).ToLower())
|
|
{
|
|
case ".bmp": format = System.Drawing.Imaging.ImageFormat.Bmp; break;
|
|
case ".png": format = System.Drawing.Imaging.ImageFormat.Png; break;
|
|
case ".jpg": format = System.Drawing.Imaging.ImageFormat.Jpeg; break;
|
|
case ".gif": format = System.Drawing.Imaging.ImageFormat.Gif; break;
|
|
case ".tif": format = System.Drawing.Imaging.ImageFormat.Tiff; break;
|
|
default: format = System.Drawing.Imaging.ImageFormat.Bmp; break;
|
|
}
|
|
temp.Save(filename, format);
|
|
showStatus("Image saved", 5000);
|
|
settings.setValue("last save image location", System.IO.Path.GetDirectoryName(filename));
|
|
}
|
|
}
|
|
}
|
|
|
|
private void showStatus(string text, int msec)
|
|
{
|
|
toolStripStatusLabel2.Text = text;
|
|
timer1.Interval = msec;
|
|
timer1.Enabled = true;
|
|
}
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
{
|
|
toolStripStatusLabel2.Text = "";
|
|
}
|
|
}
|
|
} |