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. 【译】 AWK教程指南 7AWK应用实例

    本节将示范一个统计上班到达时间及迟到次数的程序. 这程序每日被执行时将读入两个数据文件: * 员工当日到班时间的数据文件 ( 如下列的 arr.dat ) * 存放员工当月迟到累计次数的文件 当程序执 ...

  2. STM32 USB-HID通信移植步骤

    大家可以使用压缩包中的UsbApp.exe调试本软件idVendor为:0483  idProduct为5750. 今天太晚了,明天还要上半天班,上位机软件找个时间在写一篇文章.请关注我的博客.压缩包 ...

  3. 【转】SQL中Group By的使用

    1.概述 2.原始表 3.简单Group By 4.Group By 和 Order By 5.Group By中Select指定的字段限制 6.Group By All 7.Group By与聚合函 ...

  4. linux tar打包

    范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩![root ...

  5. Barcode記錄

    .net開源框架 Barcode Rendering Framework URL:http://barcoderender.codeplex.com/releases/view/91902 可產生BR ...

  6. fscanf(格式化字符串输入)

    fscanf(格式化字符串输入) 相关函数 scanf,sscanf 表头文件 #include<stdio.h> 定义函数 int fscanf(FILE * stream ,const ...

  7. sublime Text 3的默认快捷键大全

    Ctrl+M 光标跳至对应的括号 Alt+. 闭合当前标签 Ctrl+Shift+A 选择光标位置父标签对儿 Ctrl+Shift+[ 折叠代码 Ctrl+Shift+] 展开代码 Ctrl+KT 折 ...

  8. Visual C#使用DirectX实现视频播放

    Visual C#使用DirectX实现视频播放 visual|视频播放 - 很多人第一次接触到DirectX大都是通过游戏,至于安装.升级DirectX的原因无非是满足游戏运行的需要.Direct ...

  9. CAS总结之Ticket篇

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  10. 【转】解决HttpServletResponse输出的中文乱码问题

    http://blog.csdn.net/simon_1/article/details/9092747 首先,response返回有两种,一种是字节流outputstream,一种是字符流print ...