-
C# WPF把彩色图片转换为灰度图
C# 把彩色图片转换为灰度图,这是一个基于WPF的C#图像处理程序,图像彩色转换黑白,支持的图像文件格式为:JPeg,Gif,Bmp,etc。
程序主要实现两个功能,一是将彩色转换为索引像素格式、二是将彩色转换为黑白像素格式,对应于窗口中的按钮,可查看对应功能的演示:
将彩色转换为黑白像素格式,核心代码如下:
TransformedBitmap MyRotatedBitmapSource = new TransformedBitmap();
MyRotatedBitmapSource.BeginInit();
MyRotatedBitmapSource.Source = (System.Windows.Media.Imaging.BitmapSource)this.image1.Source;
MyRotatedBitmapSource.Transform = new RotateTransform(270);
MyRotatedBitmapSource.EndInit();
FormatConvertedBitmap MyFormatedBitmap = new FormatConvertedBitmap();
MyFormatedBitmap.BeginInit();
MyFormatedBitmap.Source = MyRotatedBitmapSource;
MyFormatedBitmap.DestinationFormat = PixelFormats.BlackWhite;
MyFormatedBitmap.EndInit();
this.image1.Source = MyFormatedBitmap;
完整源码例子请在本页下载,运行效果截图如下图示。
- 2022-02-01 21:42:57下载
- 积分:1
-
C# 实现窗体控件值与数据库字段绑定
C# 实现窗体控件值与数据库字段绑定,DataBinding的用法例子,基本的数据库操作示例,学习MyAdapter、SqlDataAdapter、DataBindings、BindingContext等的用法,测试例子如上图所示。
- 2022-03-18 00:24:48下载
- 积分:1
-
C# 演示如何使用DataGridView更新数据
C#更新修改DataGridView数据,请直接在DataGridView表格中修改数据,C# 更新DataGridView数据的实现代码如下:
private void button1_Click(object sender, EventArgs e)
{//更新数据
var MyCount = this.sqlDataAdapter1.Update(this.dataSet1, "Customers");
var MyInfo = "成功更新" + MyCount.ToString() + "条记录!";
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
private void Form1_Load(object sender, EventArgs e)
{//读取Customers数据表记录
var MySQL = "Select * From Customers ";
this.sqlConnection1.ConnectionString = "Data Source=.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";
this.sqlCommand1 = new System.Data.SqlClient.SqlCommand("Select * From Employees", this.sqlConnection1);
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(this.sqlCommand1);
this.sqlCommandBuilder1 = new System.Data.SqlClient.SqlCommandBuilder(this.sqlDataAdapter1);
this.sqlDataAdapter1.Fill(this.dataSet1, "Customers");
this.dataGridView1.DataSource = this.dataSet1.Tables[0];
- 2022-03-24 05:10:10下载
- 积分:1
-
C# 为DataGridView控件设置交替行样式(隔行换色)
C# 为DataGridView控件设置交替行样式,也就是大家熟悉的隔行换色功能,每一行数据的底色都不一样,这样可更清淅的浏览表格,在WEB开发中,这也是一个受欢迎的功能,在C# WinForm编程中,同样是个既实用又美观的功能。
本示例测试需要连接好SQL数据库,否则DataGridView未填充数据,不能看出多行隔行换色效果。其实实现这一功能,最核心的几行代码如下:
为DataGridView控件设置交替行样式
this.customersDataGridView.RowsDefaultCellStyle.BackColor = Color.SeaGreen ;
this.customersDataGridView.AlternatingRowsDefaultCellStyle.BackColor =Color.Cyan;
- 2022-11-20 06:00:03下载
- 积分:1
-
C# 异步加载图像的方法附示例源码
C# 异步加载图像的方法附示例源码,异步加载技术对提升软件内容加载性能很有帮助,不但可以异步加载图片,还可以用于异步加载数据库内容,只是方法不同,本例是异步加载图片,这个也是使用比较多的一种情况,希望对C#初学者有所帮助。
运行本示例exe后,选择一张图片,则会异步加载这张图像,并显示当前图像文件加载进度,如效果图所示。
- 2022-06-06 15:30:23下载
- 积分:1
-
C# 使用聚合函数查找数据库重复记录
C#利用聚合函数显示数据库中重复记录的数量,这个例子可找出数据库中的重复内容,对优化数据库很有帮助。实现本功能可参考以下代码:
dgv_Message.DataSource = GetMessage();//设置数据源
dgv_Message.Columns[0].Width = this.Width;//设置列宽度
dgv_Message.DataSource = GetStudent();//设置数据源
dgv_Message.Columns[0].Width = 200;//设置列宽度
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT 所在学院 ,COUNT(所在学院) AS 学生数量 FROM tb_Student GROUP BY 所在学院");
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-06-30 05:46:27下载
- 积分:1
-
C# 通过Linq实现元素操作符
C# 通过Linq实现各种元素操作符,比如实现了以下操作符:
var first = pdt.First(p => p.p_price > 500);//返回单价大于500的第一个元素
Console.WriteLine("First操作符(" + first + ")");
var last = pdt.Last(p => p.p_price < 500);//返回单价小于500的最后一个元素
Console.WriteLine("Last操作符(" + last + ")");
var single = pdt.Single(p => p.p_id == 1);//返回产品id为1的元素
Console.WriteLine("Single操作符(" + single + ")");
var elementat = pdt.ElementAt(3);//返回第4个元素
Console.WriteLine("ElementAt操作符(" + elementat + ")");
Console.Read();
- 2022-05-15 10:44:11下载
- 积分:1
-
C# 使用互斥量禁止程序运行两个实例
C# 使用互斥量禁止程序运行两个实例,这个主要是根据开发的程序使用环境决定,有时候一个程序运行多个副本,会浪费系统资源造成不稳定,但有人说这样会让软件使用更方便,以下代码是不让程序运行多个实例副本,关键代码如下所示:
private void Form1_Load(object sender, EventArgs e)
{//使用互斥量禁止程序运行两个实例
bool bExist;
var MyMutex =new System.Threading.Mutex(true, "OnlyOneTime", out bExist);
if (bExist)
MyMutex.ReleaseMutex();
else
{
MessageBox.Show("程序已经运行!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
}
- 2022-03-24 02:20:34下载
- 积分:1
-
STM32F1的SPWM逆变器源码
#include "SPWM.h"
#include "led.h"
#include "usart.h"
u16 TimerPeriod = 7200;
u16 DutyFactor = 50;
void TIM_Int_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 | RCC_APB1Periph_TIM3,ENABLE); //时钟使能
/* GPIOA配置:通道PA.6和PA.7作为输出引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
&nbs
- 2022-07-26 17:50:34下载
- 积分: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