Beispiel #1
0
        /// <summary>
        /// 判断能否成为ID
        /// </summary>
        /// <returns></returns>
        int IsId(ImageModle modle)
        {
            Boolean IDs  = true;
            Boolean Urls = true;

            foreach (ImageModle m in GetAllImage())
            {
                if (modle.Url == m.Url)
                {
                    Urls = false;
                    break;
                }
                if (m.ID == modle.ID)
                {
                    IDs = false;
                    break;
                }
            }
            if (!Urls)
            {
                //情况 1 URL已经有了
                return(1);
            }
            else if (!IDs)
            {
                //情况 2 ID 已经有了
                return(2);
            }
            //情况 3 这个可以用
            return(3);
        }
Beispiel #2
0
        ImageModle XmlToModle(XmlNode imagenode)
        {
            ImageModle modle = new ImageModle();

            modle = (new ImageModle()
            {
                ID = Convert.ToInt32(imagenode.Attributes["ID"].Value),
                Time = imagenode["Time"].InnerText.ToString(),
                Title = imagenode["Title"].InnerText.ToString(),
                Url = imagenode["Url"].InnerText.ToString(),
            });
            return(modle);
        }
Beispiel #3
0
        /// <summary>
        /// 不需要提供ID
        /// </summary>
        /// <param name="modle"></param>
        /// <returns></returns>
        public XmlNode AddXmlNode(ImageModle modle)
        {
            int    MaxID = MainNode.ChildNodes.Count + 1;
            int    ID    = 0;
            Random rd    = new Random();

            while (true)
            {
                ID = rd.Next(1, MaxID + 1);
                int r = IsId(new ImageModle()
                {
                    ID = ID, Url = modle.Url
                });
                if (r == 3)
                {
                    break;
                }
                else if (r == 1)
                {
                    return(null);
                }
            }
            XmlNode      xn   = xml.CreateElement("Image");
            XmlAttribute attr = xml.CreateAttribute("ID");

            attr.Value = ID.ToString();
            xn.Attributes.Append(attr);
            // XmlNode IDNode = xml.CreateElement("ID");
            XmlNode TitleNode = xml.CreateElement("Title");
            XmlNode TitleUrl  = xml.CreateElement("Url");
            XmlNode TitleTime = xml.CreateElement("Time");

            // IDNode.InnerText = modle.ID.ToString();
            TitleNode.InnerText = modle.Title;
            TitleUrl.InnerText  = modle.Url;
            TitleTime.InnerText = modle.Time;

            // xn.AppendChild(IDNode);
            xn.AppendChild(TitleNode);
            xn.AppendChild(TitleUrl);
            xn.AppendChild(TitleTime);

            MainNode.AppendChild(xn);
            Save();
            return(xn);
        }
Beispiel #4
0
        /// <summary>
        /// 根据传进来的modle值进行查询
        /// </summary>
        /// <param name="modle">里边的值可以不填,即不判断</param>
        /// <returns>List</returns>
        public List <ImageModle> GetImagesByModle(ImageModle modle)
        {
            List <ImageModle> list = new List <ImageModle>();

            foreach (XmlNode node in MainNode)
            {
                Boolean BID    = node.Attributes["ID"].Value == 0.ToString() ? true : node.Attributes["ID"].Value == modle.ID.ToString();
                Boolean BTitle = modle.Title == "" ? true : node["Title"].InnerText == modle.Title;
                Boolean BTime  = modle.Time == "" ? true : node["Time"].InnerText == modle.Time;
                Boolean BUrl   = modle.Url == "" ? true : node["Url"].InnerText == modle.Url;
                Boolean TRUES  = BID == BTitle == BTime == BUrl;
                if (TRUES)
                {
                    list.Add(XmlToModle(node));
                }
            }
            return(list);
        }
Beispiel #5
0
        /// <summary>
        /// 加载选项
        /// </summary>
        /// <param name="modle">本体</param>
        /// <param name="Loads">是否加载额外操作 true加载 false 只加载图像</param>
        public MainImageFormItem(ImageModle modle, Boolean Loads)
        {
            if (Loads)
            {
                ContextMenuStrip cms = new ContextMenuStrip();
                cms.Items.Add("打开", null, OpenImate);
                cms.Items.Add("保存到", null, SavesTo);
                cms.Items.Add("转换格式", null, SavesNewImage);
                cms.Items.Add("详细信息", null, ImageDI);
                cms.Items.Add("打开文件位置", null, OpenImageUrl);
                cms.Items.Add("删除", null, Delete);

                this.ContextMenuStrip = cms;
            }
            if (modle != null)
            {
                this.modle = modle;
                this.Text  = modle.Title + "\n" + modle.Time;
            }
            try
            {
                this.backgroundimage = Image.FromFile(modle.Url);
                this.BackgroundImage = backgroundimage;
            }
            catch
            {
                try
                {
                    Icon   icon = Icon.ExtractAssociatedIcon(modle.Url);
                    Bitmap b    = icon.ToBitmap();
                    backgroundimage      = b;
                    this.BackgroundImage = backgroundimage;
                }
                catch
                {
                    this.BackgroundImage = Image.FromFile(@"Image\Images\NULL.png");
                }
            }
        }
Beispiel #6
0
 //这个是整个图片
 public ImageForm(ImageModle modle)
 {
     GetSupert = false;
     InitializeComponent();
     this.modle = modle;
 }
Beispiel #7
0
        List <ImageModle> Select_Image(ImageModle modle)
        {
            IMAGE_MODLE_XML_BLL imxb = new IMAGE_MODLE_XML_BLL();

            return(imxb.GetImagesByModle(modle));
        }
 /// <summary>
 /// 根据传进来的modle值进行查询
 /// </summary>
 /// <param name="modle">里边的值可以不填,即不判断</param>
 /// <returns>List</returns>
 public List <ImageModle> GetImagesByModle(ImageModle modle)
 {
     return(imxg.GetImagesByModle(modle));
 }
 public XmlNode AddXmlNode(ImageModle modle)
 {
     return(imxg.AddXmlNode(modle));
 }