亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c# 獲取照片的經(jīng)緯度和時間的示例代碼

 更新時間:2020年11月30日 10:52:34   作者:gisoracle  
這篇文章主要介紹了c# 獲取照片的經(jīng)緯度和時間的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
public List<string> GetXYFromPic(String jpgPath)
    {
      List<string> sXY = new List<string>();
      try
      {
        //載入圖片  
        Image objImage = Image.FromFile(jpgPath);
        //取得所有的屬性(以PropertyId做排序)  
        var propertyItems = objImage.PropertyItems.OrderBy(x => x.Id);
        foreach (PropertyItem objItem in propertyItems)
        {
          //只取Id范圍為0x0000到0x001e
          if (objItem.Id >= 0x0000 && objItem.Id <= 0x001e)
          {
            switch (objItem.Id)
            {
              case 0x0002://設(shè)置緯度
                if (objItem.Value.Length == 24)
                {
                  //degrees(將byte[0]~byte[3]轉(zhuǎn)成uint, 除以byte[4]~byte[7]轉(zhuǎn)成的uint)  
                  double d = BitConverter.ToUInt32(objItem.Value, 0) * 1.0d / BitConverter.ToUInt32(objItem.Value, 4);
                  //minutes(將byte[8]~byte[11]轉(zhuǎn)成uint, 除以byte[12]~byte[15]轉(zhuǎn)成的uint)  
                  double m = BitConverter.ToUInt32(objItem.Value, 8) * 1.0d / BitConverter.ToUInt32(objItem.Value, 12);
                  //seconds(將byte[16]~byte[19]轉(zhuǎn)成uint, 除以byte[20]~byte[23]轉(zhuǎn)成的uint)  
                  double s = BitConverter.ToUInt32(objItem.Value, 16) * 1.0d / BitConverter.ToUInt32(objItem.Value, 20);
                  double dblGPSLatitude = (((s / 60 + m) / 60) + d);
 
                  sXY.Add(dblGPSLatitude.ToString("0.00000000"));
                }
                break;
              case 0x0004: //設(shè)置經(jīng)度
                if (objItem.Value.Length == 24)
                {
                  //degrees(將byte[0]~byte[3]轉(zhuǎn)成uint, 除以byte[4]~byte[7]轉(zhuǎn)成的uint)  
                  double d = BitConverter.ToUInt32(objItem.Value, 0) * 1.0d / BitConverter.ToUInt32(objItem.Value, 4);
                  //minutes(將byte[8]~byte[11]轉(zhuǎn)成uint, 除以byte[12]~byte[15]轉(zhuǎn)成的uint)  
                  double m = BitConverter.ToUInt32(objItem.Value, 8) * 1.0d / BitConverter.ToUInt32(objItem.Value, 12);
                  //seconds(將byte[16]~byte[19]轉(zhuǎn)成uint, 除以byte[20]~byte[23]轉(zhuǎn)成的uint)  
                  double s = BitConverter.ToUInt32(objItem.Value, 16) * 1.0d / BitConverter.ToUInt32(objItem.Value, 20);
                  double dblGPSLongitude = (((s / 60 + m) / 60) + d);
                  sXY.Add(dblGPSLongitude.ToString("0.00000000"));
                }
                break;
            }
          }
          if (objItem.Id == 0x9003 || objItem.Id == 0x0132)//Id為0x9003表示拍照的時間,0x0132 最后更新時間
          {
            var propItemValue = objItem.Value;
            var dateTimeStr = System.Text.Encoding.ASCII.GetString(propItemValue).Trim('\0');
            var dt = DateTime.ParseExact(dateTimeStr, "yyyy:MM:dd HH:mm:ss", CultureInfo.InvariantCulture);
            sXY.Add(dt.ToString());//.ToShortDateString()
          }
        }
 
        objImage.Dispose();
        return sXY;
 
      }
      catch (Exception ex)
      {
        //MessageManager.Show(jpgPath + "該圖片文件損壞");
        //listErrorMessage.Add(jpgPath + "該照片由于照片損壞,因此無法進(jìn)行導(dǎo)入。");
        return sXY;
      }
 
    }

以上就是c# 獲取照片的經(jīng)緯度和時間的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于c# 獲取照片的經(jīng)緯度和時間的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#中XML基礎(chǔ)用法

    C#中XML基礎(chǔ)用法

    可擴(kuò)展標(biāo)記語言,標(biāo)準(zhǔn)通用標(biāo)記語言的子集,簡稱XML。是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。這篇文章介紹了C#中XML基礎(chǔ)的用法,下面的實例代碼,大家可以看看
    2021-12-12
  • C#實現(xiàn)系統(tǒng)托盤通知的方法

    C#實現(xiàn)系統(tǒng)托盤通知的方法

    這篇文章主要介紹了C#實現(xiàn)系統(tǒng)托盤通知的方法,涉及C#系統(tǒng)api調(diào)用的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 詳解Asp.Net MVC的Bundle捆綁

    詳解Asp.Net MVC的Bundle捆綁

    這篇文章主要介紹了Asp.Net MVC的Bundle捆綁方法,具體實現(xiàn)方法給大家做代碼整理,一起參考一下。
    2017-11-11
  • C# 屏蔽關(guān)鍵字的實現(xiàn)方法

    C# 屏蔽關(guān)鍵字的實現(xiàn)方法

    前段時間在公司做了一個論壇屏蔽關(guān)鍵字的功能,我做的比較簡單、實用~ 現(xiàn)在拿出來給博友們分享下..也希望大家能頂頂我~
    2013-05-05
  • Winform學(xué)生信息管理系統(tǒng)登陸窗體設(shè)計(1)

    Winform學(xué)生信息管理系統(tǒng)登陸窗體設(shè)計(1)

    這篇文章主要為大家詳細(xì)介紹了Winform學(xué)生信息管理系統(tǒng)登陸窗體設(shè)計思路,感興趣的小伙伴們可以參考一下
    2016-05-05
  • C#使用GDI繪制直線的方法

    C#使用GDI繪制直線的方法

    這篇文章主要介紹了C#使用GDI繪制直線的方法,涉及C#中使用GDI繪圖的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#請求唯一性校驗支持高并發(fā)的實現(xiàn)方法

    C#請求唯一性校驗支持高并發(fā)的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于C#請求唯一性校驗支持高并發(fā)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Unity Shader實現(xiàn)徑向模糊效果

    Unity Shader實現(xiàn)徑向模糊效果

    這篇文章主要為大家詳細(xì)介紹了Unity Shader實現(xiàn)徑向模糊效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#之CLR內(nèi)存字符串常量池(string)

    C#之CLR內(nèi)存字符串常量池(string)

    這篇文章主要介紹了C#之CLR內(nèi)存字符串常量池(string),對于學(xué)習(xí)和理解C#內(nèi)存原理很有幫助,需要的朋友可以參考下
    2014-08-08
  • C#實現(xiàn)路由器斷開連接,更改公網(wǎng)ip的實例代碼

    C#實現(xiàn)路由器斷開連接,更改公網(wǎng)ip的實例代碼

    C#實現(xiàn)路由器斷開連接,更改公網(wǎng)ip的實例代碼,需要的朋友可以參考一下
    2013-05-05

最新評論