Winform 에서 그림 형식 변환 실현
사진 한 장 을 선택 하고 저장 위치 와 변환 할 그림 형식 을 선택 하여 그림 형식 변환 을 실현 합 니 다.
프로젝트 실행 효과
이루어지다
창 페이지 를 새로 만 든 다음 페이지 레이아웃 을 다음 과 같이 설계 합 니 다.
그림 단추 선택 이벤트 클릭 중
private void toolStripButton3_Click(object sender, EventArgs e)//
{
if (openFileDialog1.ShowDialog() == DialogResult.OK) //
{
listView1.Items.Clear(); // listView1
string[] info = new string[7]; //
FileInfo fi; // FileInfo ,
path1 = openFileDialog1.FileNames; //
for (int i = 0; i < path1.Length; i++) //
{
//
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
//
string ImgType = ImgName.Substring(ImgName.LastIndexOf(".") + 1, ImgName.Length - ImgName.LastIndexOf(".") - 1);
fi = new FileInfo(path1[i].ToString()); // FileInfo
// imageList1
imageList1.Images.Add(ImgName,Properties.Resources. __23_);
info[1] = ImgName; //
info[2] = ImgType; //
info[3] = fi.LastWriteTime.ToShortDateString();//
info[4] = path1[i].ToString(); //
info[5] = (fi.Length/1024)+"KB"; //
info[6] = " "; //
ListViewItem lvi = new ListViewItem(info, ImgName); // ListViewItem
listView1.Items.Add(lvi); // listView1
}
tsslFileNum.Text = " " + path1.Length.ToString() + " ";//
}
}
그림 저장 위치 단추 선택 이벤트 클릭
private void toolStripButton4_Click(object sender, EventArgs e)//
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) //
{
path2 = folderBrowserDialog1.SelectedPath; //
}
}
전환 시작 단추 클릭 이벤트
private void toolStripButton1_Click(object sender, EventArgs e)
{
if (path1 == null) //
{
MessageBox.Show(" !", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
if (path2.Length == 0) //
{
MessageBox.Show(" !", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
flags = 1; // flags 1,
toolStrip1.Enabled = false; // ,
int flag = tscbType.SelectedIndex; //
switch (flag) //
{
case 0:
Imgtype1 = 0; // BMP
td = new Thread(new ThreadStart(ConvertImage)); // ConvertImage
td.Start();
break;
case 1: // JPG
Imgtype1 = 1;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
case 2: // PNG
Imgtype1 = 2;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
case 3: // GIF
Imgtype1 = 3;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
default: td.Abort(); break;
}
}
}
}
전체 창 페이지 코드
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
namespace PictureBatchConversion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] path1=null; //
string path2=""; //
Bitmap bt; // Bitmap
Thread td; //
int Imgtype1; // ConvertImage
string OlePath; // ConvertImage
string path; // ConvertImage
int flags; // ,
private void Form2_Load(object sender, EventArgs e)
{
tscbType.SelectedIndex = 0; //
CheckForIllegalCrossThreadCalls = false;//
}
private void toolStripButton3_Click(object sender, EventArgs e)//
{
if (openFileDialog1.ShowDialog() == DialogResult.OK) //
{
listView1.Items.Clear(); // listView1
string[] info = new string[7]; //
FileInfo fi; // FileInfo ,
path1 = openFileDialog1.FileNames; //
for (int i = 0; i < path1.Length; i++) //
{
//
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
//
string ImgType = ImgName.Substring(ImgName.LastIndexOf(".") + 1, ImgName.Length - ImgName.LastIndexOf(".") - 1);
fi = new FileInfo(path1[i].ToString()); // FileInfo
// imageList1
imageList1.Images.Add(ImgName,Properties.Resources. __23_);
info[1] = ImgName; //
info[2] = ImgType; //
info[3] = fi.LastWriteTime.ToShortDateString();//
info[4] = path1[i].ToString(); //
info[5] = (fi.Length/1024)+"KB"; //
info[6] = " "; //
ListViewItem lvi = new ListViewItem(info, ImgName); // ListViewItem
listView1.Items.Add(lvi); // listView1
}
tsslFileNum.Text = " " + path1.Length.ToString() + " ";//
}
}
private void toolStripButton2_Click(object sender, EventArgs e) //
{
Application.Exit(); //
}
private void toolStripButton5_Click(object sender, EventArgs e) //
{
listView1.Items.Clear(); //
path1 = null; //
tsslFileNum.Text = " "; //
tsslPlan.Text = ""; //
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
if (path1 == null) //
{
MessageBox.Show(" !", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
if (path2.Length == 0) //
{
MessageBox.Show(" !", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
flags = 1; // flags 1,
toolStrip1.Enabled = false; // ,
int flag = tscbType.SelectedIndex; //
switch (flag) //
{
case 0:
Imgtype1 = 0; // BMP
td = new Thread(new ThreadStart(ConvertImage)); // ConvertImage
td.Start();
break;
case 1: // JPG
Imgtype1 = 1;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
case 2: // PNG
Imgtype1 = 2;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
case 3: // GIF
Imgtype1 = 3;
td = new Thread(new ThreadStart(ConvertImage));// ConvertImage
td.Start();
break;
default: td.Abort(); break;
}
}
}
}
private void toolStripButton4_Click(object sender, EventArgs e)//
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) //
{
path2 = folderBrowserDialog1.SelectedPath; //
}
}
private void ConvertImage()
{
flags = 1;
switch (Imgtype1)
{
case 0:
for (int i = 0; i < path1.Length; i++)
{
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
OlePath = path1[i].ToString();
bt = new Bitmap(OlePath);
path = path2 + "\\" + ImgName + ".bmp";
bt.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
listView1.Items[flags - 1].SubItems[6].Text = " ";
tsslPlan.Text = " "+flags*100/path1.Length+"%";
if (flags == path1.Length)
{
toolStrip1.Enabled = true;
tsslPlan.Text = " ";
}
flags++;
}
break;
case 1:
for (int i = 0; i < path1.Length; i++)
{
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
OlePath = path1[i].ToString();
bt = new Bitmap(OlePath);
path = path2 + "\\" + ImgName + ".jpeg";
bt.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
listView1.Items[flags - 1].SubItems[6].Text = " ";
tsslPlan.Text = " " + flags * 100 / path1.Length + "%";
if (flags == path1.Length)
{
toolStrip1.Enabled = true;
tsslPlan.Text = " ";
}
flags++;
}
break;
case 2:
for (int i = 0; i < path1.Length; i++)
{
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
OlePath = path1[i].ToString();
bt = new Bitmap(OlePath);
path = path2 + "\\" + ImgName + ".png";
bt.Save(path, System.Drawing.Imaging.ImageFormat.Png);
listView1.Items[flags - 1].SubItems[6].Text = " ";
tsslPlan.Text = " " + flags * 100 / path1.Length + "%";
if (flags == path1.Length)
{
toolStrip1.Enabled = true;
tsslPlan.Text = " ";
}
flags++;
}
break;
case 3:
for (int i = 0; i < path1.Length; i++)
{
string ImgName = path1[i].Substring(path1[i].LastIndexOf("\\") + 1, path1[i].Length - path1[i].LastIndexOf("\\") - 1);
ImgName = ImgName.Remove(ImgName.LastIndexOf("."));
OlePath = path1[i].ToString();
bt = new Bitmap(OlePath);
path = path2 + "\\" + ImgName + ".gif";
bt.Save(path, System.Drawing.Imaging.ImageFormat.Gif);
listView1.Items[flags - 1].SubItems[6].Text = " ";
tsslPlan.Text = " " + flags * 100 / path1.Length + "%";
if (flags == path1.Length)
{
toolStrip1.Enabled = true;
tsslPlan.Text = " ";
}
flags++;
}
break;
default: bt.Dispose(); break;
}
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)//
{
if (td != null) //
{
if (td.ThreadState == ThreadState.Running) //
{
td.Abort(); //
}
}
}
}
}
전체 원본 다운로드 이상 은 Winform 에서 이미지 형식 전환 을 실현 하 는 상세 한 내용 입 니 다.Winform 이미지 형식 전환 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
winformtextbox에 글꼴 크기 증가 또는 감소텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.