-
C#播放wmv视频并填充到文字轮廓中
C#播放wmv视频并填充到文字轮廓中,这个应该是一个艺术字效果吧,本程序实现了两个功能:一、视频文件播放功能(wmv),二、将视频影像填充到文字轮廓中显示,这个就有意思了,最终实现了比较动感的艺术字动画效果,在视频播放方面,主要使用MediaElement();实现,文字填充方面,基于TextBlock.Foreground实现,下面是具体一些的代码:
使用视频剪辑填充文字的线条
MediaElement MyMediaElement = new MediaElement();
MyMediaElement.Source = new Uri("Bear.wmv", UriKind.Relative);
MyMediaElement.IsMuted = true;
VisualBrush MyVisualBrush = new VisualBrush();
MyVisualBrush.Visual = MyMediaElement;
TextBlock MyTextBlock = new TextBlock();
MyTextBlock.FontFamily = new FontFamily("宋体");
MyTextBlock.FontSize = 180;
MyTextBlock.Text = "编程";
MyTextBlock.FontWeight = FontWeights.Bold;
MyTextBlock.Foreground = MyVisualBrush;
this.Content = MyTextBlock;
运行截图如下,不过本站截图是静态的,看不到本示例的动画效果,请下载源码在VS中编译运行,查看效果。
- 2022-01-26 01:31:34下载
- 积分:1
-
C#打造自己的智能屏幕取色工具
C#打造自己的智能屏幕取色工具,自动鼠标坐标点的颜色值,取色窗口会自动躲闪鼠标的位置,取色模块从一个继承自Image类的对象中创建Graphics对象,颜色值可以转换为十进制和十六进制,部分初始化源码如下:
[DllImport("gdi32")]
private static extern IntPtr CreateDC(
string lpszDriver, // 驱动名称
string lpszDevice, // 设备名称
string lpszOutput, // 无用,可以设定位"NULL"
IntPtr lpInitData // 任意的打印机数据
);
[DllImport("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // 目标设备的句柄
int nXDest, // 目标对象的左上角的X坐标
int nYDest, // 目标对象的左上角的X坐标
int nWidth, // 目标对象的矩形的宽度
int nHeight, // 目标对象的矩形的长度
IntPtr hdcSrc, // 源设备的句柄
int nXSrc, // 源对象的左上角的X坐标
int nYSrc, // 源对象的左上角的X坐标
int dwRop // 光栅的操作值
- 2022-02-26 10:33:42下载
- 积分:1
-
C# 把listView数据排列成图标缩略图风格
C#控制ListView的显示方式,把listView数据排列成图标缩略图风格,这种风格在Windows中十常见,图标的排列就是这种风格的,实现的相关代码:
private void Form1_Load(object sender, EventArgs e)
{
listView1.Items.Add("开源爱好者");//使用Add方法向控件中添加项目
listView1.Items.Add("www.codesc.net");//使用Add方法向控件中添加项目
listView1.Items.Add("C#从基础到项目实战");//使用Add方法向控件中添加项目
listView1.Items[2].Selected = true;//使用Selected方法选中第3项
}
- 2023-06-24 02:00:03下载
- 积分:1
-
C# winform 运行时拖动可改变控件大小及位置
C# winform 运行时拖动可改变控件大小及位置,在代码中定义了PickBox类,这个类实现了窗体控件的 大小和移动函数,用户运行时编辑,完成将pick box 附加到 相应的控件上,添加用于将选定控件移动的事件处理程序,移除上一个控件的事件处理,将大小调整手柄添加到控件容器中,位置控制周围的大小调整。。。
- 2022-02-05 07:11:00下载
- 积分: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# 使用定时器动画摆动显示图形,利用定时器可改变物体运动的振幅、角频率、初相,初始化图形数据,生成如演示效果所示的,圆形小球来回摆动的动画效果。你可以通过窗口中的两个按钮,来查看效果:启动有窗体定时器、关闭有窗体定时器。初始化图形数据的代码如下:
this.timer1.Interval = 30;
r1.X = System.Convert.ToInt16(this.panel1.Width / 2 - 30);
r1.Y = System.Convert.ToInt16(this.panel1.Height / 2 - 30);
r1.Width = 60;
r1.Height = 60;
r2 = r1;
x = System.Convert.ToInt16(this.panel1.Width / 2);
- 2022-03-03 11:34:28下载
- 积分:1
-
C# 水晶报表CrystalReport导出各类型文件的例子
C# 水晶报表导出各类型文件的例子,将水晶报表数据导出为Word文件、Excel文件、HTML文件、PDF文件,并获取水晶报表的数据库连接项,设置CrystalReport水晶报表的数据库登录选项等。相关的代码片段:
private void button7_Click(object sender, EventArgs e)
{//将水晶报表数据导出为HTML文件
var MyFileName = "MyHTMLFile.htm";
var MyExportOptions = new ExportOptions();
var MyHtml32FormatOptions = new HTMLFormatOptions();
MyExportOptions.ExportFormatType = ExportFormatType.HTML32;
MyHtml32FormatOptions.HTMLBaseFolderName = "Html32Folder";
MyHtml32FormatOptions.HTMLFileName = MyFileName;
MyHtml32FormatOptions.HTMLEnableSeparatedPages = false;
MyHtml32FormatOptions.HTMLHasPageNavigator = false;
MyExportOptions.FormatOptions = MyHtml32FormatOptions;
this.CrystalReport11.Export(MyExportOptions);
MessageBox.Show("成功导出文件:" + MyFileName, "信息提示", MessageBoxButtons.OK);
}
private void button8_Click(object sender, EventArgs e)
{//将水晶报表数据导出为PDF文件
var MyFileName = "MyPDFFile.pdf";
var MyExportOptions = new ExportOptions
- 2022-04-11 03:03:59下载
- 积分:1
-
C# 获取Access数据库的数据表名称
C# 获取Access数据库的数据表名称,private void button1_Click(object sender, EventArgs e)
{//获取Access数据库的数据表名称
string MyAccessDBFile = @"F:Northwind.mdb";
string MyConnectString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +MyAccessDBFile;
var MyConnection = new System.Data.OleDb.OleDbConnection(MyConnectString);
MyConnection.Open();
var MyTables = MyConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string MyInfo = MyAccessDBFile + "数据库的数据表包括:";
foreach (DataRow MyRow in MyTables.Rows)
{
string MyTable = MyRow["TABLE_NAME"].ToString();
MyInfo += MyTable + "、";
}
MessageBox.Show(MyInfo, "信息提示", MessageBoxButtons.OK);
}
- 2023-01-05 19:40:03下载
- 积分: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
-
C#在JPG图片上添加半透明文字水印
C#在图片上添加文字,这个仿PhotoShop的功能,用C#可以轻松实现哦,对象为JPG图像,可在上面添加半透明的文字效果,不能可看作是一种图片添加水印的效果,文字是半透明处理了,可隐约看到文字下层的图像细节。
private void Form1_Load(object sender, EventArgs e)
{//在指定图像上添加半透明文字
string MyFileName = "Forest.jpg";
Image MyImage = Image.FromFile(MyFileName);
Graphics g = Graphics.FromImage(MyImage);
String MyText = "国家";
Font MyFont = new Font("宋体", 150);
SolidBrush MyBrush = new SolidBrush(Color.FromArgb(18, 255, 0, 255));
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.GammaCorrected;
g.DrawString(MyText, MyFont, MyBrush, 10, 10);
this.pictureBox1.Image = MyImage;
}
- 2023-02-17 00:50:03下载
- 积分:1