Skip to content
This repository was archived by the owner on May 12, 2022. It is now read-only.

Commit a478d5b

Browse files
author
Allester Fox
committed
Image save function for converted images
1 parent 621e045 commit a478d5b

2 files changed

Lines changed: 83 additions & 28 deletions

File tree

Image2Bitmap/Form1.Designer.cs

Lines changed: 42 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Image2Bitmap/Form1.cs

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public Form1()
3030
{
3131
InitializeComponent();
3232

33+
btn_Save.Enabled = false;
34+
3335
//selBox_Format.DataSource = Enum.GetValues(typeof(PixelFormat));
3436
selBox_Format.DataSource = Enum.GetValues(typeof(TransformColorFormats));
3537
selBox_Format.SelectedIndex = 0;
@@ -47,7 +49,7 @@ private void Btn_open_Click(object sender, EventArgs e)
4749
{
4850
OpenFileDialog openFile = new OpenFileDialog();
4951
openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
50-
openFile.Filter = "Images (*.jpg, *.jpeg, *.png, *.bmp)|*.jpg;*.jpeg;*.png;*.bmp";
52+
openFile.Filter = "Images|*.jpg;*.jpeg;*.png;*.bmp";
5153
openFile.RestoreDirectory = true;
5254

5355
if (openFile.ShowDialog() == DialogResult.OK)
@@ -422,6 +424,7 @@ private void ConvertDone(object sender, RunWorkerCompletedEventArgs e)
422424
break;
423425
}
424426
btn_Convert.Enabled = true;
427+
btn_Save.Enabled = true;
425428
GC.Collect();
426429
}
427430

@@ -495,5 +498,42 @@ private void tabBox_SelectedIndexChanged(object sender, EventArgs e)
495498
num_Height.Enabled = false;
496499
}
497500
}
501+
502+
private void btn_Save_Click(object sender, EventArgs e)
503+
{
504+
SaveFileDialog sfd = new SaveFileDialog();
505+
sfd.Filter = "JPEG|*.jpg;*.jpeg;|PNG|*.png|BMP|*.bmp";
506+
507+
if (sfd.ShowDialog() == DialogResult.OK)
508+
{
509+
string ext = Path.GetExtension(sfd.FileName);
510+
511+
switch (ext)
512+
{
513+
case ".jpg":
514+
case ".jpeg":
515+
EncoderParameters encParams = new EncoderParameters(1);
516+
encParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 90L); // 90%
517+
518+
ImageCodecInfo ici = null;
519+
foreach (ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders())
520+
if (codec.MimeType == "image/jpeg")
521+
ici = codec;
522+
523+
imageBox.Image.Save(sfd.FileName, ici, encParams);
524+
525+
//imageBox.Image.Save(sfd.FileName, ImageFormat.Jpeg);
526+
break;
527+
case ".png":
528+
imageBox.Image.Save(sfd.FileName, ImageFormat.Png);
529+
break;
530+
case ".bmp":
531+
imageBox.Image.Save(sfd.FileName, ImageFormat.Bmp);
532+
break;
533+
default:
534+
return;
535+
}
536+
}
537+
}
498538
}
499539
}

0 commit comments

Comments
 (0)