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. c#操作XML文件的通用方法

    转载地址:http://www.studyofnet.com/news/36.html 原址没找到 sing System; using System.Data; using System.Confi ...

  2. 初识Ajax---简单的Ajax应用实例

    原文: http://www.ido321.com/347.html 从网页前端输入提示范围内的字符,然后显示从后台返回的结果 1: <html> 2: <head> 3: & ...

  3. C++关键字(static-register-atuo-extern-volatile-const)

    转自:http://blog.163.com/fengxuedong_fxd/blog/static/71926306201173151854964/ 下面关于C++的几个关键字是经常和我们打交道的而 ...

  4. uva 2572 Viva Confetti

    思路: 小圆面是由小圆弧围成.那么找出每条小圆弧,如果小圆弧,在小圆弧中点上下左右进行微小位移的所得的点一定在一个小圆面内. 找到最后覆盖这个小点的圆一定是可见的. 圆上的点按照相邻依次排序的关键量为 ...

  5. 【原创】lua的module的一些点

    lua的module好像是5.1开始有的 在xx.lua的开头写上 module('my_module') 这行等价于如下几行 local name = 'my_module' local M = { ...

  6. HW6.9

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. HW6.7

    public class Solution { public static void main(String[] args) { int[] count = new int[10]; int numb ...

  8. RPI-Wireless-Hotspot

    http://elinux.org/RPI-Wireless-Hotspot What does it do? This project configures your Raspberry Pi to ...

  9. PC问题-使用BAT方法清理Delphi临时文件

    @echo offdel /S *.~*del /S *.dcudel /S *.dskdel /S *.hppdel /S *.ddpdel /S *.mpsdel /S *.mptdel /S * ...

  10. PT100测温电路经验

    P100电压采集放大电路:前半部分是4.096V恒压源电路,然后是一个桥式电压采样电路,后面是一个电压放大电路. 一 4.096V恒压源电路: 因Vref = 2.5V,故有4.096 = (1 + ...