惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Spread Privacy
Spread Privacy
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
SecWiki News
SecWiki News
腾讯CDC
P
Privacy International News Feed
Webroot Blog
Webroot Blog
J
Java Code Geeks
爱范儿
爱范儿
A
About on SuperTechFans
S
Secure Thoughts
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
DataBreaches.Net
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Security Latest
Security Latest
Forbes - Security
Forbes - Security
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threatpost
量子位
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
GbyAI
GbyAI
S
Security @ Cisco Blogs
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 聂微东
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
Attack and Defense Labs
Attack and Defense Labs

博客园 - 油纸伞

假如m是奇数,且m>=3,证明m(m² -1)能被8整除 SharpSvn操作 -- 获取Commit节点列表 GetRelativePath获取相对路径 Dictionary(支持 XML 序列化),注意C#中原生的Dictionary类是无法进行Xml序列化的 Winform中Checkbox与其他集合列表类型之间进行关联 修复使用<code>XmlDocument</code>加载含有DOCTYPE的Xml时,加载后增加“[]”字符的错误 使用序列化来Clone对象 [转]PowerDesigner15生成Hibernate 用户自定义类型的隐式转换 Net3.5及以上版本INotifyPropertyChanged接口的友好用法 知识加油站 知识加油站 Top K算法详细解析 C#值类型和引用类型 Oracle分区技术 对Oracle表分区的一点认识 oracle创建分区表 数据库大表的优化:采用蔟表(clustered tables)及蔟索引(Clustered Index) 2008年.Net编程人员工具参照
Image(支持 XML 序列化),注意C#中原生的Image类是无法进行Xml序列化的
油纸伞 · 2017-04-19 · via 博客园 - 油纸伞
 1     /// <summary>
 2     /// Image(支持 XML 序列化)
 3     /// </summary>
 4     [XmlRoot("XmlImage")]
 5     public class XmlImage : IXmlSerializable
 6     {
 7         public System.Drawing.Image Image { get; set; }
 8 
 9         #region 构造函数
10 
11         public XmlImage()
12         { }
13 
14         protected XmlImage(SerializationInfo info, StreamingContext context)
15         { }
16         #endregion 构造函数
17 
18         #region IXmlSerializable Members
19         public XmlSchema GetSchema() => null;
20 
21         /// <summary>
22         ///     从对象的 XML 表示形式生成该对象(反序列化)
23         /// </summary>
24         /// <param name="xr"></param>
25         public void ReadXml(XmlReader xr)
26         {
27             if (xr.IsEmptyElement)
28                 return;
29             xr.ReadToFollowing(nameof(XmlImage));
30             Image = FromBase64String(xr.ReadElementContentAsString());
31             xr.ReadEndElement();
32         }
33 
34         /// <summary>
35         ///     将对象转换为其 XML 表示形式(序列化)
36         /// </summary>
37         /// <param name="xw"></param>
38         public void WriteXml(XmlWriter xw)
39         {
40             xw.WriteStartElement(nameof(XmlImage));
41             xw.WriteValue(ToBase64String(Image, ImageFormat.Png));
42             xw.WriteEndElement();
43         }
44         #endregion IXmlSerializable Members
45 
46         private static string ToBase64String(System.Drawing.Image img, ImageFormat format)
47         {
48             if (img != null)
49             {
50                 using (var ms = new MemoryStream())
51                 {
52                     img.Save(ms, format);
53                     byte[] buffer = ms.ToArray();
54                     return Convert.ToBase64String(buffer);
55                 }
56             }
57             return string.Empty;
58         }
59 
60         private static System.Drawing.Image FromBase64String(string base64Str)
61         {
62             System.Drawing.Image img = null;
63             using (var ms = new MemoryStream())
64             {
65                 try
66                 {
67                     var buffer = Convert.FromBase64String(base64Str);
68                     ms.Write(buffer, 0, buffer.Length);
69                     img = System.Drawing.Image.FromStream(ms);
70                 }
71                 catch
72                 {
73                     // ignored
74                 }
75             }
76             return img;
77         }
78     }