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

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

于 2022-05-18 发布 文件大小:33.04 kB
0 142
下载积分: 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# 多线程实例,创建多线程的简单实例,创建线程一和线程二,两者单独完成指定侨任务,创建多线程主要是使用C#中内置的方法new Thread()来实现,然后让每个线程执行一个for循环,来测试线程运行的效果。创建线程和运行线程的代码,可参考如下代码:   Thread thread1 = new Thread(new ThreadStart( Count));   thread1.Name="线程一";   Thread thread2 = new Thread(new ThreadStart( Count));   thread2.Name="线程二";   thread1.Start();   thread2.Start();
    2022-08-18 15:51:20下载
    积分:1
  • C#生成连续和任意重复的字符串实例
    C#调用自定义方法生成字符串实例,生成的这些字符串有两种类型,一种是生成包括N个连续字符的字符串,另一个是生成指定重复字符的字符串,在平时的应用中,有很多卡号和序列号需要生成类似的号码,有兴趣的可参考。   static void Main(string[] args)   {    Program p = new Program();//创建Program对象    p.CreateSString();//调用自定义方法    p.CreateTString();//调用自定义方法    Console.Read();   }   private void CreateSString()   {    //生成包含6个连续字符的字符串    string str = new string(Enumerable.Range(0, 6).Select(i => (char)(i + 65)).ToArray());    Console.WriteLine("包含6个连续字符的字符串:" + str);   }   private void CreateTString()   {    //生成包含3个重复字符串的字符串    string str = string.Join(string.Empty, Enumerable.Repeat("MR", 3).ToArray());    Console.WriteLine("包含3个重复字符串的字符串:" + str);   }
    2022-07-11 13:58:31下载
    积分:1
  • C#模拟新浪微博抢红包功能
    C#模拟新浪微博抢红包功能,这个不是模拟,当时是真的实现了抢红色功能,当时是新浪微博的一个抢红包活动,现在活动失效了,测试时候加载不了网页,不过发上来源码,主要是了解一下抢红包的方法,一些相关的编程技巧,比如计时器的控制、查询红包所属、查询红包状态、查现金红包、点击抢红包等。
    2022-08-11 15:12:27下载
    积分:1
  • C# 指定主机和端口发消息的实现
    Visual C# 指定主机和端口发消息的实现例子,支持和远程主机发送消息,本例子可学习到很多实用的网络方法的用法,以下代码是本功能的核心实现:   richTextBox1.Text = string.Empty;   //实例化UdpClient对象   UdpClient udpclient = new UdpClient(Convert.ToInt32(textBox2.Text));   //调用UdpClient对象的Connect建立默认远程主机   udpclient.Connect(textBox1.Text, Convert.ToInt32(textBox2.Text));   //定义一个字节数组,用来存放发送到远程主机的信息   Byte[] sendBytes = Encoding.Default.GetBytes(textBox3.Text);   //调用UdpClient对象的Send方法将Udp数据报发送到远程主机   udpclient.Send(sendBytes, sendBytes.Length);   //实例化IPEndPoint对象,用来显示响应主机的标识   IPEndPoint ipendpoint = new IPEndPoint(IPAddress.Any, 0);   //调用UdpClient对象的Receive方法获得从远程主机返回的Udp数据报   Byte[] receiveBytes = udpclient.Receive(ref ipendpoint);   //将获得的Udp数据报转换为字符串形式   string returnData = Encoding.Default.GetString(receiveBytes);   richTextBox1.Text = "接收到的信息:" + returnData.ToString();   //使用IPEndPoint对象的Address和Port属性获得响应主机的IP地址和端口号   richTextBox1.Text += " 这条信息来自主机" + ipendpoint.Address.ToString()    + "上的" + ipendpoint.Port.ToString() + "端口";   //关闭UdpClient连接
    2022-02-10 10:21:19下载
    积分:1
  • C# 文件下载器 可以进行网络爬虫资下载
    一个Visual C#2012 编写的文件下载器 可以进行网络爬虫资源下载,源文件目录介绍:   MyDownloader.Spider是网络抓取资源的下载程序。   MyDownloader.IEPlugin是在IE中下载时的一个小补丁插件。   MyDownloader.Extension是一个下载插件的扩展程序,可用于IE或其它程序环境。   MyDownloader.Core是下载程序的核心代码   MyDownloader.App一个较小的扩展出来的APP项目源码   因环境和VS版本问题,编辑在上传源码前没有测试成功,如果有版本的话,应该可以编译成功,所需的DLL组件已为你打包。
    2022-10-17 08:45:03下载
    积分:1
  • C# 编写多种窗口排列方式的MDIForm窗体
    C# 实现MDIForm窗体功能,代码中实现了3个MDI子窗口,并以水平平铺、垂直平铺、层叠排列的方式实现多种子窗口的排列布局,其主要代码在form1.cs中,其它文件为生成子窗口的文件,关键代码如下:   private void toolStripMenuItem1_Click(object sender, EventArgs e)   {    Form2 frm2 = new Form2();//实例化Form2    frm2.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm2.Show();//使用Show方法打开窗体    Form3 frm3 = new Form3();//实例化Form3    frm3.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm3.Show();//使用Show方法打开窗体    Form4 frm4 = new Form4();//实例化Form4    frm4.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm4.Show();//使用Show方法打开窗体   }   private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileHorizontal);//使用MdiLayout枚举实现水平平铺   }   private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileVertical);//使用MdiLayout枚举实现垂直平铺   }   private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.Cascade);//使用MdiLayout枚举实现层叠排列   }
    2022-03-07 15:00:14下载
    积分:1
  • C# 随机抽题(抽签程序)完整
    一个Visual C# 开发编写的随机抽题(抽签程序)完整源代码,附有程序使用说明和抽答程序的源代码,运行程序窗体加载时隐藏组件,并加载题目,启动计时器,产生随机数,点击开始按钮则开始抽题,所有题目都已经抽完了则重新加载题库!单击停止按钮后,如果列表框中还有值则清空删除。   运行时请注意:如程序不能运行请安装“NetFx20SP1_x86.exe”,Framework2.0框架,关于使用本抽签程序:   1.将程序和题库(文本文件)放在同一目录。   2.文本文件名必须为“抽签目录.txt”   如何编辑题库?(请参照图片“题库编辑说明”)   1.奇数行为题目,偶数行为答案。   2.答案或题目编辑完后才回车。   3.不要留空行。
    2022-03-20 13:23:15下载
    积分:1
  • C# 使用Graphics对象在程序运行时创建位图
    C# 在程序运行时创建位图,本源码实例主要是学习使用使用Graphics对象创建简单图像的例子,本程序将生成一条曲线图像,参照如下代码:   {//在程序运行时创建位图   int MyWidth=this.pictureBox1.Width;   int MyHeight=this.pictureBox1.Height;   Bitmap MyBitmap = new Bitmap(MyWidth,MyHeight);   Graphics MyGraphics = Graphics.FromImage(MyBitmap);   Pen MyPen = new Pen(Color.Black, 3);   Point[] MyPoints = { new Point(50, 100), new Point(100, 10), new Point(150, 290), new Point(200, 100), new Point(250, 10), new Point(300, 290), new Point(350, 100) };   MyGraphics.Clear(Color.White);   MyGraphics.DrawBeziers(MyPen, MyPoints);   pictureBox1.Image = MyBitmap;
    2022-03-25 22:38:21下载
    积分:1
  • C# treeView节点动态删除和添加示例
    C# treeView节点动态删除和添加示例,本源码演示了创建一个treeView父节点,创建了三个子节点,然后演示了将这3个子节点添加到父节点中,最后演示了使用Remove方法移除指定的TreeView节点项,添加节点和删除节点定义了两个按钮事件,用户通过单击按钮,激活事件,两个事件的编写方法如下:   private void Form1_Load(object sender, EventArgs e)   {    //建立一个父节点    TreeNode tn1 = treeView1.Nodes.Add("名称");    //建立3个子节点    TreeNode Ntn1 = new TreeNode("明日科技");    TreeNode Ntn2 = new TreeNode("C#编程词典");    TreeNode Ntn3 = new TreeNode("C#从基础到项目实战");    //将这3个子节点添加到父节点中    tn1.Nodes.Add(Ntn1);    tn1.Nodes.Add(Ntn2);    tn1.Nodes.Add(Ntn3);   }   private void button1_Click(object sender, EventArgs e)   {    //如果用户选择了“名称”证明没有选择要删除的子节点    if (treeView1.SelectedNode.Text == "名称")    {    MessageBox.Show("请选择要删除的子节点"); //弹出选择删除节点的提示    }    else    {    treeView1.Nodes.Remove(treeView1.SelectedNode);//使用Remove方法移除选择项    }   }
    2023-07-29 02:55:08下载
    积分:1
  • lua
    lua源码  可编译 安装 使用库 内有说明文档readme.html  lua是广泛使用的脚本语言,用途广泛
    2023-03-10 12:30:04下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载