【收集】常用的一些代码块<1>

来源:互联网 发布:python黑帽子中文下载 编辑:程序博客网 时间:2024/05/01 12:26

一、记录日志

 protected override void OnStart(string[] args)          {              this.WriteLog("\n当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + "\n");              this.WriteLog("客户端数据同步服务:【服务启动】");          }            protected override void OnStop()          {              this.WriteLog("\n当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss")+ "\n");              this.WriteLog("客户端数据同步服务:【服务停止】");          }          protected override void OnShutdown()          {              this.WriteLog("\n当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh-mm-ss") + "\n");              this.WriteLog("客户端数据同步服务:【计算机关闭】");          }           #region 记录日志          /// <summary>          /// 记录日志          /// </summary>          /// <param name="msg"></param>          private void WriteLog(string msg)          {                //string path = @"C:\log.txt";                //该日志文件会存在windows服务程序目录下              string path = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";              FileInfo file = new FileInfo(path);              if (!file.Exists)              {                  FileStream fs;                  fs = File.Create(path);                  fs.Close();              }                using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))              {                  using (StreamWriter sw = new StreamWriter(fs))                  {                      sw.WriteLine(DateTime.Now.ToString() + "   " + msg);                  }              }          }          #endregion  

二、生成二维码

/// <summary>        /// 生成用户名片        /// </summary>        /// <returns></returns>        public ActionResult creQRcode()        {            string name = Request["name"]==null? "暂无" : Request["name"];            string tel = Request["phone"] == null ? "400 XXXX 421" : Request["phone"];            string TITLE = Request["phone"] == null ? "400 XXXX 421" : Request["phone"];            string ORG = Request["userTypeName"] == null ? "暂无" : Request["userTypeName"];            string ADR = Request["address"] == null  ? "XXXXX" : Request["address"];            string URL = "http://www.yhfy.cn/";            string EMAIL = Request["email"] == null ? "bXXXXX1@126.com" : Request["email"];            string comment = Request["comment"] == null ? "无" : Request["comment"];            StringBuilder card = new StringBuilder();            card.Append("BEGIN:VCARD");            card.Append("\r\nFN:" + name);//姓名            card.Append("\r\nTEL;CELL:" + tel);//手机号            card.Append("\r\nTITLE:" + TITLE);//            card.Append("\r\nORG:" + ORG+ "-" + comment);            card.Append("\r\nTEL;WORK:" + "400-6690421");            card.Append("\r\nADR;WORK:" + ADR);            card.Append("\r\nURL:" + URL);            card.Append("\r\nEMAIL;WORK:" + EMAIL);            card.Append("\r\nEND:VCARD\r\n");            Bitmap bmp = GetTwoDimensionCode(card.ToString(), string.Empty, 200, 200, "微软雅黑");            string path = "~/Upload/MyQRCoed/";            string path2 = Request.MapPath(path);            if (!Directory.Exists(path2))            {                Directory.CreateDirectory(path2);            }            string guid = Guid.NewGuid().ToString();            string newPath = path2 + guid + ".jpg";            bmp.Save(newPath, ImageFormat.Jpeg);            string src = "../Upload/MyQRCoed/" + guid + ".jpg";            return Content(src);        }        /// <summary>        /// 绘制二维码        /// </summary>        /// <param name="strSource"></param>        /// <param name="text"></param>        /// <param name="width"></param>        /// <param name="height"></param>        /// <param name="fontName"></param>        /// <returns></returns>        public static Bitmap GetTwoDimensionCode(string strSource, string text, int width, int height, string fontName)        {            // 创建Bitmap对象            Bitmap bmp = new Bitmap(width, height);            // 从image创建 Graphics对象            Graphics objGraphics = Graphics.FromImage(bmp);            // 填上背景色            objGraphics.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);            //             ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCodeEncoder =                new ThoughtWorks.QRCode.Codec.QRCodeEncoder();            // 设置编码方法            qrCodeEncoder.QRCodeEncodeMode =                ThoughtWorks.QRCode.Codec.QRCodeEncoder.ENCODE_MODE.BYTE;            // 设置大小            qrCodeEncoder.QRCodeScale = 3;            // 适用于信息量较少的情形,图像越小保存的信息量越少            // qrCodeEncoder.QRCodeScale = 4;            // 设置版本            qrCodeEncoder.QRCodeVersion = 0;            // 设置错误校验的级别,正因为二维码有纠错能力,才能够加入logo            qrCodeEncoder.QRCodeErrorCorrect =                ThoughtWorks.QRCode.Codec.QRCodeEncoder.ERROR_CORRECTION.M;            Image image = qrCodeEncoder.Encode(strSource, Encoding.GetEncoding("utf-8"));            // 写入二维码            int x = (int)(width - image.Width) / 2;            int y = (int)(height - image.Height) / 2;            objGraphics.DrawImage(image, new Point(x, y));            // 添加Logo图标            image = MvcTMM.Properties.Resources.logo;            x = (int)(width - image.Width) / 2;            y = (int)(height - image.Height) / 2;            objGraphics.DrawImage(image, new Point(x, y));            // 写入字符串            //objGraphics.DrawString(text, new Font(fontName, 13, FontStyle.Bold),             //    Brushes.Black, new PointF(43, 15));            return bmp;        }

