1. 在Load时候由代码来做控件PictureBox,并且用代码将图片加载进去:

 private void Form2_Load(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo(@"F:\image\car");
FileInfo[] files = dir.GetFiles("*.jpg"); foreach (FileInfo f in files)
{
//造PictureBox
PictureBox pb = new PictureBox();
//加载图片
pb.Image = Image.FromFile(f.FullName);
//设置图片框大小
pb.Size = new System.Drawing.Size(, );
//设置缩放
pb.SizeMode = PictureBoxSizeMode.Zoom;
//加到流式布局控件中去
flowLayoutPanel1.Controls.Add(pb);
//给图片框加上click事件
pb.Click +=pb_Click;
}
}

2. 关于事件,sender是指事件源,比如在PictureBox上加的点击事件,则事件源就是该PictureBox,sender是个object类型,所以要强转一下。E是事件数据,EventArgs是事件数据的基类。

 private void pb_Click(object sender, EventArgs e)
{
picShow.Image = ((PictureBox)sender).Image;
}

3. 代码加事件,去事件

 pb.Click +=pb_Click;  去事件用”-=”,加完事件之后Tab键生成。

4.   #region 这是自定义的工具函数

     #region 这是自定义的工具函数
中间一般将自己写的工具函数(供其他函数调用的)包在中间,这样能使代码更清晰。
#endregion

5. 关闭程序

Application.Exit();是整个应用程序结束,比this.close()更直接。
This.close();是关闭窗口导致程序结束。

6. 在一个图片上面的指定位置写文字:

            //加载图像
Image img = Image.FromFile(@"E:\cyl.jpg");
Graphics g = Graphics.FromImage(img);
//写字
string s = "http://www.ITNBA.COM";
Font font = new System.Drawing.Font("隶书", , FontStyle.Italic);
SolidBrush brush = new SolidBrush(Color.Blue);
g.DrawString(s, font, brush, , ); //保存
img.Save(@"E:\cyl0.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

7. 测定一个字符串的宽和高:

           //测定字体的宽与高
SizeF size = g.MeasureString(s,font);
size.Width是测量出的字符串的宽度
ssize.Height是测量出的字符串的高度

8. 在一个图片上画上另一个图片(加水印)。

           //加载图像
Image img = Image.FromFile(@"E:\cyl.jpg");//目标图像
Image wm = Image.FromFile(@"E:\bbb.gif");//要加的水印 //取得画板
Graphics g = Graphics.FromImage(img);
//画图像
g.DrawImage(wm, , ); //保存图片
img.Save(@"E:\cyl2.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

9. 将图片放进数据库

            //取出文本框中代号
string code = textBox1.Text;
//将图片变为字节数组读入内存
FileStream stream = new FileStream(fileName, FileMode.Open);
byte[] picture = new byte[stream.Length];
stream.Read(picture, , picture.Length);
stream.Close();
//将图片的字节数组放进数据库存储
PictureTableAdapter adapter = new PictureTableAdapter();
adapter.AddPicture(code, picture);

10. 将图片从数据库取出

            //从数据库取图片
MyDB.PictureDataTable table = new PictureTableAdapter().GetDataByCode(textBox1.Text);
if (table.Rows.Count > )
{
//用数组接收
byte[] b = table[].Pic; //将图片写入硬盘
FileStream stream = new FileStream(@"D:\test.jpg", FileMode.Create);
stream.Write(b, , b.Length);
stream.Close();

C#一些小知识点的更多相关文章

  1. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  2. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

  3. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  4. AngularJS的小知识点

    小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...

  5. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  6. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  7. [BS] 小知识点总结-05

    [BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...

  8. 一个关于echo的小知识点

    一个关于echo的小知识点     echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...

  9. easyui中的combobox小知识点~~

    一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...

  10. android 小知识点

    小知识点总结 1. android中MotionEvent.ACTION_CANCEL事件如何被触发? 对于这个问题,android文档的说明很简短,想看明白很难.国外一网页说的还比较详细,写在这里分 ...

随机推荐

  1. VBScript: Windows脚本宿主介绍

    Windows脚本宿主(Windows Script Host, WSH)是一个Windows管理工具.WSH创建了一个脚本运行的主环境,WSH使脚本能够使用对象和服务,并提供脚本执行的准则.WSH还 ...

  2. Linux Vi 删除全部内容,删除某行到结尾,删除某段内容 的方法

    1.打开文件 vi filename 2.转到文件结尾 G 或转到第9行 9G 3.删除所有内容(先用G转到文件尾) ,使用: :1,.d 或者删除第9行到第200行的内容(先用200G转到第200行 ...

  3. ubuntu安装和卸载软件命令

    ubuntu安装和卸载软件命令 Ubuntu软件安装与删除相关命令 安装软件 命令: apt-get install softname1 softname2 softname3…… 卸载软件 命令: ...

  4. UVA1673 str2int(SAM)

    [题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51267 [题意] 给定n个字符串,计算所有忽略前导0的子串形成 ...

  5. codeforces 617B Chocolate

    题意: 在给定01串中,问能分割成多少个子串?每个子串只有一个1. dp #include<iostream> #include<string> #include<alg ...

  6. IP查找工具——angry IP Scanner

    作用] 若树莓派没有屏幕可通过该工具查找树莓派的IP地址.例如下图的树莓派IP地址可能为192.168.1.107. 图1 IP scan查找树莓派IP地址

  7. gpg: no valid OpenPGP data found

    gpg: no valid OpenPGP data found

  8. [iOS基础控件 - 6.6] 展示团购数据 自定义TableViewCell

    A.需求 1.头部广告 2.自定义cell:含有图片.名称.购买数量.价格 3.使用xib设计自定义cell,自定义cell继承自UITableViewCell 4.尾部“加载更多按钮”,以及其被点击 ...

  9. Java WeakReference的理解与使用

    转载:http://itindex.net/detail/47754-%E9%9D%A2%E8%AF%95-java-weakreference?utm_source=tuicool&utm_ ...

  10. Stage3D学习笔记(二):使用GPU绘制一个三角形

    我们需要使用到Adobe自家提供的AGALMiniAssembler代码类,可以在网下进行下载: 关于AGAL的入门知识可以参考下面的文章: AGAL介绍系列文章(第一部分)AGAL介绍系列文章(第二 ...