• asp.net抓取图片、保存成字节、文件夹、按固定区域截图


    private void DownImage()
            {
                WebClient client = new WebClient();
                string url = @"http://image.weather.gov.cn/product/2012/201207/20120723/STFC/SEVP_NMC_STFC_SFER_ER6T06_ACHN_L88_P9_20120723060000606.JPG";
                byte[] data = client.DownloadData(url);
                string strtime = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒");
                string strPath = "~/Images/"+strtime + ".jpg";
                string smallPath = "~/Images/"+strtime +"-small"".jpg";
                SaveFile(data,  strPath);
                GetPartImage(681264, strPath,smallPath);
            } 

    private void GetPartImage(int x,int y,string path,string smallPath)

            {
                Bitmap bm = new Bitmap(Server.MapPath(path));
                Rectangle cloneRect = new Rectangle(x,y, 100100);
                PixelFormat format = bm.PixelFormat;
                Bitmap cloneBitmap = bm.Clone(cloneRect, format);
                // ===保存图片===
                cloneBitmap.Save(Server.MapPath(smallPath), ImageFormat.Jpeg);
                bm.Dispose();
                cloneBitmap.Dispose();
            }
     private bool SaveFile(byte[] dates, string StrSavePath)
            {
                try
                {
                    FileStream fs = new FileStream(Server.MapPath(StrSavePath), FileMode.Create, FileAccess.Write, FileShare.None);
                    BinaryWriter bw = new BinaryWriter(fs);
                    try
                    {
                        bw.Write(dates);
                    }
                    catch (Exception e)
                    {
                        return false;
                    }
                    finally
                    {
                        bw.Close();
                        fs.Close();
                    }
                    return true;
                }
                catch (Exception e)
                {
                    return false;
                }

            } 

    //写日志
    private void WriteLog(string content)
            {
                string path = AppDomain.CurrentDomain.BaseDirectory + "lograin";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string fileName = Path.Combine(path, DateTime.Now.ToString("yyyyMMdd") + ".txt");
                System.IO.FileStream stm = null;
                try
                {
                    if (System.IO.File.Exists(fileName))
                    {
                        stm = System.IO.File.OpenWrite(fileName);
                    }
                    else
                    {
                        stm = System.IO.File.Create(fileName);
                    }
                    stm.Position = stm.Length;
                    byte[] data = System.Text.Encoding.GetEncoding("gb2312").GetBytes(content + "\r\n");
                    stm.Write(data, 0, data.Length);
                    stm.Close();
                }
                catch
                {
                    if (stm != null)
                    {
                        stm.Close();
                    }
                }
            }
    //读取日志
    string path = AppDomain.CurrentDomain.BaseDirectory + "lograin";
                string fileName = Path.Combine(path, DateTime.Now.ToString("yyyyMMdd") + ".txt");
                string[] _urlArrary = null;
                try
                {
                    if (File.Exists(fileName))
                    {
                        _urlArrary = System.IO.File.ReadAllLines(fileName, Encoding.GetEncoding("gb2312"));
                    }
                }
                catch
                {
                    _urlArrary = null;
                }
    截图图片指定区域(Winform)
    ///<summary>
            
    /// 获取图片指定部分
            
    /// </summary>
            
    /// <param name="pPath">图片路径</param>
            
    /// <param name="pSavePath">保存路径</param>
            
    /// <param name="pPartStartPointX">目标图片开始绘制处的坐标X值(通常为)</param>
            
    /// <param name="pPartStartPointY">目标图片开始绘制处的坐标Y值(通常为)</param>
            
    /// <param name="pPartWidth">目标图片的宽度</param>
            
    /// <param name="pPartHeight">目标图片的高度</param>
            
    /// <param name="pOrigStartPointX">原始图片开始截取处的坐标X值</param>
            
    /// <param name="pOrigStartPointY">原始图片开始截取处的坐标Y值</param>
            
    /// <param name="pFormat">保存格式,通常可以是jpeg</param>
            public void GetPart(string pPath, string pSavedPath, int pPartStartPointX, int pPartStartPointY, int pPartWidth, int pPartHeight, int pOrigStartPointX, int pOrigStartPointY)
            {
                Image originalImg = Image.FromFile(pPath);

                Bitmap partImg = new Bitmap(pPartWidth, pPartHeight);
                Graphics graphics = Graphics.FromImage(partImg);
                Rectangle destRect = new Rectangle(new Point(pPartStartPointX, pPartStartPointY), new Size(pPartWidth, pPartHeight));//目标位置
                Rectangle origRect = new Rectangle(new Point(pOrigStartPointX, pOrigStartPointY), new Size(pPartWidth, pPartHeight));//原图位置(默认从原图中截取的图片大小等于目标图片的大小)

                graphics.DrawImage(originalImg, destRect, origRect, GraphicsUnit.Pixel);
                partImg.Save(pSavedPath, ImageFormat.Jpeg);
                partImg.Dispose();
            }
    调用 GetPart(@"F:\我的图片\意大利道罗麦特山.jpg"@"F:\我的图片\意大利道罗麦特山"+DateTime.Now.ToString("yyyyMMddhhmmss")+".jpg",0,0,200,200,453,357);
  • 相关阅读:
    【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】
    【2016-11-5】【坚持学习】【Day20】【通过委托事件,关闭窗口】
    【2016-11-5】【坚持学习】【Day20】【Linq where in 语句】
    【2016-11-4】【坚持学习】【Day19】【MVVM ICommand】
    【2016-11-5】【坚持学习】【Day20】【MVVM DelegateCommand】
    【2016-11-3】【坚持学习】【Day18】【我认识的ORM】
    【2016-11-3】【坚持学习】【Day18】【Oracle 数据类型 与C#映射关系】
    【2016-11-3】【坚持学习】【Day18】【ADO.NET 】
    【2016-11-2】【坚持学习】【Day17】【通过反射自动将datareader转为实体info】
    【2016-11-2】【坚持学习】【Day17】【微软 推出的SQLHelper】
  • 原文地址:https://www.cnblogs.com/sunyj/p/2606512.html
Copyright © 2020-2023  润新知