三、图片加水印

using System;using System.Collections;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.IO;using System.Linq;using System.Web;namespace MvcTMM.BaseCode{    /// <summary>    /// 调用方法:传入图片的路径,添加水印的文字    /// Img.LetterWatermark(@"C:\Users\Administrator\Desktop\Img加水印\Img加水印\bin\1.jpg", "YHFY:种植前田地状态");    /// </summary>        public class ImgAddText    {        #region 文字水印        ///// <summary>        ///// 文字水印处理方法        ///// </summary>        ///// <param name="path">图片路径(绝对路径)</param>        ///// <param name="letter">水印文字</param>        ///// <param name="location">水印位置</param>        ///// <param name="size">字体大小</param>        /// <returns>图片路径</returns>        public static string LetterWatermark(string path, string letter, string location = "LB", int size = 20)        {            #region            //水印的颜色样式            Color color = System.Drawing.Color.FromArgb(224, 207, 201);            //添加时间后缀            letter += " | " + DateTime.Now.ToLocalTime();            string kz_name = Path.GetExtension(path);            if (kz_name == ".jpg" || kz_name == ".bmp" || kz_name == ".jpeg" || kz_name == ".png")            {                DateTime time = DateTime.Now;                string filename = "" + time.Year.ToString() + time.Month.ToString() + time.Day.ToString() + time.Hour.ToString() + time.Minute.ToString() + time.Second.ToString() + time.Millisecond.ToString();                Image img = Bitmap.FromFile(path);                Graphics gs = Graphics.FromImage(img);                ArrayList loca = GetLocation(location, img, size, letter.Length);                Font font = new Font("微软雅黑", size);                Brush br = new SolidBrush(color);                gs.DrawString(letter, font, br, float.Parse(loca[0].ToString()), float.Parse(loca[1].ToString()));                gs.Dispose();                string newpath = Path.GetDirectoryName(path) + filename + kz_name;                img.Save(newpath);                img.Dispose();                File.Copy(newpath, path, true);                if (File.Exists(newpath))                {                    File.Delete(newpath);                }            }            return path;            #endregion        }        /// <summary>        /// 文字水印位置的方法        /// </summary>        /// <param name="location">位置代码</param>        /// <param name="img">图片对象</param>        /// <param name="width">宽(当水印类型为文字时,传过来的就是字体的大小)</param>        /// <param name="height">高(当水印类型为文字时,传过来的就是字符的长度)</param>        private static ArrayList GetLocation(string location, Image img, int width, int height)        {            ArrayList loca = new ArrayList();            float x = 10;            float y = 10;            if (location == "LT")            {                loca.Add(x);                loca.Add(y);            }            else if (location == "T")            {                x = img.Width / 2 - (width * height) / 2;                loca.Add(x);                loca.Add(y);            }            else if (location == "RT")            {                x = img.Width - width * height;            }            else if (location == "LC")            {                y = img.Height / 2;            }            else if (location == "C")            {                x = img.Width / 2 - (width * height) / 2;                y = img.Height / 2;            }            else if (location == "RC")            {                x = img.Width - height;                y = img.Height / 2;            }            else if (location == "LB")            {                y = img.Height - width - 15;            }            else if (location == "B")            {                x = img.Width / 2 - (width * height) / 2;                y = img.Height - width - 5;            }            else            {                x = img.Width - width * height;                y = img.Height - width - 5;            }            loca.Add(x);            loca.Add(y);            return loca;        }        #endregion    }}



原创粉丝点击