Selaa lähdekoodia

连线位置错误的问题

CrazyIter_Bin 4 vuotta sitten
vanhempi
commit
2c369311e3
2 muutettua tiedostoa jossa 55 lisäystä ja 2 poistoa
  1. 1 1
      HTEXLib/PPTX/Models/HTEX/HtexConnectionShape.cs
  2. 54 1
      HTEXTest/Program.cs

+ 1 - 1
HTEXLib/PPTX/Models/HTEX/HtexConnectionShape.cs

@@ -33,7 +33,7 @@ namespace HTEXLib.Models.HTEX
             //var xfrm =  connectionShape.element.GetTextByPath("//p:spPr/a:xfrm");
             //var flipV = xfrm.Attribute("flipV");
             //var flipH = xfrm.Attribute("flipH");
-            Position position = new Position { x = top, y = left, cx = width, cy = height, rot =rot};
+            Position position = new Position { x = left, y = top, cx = width, cy = height, rot =rot};
             //if (flipV != null) {
             //    position.flipV = int.Parse(flipV.Value);
             //}

+ 54 - 1
HTEXTest/Program.cs

@@ -13,9 +13,11 @@ using System.Linq;
 using System.Net;
 using System.Net.NetworkInformation;
 using System.Net.Sockets;
+using System.Security.Cryptography;
 using System.Text;
 using System.Text.Json;
 using System.Text.RegularExpressions;
+using System.Web;
 using System.Xml;
 using System.Xml.Linq;
 
@@ -87,10 +89,61 @@ namespace HTEXTest
             long blue = (color & 0x000000ff);
 
         }
+        public static string sKey= "qJzGEh6hESZDVJeCnFPGuxzaiFYTLQM3";
+        public static string DESDeCode(string pToDecrypt)
+        {
+            //    HttpContext.Current.Response.Write(pToDecrypt + "<br>" + sKey);     
+            //    HttpContext.Current.Response.End();     
+            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
+
+            byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
+            for (int x = 0; x < pToDecrypt.Length / 2; x++)
+            {
+                int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
+                inputByteArray[x] = (byte)i;
+            }
+
+            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
+            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
+            MemoryStream ms = new MemoryStream();
+            CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
+            cs.Write(inputByteArray, 0, inputByteArray.Length);
+            cs.FlushFinalBlock();
+
+            StringBuilder ret = new StringBuilder();
+
+            return HttpUtility.UrlDecode(System.Text.Encoding.UTF8.GetString(ms.ToArray()));
+        }
+        public static string DESEnCode(string pToEncrypt)
+        {
+            pToEncrypt = HttpUtility.UrlEncode(pToEncrypt);
+            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
+            byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(pToEncrypt);
+            //建立加密对象的密钥和偏移量      
+            //原文使用ASCIIEncoding.ASCII方法的GetBytes方法      
+            //使得输入密码必须输入英文文本      
+            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
+            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
+            MemoryStream ms = new MemoryStream();
+            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
 
+            cs.Write(inputByteArray, 0, inputByteArray.Length);
+            cs.FlushFinalBlock();
+
+            StringBuilder ret = new StringBuilder();
+            foreach (byte b in ms.ToArray())
+            {
+                ret.AppendFormat("{0:X2}", b);
+            }
+            ret.ToString();
+            return ret.ToString();
+        }
         static void Main(string[] args)
         {
-           
+            var str = "123456789";
+            var aa = DESEnCode(str);
+            Console.WriteLine(aa);
+            Console.WriteLine(DESDeCode(aa));
             List<double> ds = new List<double>();
             ds.Add(0); 
             ds.Add(51.222);