zoukankan      html  css  js  c++  java
  • 关于图片转换

    根据图片相对路径查找图片并转换为二进制格式
    /// <summary>
            /// 图片转换
            /// </summary>
            /// <param name="strPath"></param>
            /// <returns></returns>
            private byte[] reDyte(string strPath)
            {
                byte[] bytes = null;
                try
                {
                    FileStream fsMyfile = null;
                    if (Directory.Exists(Server.MapPath(strPath)))
                    {
                        // 以二进制方式读文件
                        fsMyfile = new FileStream(Server.MapPath(strPath), FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    }
                    else
                    {
                        fsMyfile = new FileStream(Server.MapPath(saveDir + "/default.jpg"), FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    }                 
                    // 创建一个二进制数据流读入器,和打开的文件关联
                    BinaryReader brMyfile = new BinaryReader(fsMyfile);
                    // 把文件指针重新定位到文件的开始
                    brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
                    bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
                    // 关闭以上new的各个对象
                    brMyfile.Close();
                }
                catch {
                    // 以二进制方式读文件
                    FileStream fsMyfile = new FileStream(Server.MapPath(saveDir + "/default.jpg"), FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    // 创建一个二进制数据流读入器,和打开的文件关联
                    BinaryReader brMyfile = new BinaryReader(fsMyfile);
                    // 把文件指针重新定位到文件的开始
                    brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
                    bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
                    // 关闭以上new的各个对象
                    brMyfile.Close();
                }
                return bytes;
            }
    View Code

    根据网络路径将图片保存到本地

    /// <summary>
            /// 保存url图片到本地
            /// </summary>
            /// <param name="url"></param>
            /// <param name="savePath"></param>
            private string SaveUrlImage(string url)
            {
                string savePath = "";
                try
                {
                    HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
                    HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
                    if (webresponse.StatusCode == HttpStatusCode.OK)
                    {
                        System.Drawing.Image image = System.Drawing.Image.FromStream(webresponse.GetResponseStream());
                        savePath = saveDir + "/" + DateTime.Now.ToString("yyyyMMddHHmmssfffff") + ".jpg";
                        image.Save(Server.MapPath(savePath)); //保存在本地文件夹
                        image.Dispose(); //释放资源
                    }
                }
                catch { }
                return savePath;
            }
    View Code

    将二进制格式图片保存到本地

    System.IO.MemoryStream ms = new System.IO.MemoryStream(imgData);
                    System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
                    img.Save(savePath);
    View Code

    检查文件是否存在

    Directory.Exists(severDir)
    View Code

    参考资料:http://developer.51cto.com/art/200908/143612.htm

    http://www.oschina.net/code/snippet_222150_15091

  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/Jokers/p/4425085.html
Copyright © 2011-2022 走看看