登录
首页 » C#源码 » C#在图片格式转换时设置JPEG压缩级别的实现源码

C#在图片格式转换时设置JPEG压缩级别的实现源码

于 2022-05-18 发布 文件大小:33.04 kB
0 273
下载积分: 2 下载次数: 1

代码说明:

C#在转换图像格式时设置JPEG压缩级别,运行程序在窗口上单击按钮后,会生成多个版本不同压缩级别的图片,图片大小字节都不一样,如下代码是实现本功能的核心代码:   Bitmap MyBitmap = new Bitmap(@"J001.jpg");   ImageCodecInfo MyDecoder = null;   ImageCodecInfo[] MyDecoders = ImageCodecInfo.GetImageDecoders();   foreach (ImageCodecInfo MyFormat in MyDecoders)   {    if (MyFormat.FormatID == ImageFormat.Jpeg.Guid)    {    MyDecoder = MyFormat;    }   }   System.Drawing.Imaging.Encoder MyEncoder =    System.Drawing.Imaging.Encoder.Quality;   EncoderParameters MyEncoderParameters = new EncoderParameters(1);   //以50中级压缩图像   EncoderParameter MyEncoderParameter = new EncoderParameter(MyEncoder, 50L);   MyEncoderParameters.Param[0] = MyEncoderParameter;   MyBitmap.Save("J50L.jpg", MyDecoder, MyEncoderParameters);   //以100高级压缩图像   MyEncoderParameter = new EncoderParameter(MyEncoder, 100L);   MyEncoderParameters.Param[0] = MyEncoderParameter;   MyBitmap.Save("J99L.jpg", MyDecoder, MyEncoderParameters);   //以0低级压缩图像   MyEncoderParameter = new Enc

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C# 创建有参、无参数等多线程操作实例
    C# 多线程操作实例,获取指定进程的进程详细信息、获取指定进程的模块详细信息、创建无参数的多线程应用程序、创建带参数的多线程应用程序、创建共享线程模拟资源共享、创建子线程更新主线程数据等,部分代码分享如下:   if (MyThread.ThreadState == ThreadState.Terminated)    MyData += " 当前状态:已完成执行并已退出";   if (MyThread.ThreadState == ThreadState.Transition)    MyData += " 当前状态:在可以执行前等待处理器之外的资源";   if (MyThread.ThreadState == ThreadState.Unknown)    MyData += " 当前状态:状态未知";   if (MyThread.ThreadState == ThreadState.Wait)    MyData += " 当前状态:正在等待外围操作完成或等待资源释放";   if (MyThread.WaitReason == ThreadWaitReason.EventPairHigh)    MyData += " 等待原因:线程正在等待事件对高";   if (MyThread.WaitReason == ThreadWaitReason.EventPairLow)    MyData += " 等待原因:线程正在等待事件对低";   if (MyThread.WaitReason == ThreadWaitReason.ExecutionDelay)    MyData += " 等待原因:线程执行延迟";   if (MyThread.WaitReason == ThreadWaitReason.Executive)    MyData += " 等待原因:线程正在等待计划程序";   if (MyThread.WaitReason == ThreadWaitReason.FreePage)    MyData += " 等待原因:线程正在等待可用的虚拟内存页";   if (MyThread.WaitReason == ThreadWaitReason.LpcReceive)   
    2022-04-18 07:37:09下载
    积分:1
  • C# 在LINQ to DataSet中对分组操作执行子查询
    C# 在LINQ to DataSet中对分组操作执行子查询,相关代码:   private void button1_Click(object sender, EventArgs e)   {//在LINQ to DataSet中对分组操作执行子查询    SqlConnection MyConnection = new SqlConnection();    MyConnection.ConnectionString = @"Data Source =.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";    MyConnection.Open();    SqlCommand MyCommand = new SqlCommand("Select * From Orders ", MyConnection);    DataSet MySet = new DataSet();    SqlDataAdapter MyAdapter = new SqlDataAdapter(MyCommand);    MyAdapter.Fill(MySet);    DataTable MyQueryTable = MySet.Tables[0];    var MyQuery = from MyOrder in MyQueryTable.AsEnumerable()    orderby MyOrder.Field("ShipCity")    group MyOrder by MyOrder.Field("ShipCity") into g    select new    {    MyCity = g.Key,    MyMaxFreight = (from MyData in g select MyData.Field("Freight")).Max()   
    2022-01-27 20:20:32下载
    积分:1
  • C# OpenRead获取网站源代码,并保存到TXT文件Stream流中
    C#获取网页源代码,并将其保存为TXT文件,这里应用了OpenRead和Stream流方法,具体的实现,请参见以下代码:   richTextBox1.Text = string.Empty;   WebClient wclient = new WebClient();//实例化WebClient类对象   wclient.BaseAddress = textBox1.Text;//设置WebClient的基URI   wclient.Encoding = Encoding.UTF8;//指定下载字符串的编码方式   //为WebClient类对象添加标头   wclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");   //使用OpenRead方法获取指定网站的数据,并保存到Stream流中   Stream stream = wclient.OpenRead(textBox1.Text);   //使用流Stream声明一个流读取变量sreader   StreamReader sreader = new StreamReader(stream);   string str = string.Empty;//声明一个变量,用来保存一行从WebCliecnt下载的数据   //循环读取从指定网站获得的数据   while ((str = sreader.ReadLine()) != null)   {    richTextBox1.Text += str + " ";   }   //调用WebClient对象的DownloadFile方法将指定网站的内容保存到文件中   wclient.DownloadFile(textBox1.Text, DateTime.Now.ToFileTime() + ".txt");   MessageBox.Show("保存到文件成功");
    2022-02-02 08:55:49下载
    积分:1
  • C# 使用 tabControl创建窗体TAB效果
    C# 使用 tabControl创建窗体TAB选项卡效果,大家都熟悉的功能,这个例子比较基础,面向C#的初学者,下面是实现本功能的核心代码:   private void Form1_Load(object sender, EventArgs e)   {    tabControl1.ImageList = imageList1;    tabPage1.ImageIndex = 0;    tabPage1.Text = "选项卡1";    tabPage2.ImageIndex = 0;    tabPage2.Text = "选项卡2";   }   本TAB运行效果请参见截图,完整源码请下载。
    2022-08-22 06:09:52下载
    积分:1
  • C# 仿微信大部分功能含登录扫描二维码的源代码
    C# 版网页微信源代码,仿出了微信的大部分功能,加载登录微信需要扫描二维码,不过使用了较多的微信类库,微信主界面登录在WeChat_Desktop_App文件夹中。下载源码后请重新编译本源码,生成exe运行,界面如截图所示。   本C#微信项目,将微信的各个功能模块单独来开发,存放于各个文件夹中,比如登录模块、主界面模板、日志信息写入、文件上传下载日志和资源文件等,测试中发现可以登录微信,但是有些功能受测试条件限制,没能运行起来,大家下载源码后自己研究吧,有利于学习C#环境下的各个微信接口的使用。
    2023-04-27 07:20:05下载
    积分:1
  • C# 显示选择的DataGridView单元格行数据
    C# 显示选择的DataGridView单元格行数据附实现源码,连接数据库后,单击上部的“显示选择的单元格行”功能,即可显示出该行数据,具体的实现代码如下:   private void toolStripButton1_Click(object sender, EventArgs e)   {//显示选择的单元格行(获取DataGridView控件中选定的单元格行)   Int32 MyCount =customersDataGridView.Rows.GetRowCount(DataGridViewElementStates.Selected);   if (MyCount > 0)   {    System.Text.StringBuilder MyInfo = new System.Text.StringBuilder();    for (int i = 0; i < MyCount; i++)    {    MyInfo.Append("被选择的行号是: ");    MyInfo.Append(customersDataGridView.SelectedRows[i].Index.ToString());    MyInfo.Append(Environment.NewLine);    }    MyInfo.Append("一共选择了: " + MyCount.ToString()+"行。");    MessageBox.Show(MyInfo.ToString(), "信息提示",MessageBoxButtons.OK);   }   }
    2022-12-31 00:55:04下载
    积分:1
  • C# 输入界面中的各种文本框判断效果演示
    这是一个实用的输入判断验证演示程序,面向C#编程环境,当用户输入的数据不正确或为空时,均会显示提示,不过这个提示是一个图标在闪烁,直到输入正确,下面是判断机制:   private void textBox2_Validating(object sender, System.ComponentModel.CancelEventArgs e)   {    if (textBox2.Text == "")//判断是否输入订货数量    {    errorProvider2.SetError(textBox2, "不能为空");//设置errorProvider2的错误提示    }    else    {    try    {    int x = Int32.Parse(textBox2.Text);//判断是否输入数字,如果不是数字会出现异常    errorProvider2.SetError(textBox2, "");// errorProvider2控件不显示任何错误信息    b = 1;//将b赋值为1    }    catch    {    //如果出现异常,设置errorProvider2控件的错误信息    errorProvider2.SetError(textBox2, "请输入一个数");    }    }   }   private void textBox3_Validating(object sender, System.ComponentModel.CancelEventArgs e)   {    if (textBox3.Text == "")//判断是否输入订货数量    {    errorProvider3.SetError(textBox3, "不能为空");//设置errorProvider3显示的错误消息    }    else    {    errorProvider3.SetError(textBox
    2022-01-25 17:43:07下载
    积分:1
  • C# 简单嵌套查询的例子
    分享一个C# 简单嵌套查询的例子,查询总分在580分以上的学生信息。具体代码如下:   /// 查询数据库信息   /// 方法返回DataTable对象   private DataTable GetGrade()   {    string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");    string P_Str_SqlStr = string.Format(//创建SQL查询字符串    @"SELECT 学生姓名,学生编号, 性别,出生年月,年龄,所在学院,所学专业 FROMtb_Student WHERE 学生编号 IN (SELECT 学生编号 FROM tb_Grade WHERE 总分>=580)");    SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);    DataTable P_dt = new DataTable();//创建数据表    P_SqlDataAdapter.Fill(P_dt);//填充数据表    return P_dt;//返回数据表   }
    2022-12-23 02:20:03下载
    积分:1
  • C# 实现简单的WPF版图片淡入淡出效果
    C# 实现简单的WPF版图片淡入淡出效果。运行本效果实例,即可看到图片淡入淡出变化,先淡入再淡出,不停的变化。
    2022-01-25 21:23:37下载
    积分:1
  • C# 复制当前屏幕上指定区域图像
    C#复制当前屏幕上指定区域图像。运行效果如演示截图所示。最核心的两行代码如下所示:   private void button1_Click(object sender, EventArgs e)    {//复制当前屏幕上指定区域图像    Graphics g = this.pictureBox1.CreateGraphics();    g.CopyFromScreen(new Point(1, 1), new Point(0, 0),new Size(1201, 1201));   }
    2022-02-03 00:21:26下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载