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. python 网络编程(四)---UDP服务端客户端

    1.服务器端 UDP服务器建立与TCP相类似,具体比较如下: 补充下,第四步:不必使用listen还有accept函数. 具体代码如下:(设置socket选项省略) import socket fro ...

  2. 恒天云技术分享系列2 - vlan管理GUI开发

    恒天云:http://www.hengtianyun.com/download-show-id-10.html 在OpenStack G版本中quantum网络模式下,horizon提供了基于quan ...

  3. [原创]git使用入门

    创建git项目并初始化 建立一个新文件夹,然后将该文件夹定义为git项目 Lilis-MacBook-Pro:GitDir lili$ mkdir testgit Lilis-MacBook-Pro: ...

  4. JDBC注册驱动的三种方式

    JDBC注册驱动的三种方式 1.通过导入的JDBC的驱动包拿到的com.mysql.jdbc.Driver对象,利用java.sql.DriverManager对象的DriverManager.reg ...

  5. Crash的旅行计划

    除草了.. Crash的旅行计划 [问题描述] 过不了多久,Crash就要迎来他朝思暮想的暑假.在这个暑假里,他计划着到火星上旅游.在火星上有N个旅游景点,Crash用1至N这N个正整数对这些景点标号 ...

  6. OpenCV2.4.6与vs2008配置问题

    刚刚学习Opencv,发现配置的时候蛮复杂的,特此记下以备后续. 我的opencv安装在D:\OpenCV\opencv 1.设置环境变量 首先说一下环境配置,看到很多网上说的是根据系统的位数来判断, ...

  7. Oracle-查看oracle是否有表被锁

    问题现象: 查看oracle是否有表被锁 解决方法: select sid,serial#,program,terminal,username,b.object_id,c.object_name  f ...

  8. Umbraco中Document Type取名限制

    在Umbraco中,每一个Document type都会被ModelsBuilder生成一个class,但是,有些developers发现,当你把一些Document Type命名为Grid, Pro ...

  9. Keil : Contents missmatch at:08000E84H Verify Failed!

    Keil 下载时出以下错误: Device: STM32F103VB VTarget = 3.300V State of Pins: TCK: 0, TDI: 0, TDO: 1, TMS: 0, T ...

  10. UVA 10806 Dijkstra, Dijkstra.(费用流)

    n个点的无向带权图,求1->n的最短往返路径,不走重复边. 这里涉及到一个知识点:求无向图上s->t的最短路,其实就是费用流. 而求1->n最短往返路径呢?增加源点s,由s到1加弧, ...