-
C#在图片格式转换时设置JPEG压缩级别的实现源码
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
- 2022-05-18 00:19:47下载
- 积分:1
-
C# 使用代码查找资源词典中的资源
C# 使用代码查找资源词典中的资源,单击按钮,窗体中会出现一张图片,没搞懂本示例是想要演示什么功能,有兴趣的自己下载源码查看。这里帖一下几行关键代码:
private void button1_Click(object sender, RoutedEventArgs e)
{//使用代码查找资源词典中的资源
Image MyImage = (Image)this.FindResource("MyImage");
this.image1.Source = MyImage.Source;
}
- 2022-09-07 18:30:03下载
- 积分:1
-
C语言公交线路查询助手源码
C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。C语言公交线路查询助手源码。
- 2023-06-28 08:10:04下载
- 积分:1
-
C# LockThread()锁定线程以实现线程同步
C# 使用LockThread()方法实现线程监视监控的例子,锁定线程以实现线程同步,实现方法比较简单,可参考以下的代码,完整的代码可在本网页下载:
static void Main(string[] args)
{
Program myProgram = new Program();//实例化类对象
myProgram.LockThread(); //调用锁定线程方法
Console.ReadLine();
}
void LockThread()
{
Monitor.Enter(this);//锁定当前线程
Console.WriteLine("锁定线程以实现线程同步");
Monitor.Exit(this); //释放当前线程
}
- 2022-02-20 05:30:05下载
- 积分:1
-
C# 合并DataGridView控件单元格数据
C# 合并DataGridView控件单元格,合并列相同的内容,结合数据库来实现:
if (conn.State == ConnectionState.Closed)//判断数据库是否关闭
conn.Open();//打开数据库
string selectString = "select * from tb_emp";//定义查询字符串
Adapter = new SqlDataAdapter(selectString, conn);//实例化填充数据集和更新数据库的对象
Adapter.Fill(dataSet);//填充dataSet数据集
dataGridView1.DataSource =dataSet.Tables[0];//为dataGridView1设置数据源
conn.Close();//关闭数据库
填写单元格内容,相同的内容的单元格只填写第一个,对每一列相同单元格进行合并
- 2023-08-28 20:40:03下载
- 积分:1
-
STM32f103C8T6 TIM3 PWM源码
STM32f103C8T6 TIM3 PWM源码 四路PWM输出,亲测可用
编译软件:MDK4.53
硬件平台:STM32开发板(主芯片stm32f103c8t6)
仿真器:JLINK
- 2022-07-11 02:31:25下载
- 积分:1
-
C# 查询订购产品ID为51的客户信息
C# 查询订购产品ID为51的客户信息,需要连接数据库来测试,相关代码分享如下:
//查询订购产品ID为51的客户信息
SqlConnection MyConnection = new SqlConnection(@"Data Source =luobin-PCSQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
MyConnection.Open();
DataSet MyDataSet = new DataSet("CustomerOrdersDetails");
SqlDataAdapter MyCustomerAdapter = new SqlDataAdapter("SELECT * FROM Customers", MyConnection);
MyCustomerAdapter.Fill(MyDataSet, "Customers");
DataTable MyTable = new DataTable();
MyCustomerAdapter.Fill(MyTable);
SqlDataAdapter MyOrderAdapter = new SqlDataAdapter("SELECT * FROM Orders", MyConnection);
MyOrderAdapter.Fill(MyDataSet, "Orders");
SqlDataAdapter MyDetailAdapter = new SqlDataAdapter("SELECT * FROM [Order Details]", MyConnection);
MyDetailAdapter.Fill(MyDataSet, "OrderDetails");
MyConnection.Close();
MyDataSet.Relations.Add("CustOrders",MyDataSet.Tables["Customers"].Columns["CustomerID"],MyDataSet.Tables["Orders"].Columns["CustomerID"]).Nested = true;
MyDataSet.Relations.Add(
- 2023-04-28 12:35:03下载
- 积分:1
-
C语言实现socks5协议
C语言实现socks5协议,亲测有效。可以简单测试客户端与服务器之间的通信,支持在linux机器上运行,提供源码。
- 2022-07-19 01:01:48下载
- 积分: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# 简单模拟递增运算、递减运算:
private void repeatButton1_Click(object sender, RoutedEventArgs e)
{//递增运算
Int32 MyNum = Convert.ToInt32(this.textBox1.Text);
this.label1.Content = "正在进行递增运算:";
this.textBox1.Text = ((MyNum + 1).ToString());
}
private void repeatButton2_Click(object sender, RoutedEventArgs e)
{//递减运算
Int32 MyNum = Convert.ToInt32(this.textBox1.Text);
this.label1.Content = "正在进行递减运算:";
this.textBox1.Text = ((MyNum - 1).ToString());
}
- 2022-02-26 15:45:23下载
- 积分:1