最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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 + "該照片由于照片損壞,因此無法進行導(dǎo)入。");
        return sXY;
      }
 
    }

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

相關(guān)文章

  • C#常用數(shù)據(jù)結(jié)構(gòu)棧的詳細介紹

    C#常用數(shù)據(jù)結(jié)構(gòu)棧的詳細介紹

    在C#中,Stack<T> 是一個后進先出(LIFO,Last-In-First-Out)集合類,位于System.Collections.Generic 命名空間中,本文詳細介紹C#常用數(shù)據(jù)結(jié)構(gòu)棧,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Unity實現(xiàn)截圖功能

    Unity實現(xiàn)截圖功能

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)截圖功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#中Timer實現(xiàn)Tick使用精度的問題

    C#中Timer實現(xiàn)Tick使用精度的問題

    這篇文章主要介紹了C#中Timer實現(xiàn)Tick使用精度的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 解析C#中的私有構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù)

    解析C#中的私有構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù)

    這篇文章主要介紹了C#中的私有構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),是C#入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-01-01
  • C#關(guān)于類的只讀只寫屬性實例分析

    C#關(guān)于類的只讀只寫屬性實例分析

    這篇文章主要介紹了C#關(guān)于類的只讀只寫屬性實例分析,對于初學(xué)者更好的理解類的只讀只寫屬性有一定的幫助,需要的朋友可以參考下
    2014-07-07
  • 探秘Unity游戲開發(fā)中的狀態(tài)設(shè)計模式

    探秘Unity游戲開發(fā)中的狀態(tài)設(shè)計模式

    這篇文章主要介紹了探秘Unity游戲開發(fā)中的狀態(tài)設(shè)計模式,狀態(tài)模式是Unity游戲開發(fā)中常用的一種設(shè)計模式,可以幫助開發(fā)者更好地管理游戲?qū)ο鬆顟B(tài),提高游戲的可維護性和可擴展性
    2023-05-05
  • C#利用WebClient實現(xiàn)兩種方式下載文件

    C#利用WebClient實現(xiàn)兩種方式下載文件

    本篇文章主要介紹了C#利用WebClient 兩種方式下載文件,詳細的介紹了兩種方式,非常具有實用價值,需要的朋友可以參考下。
    2017-02-02
  • c#委托把方法當成參數(shù)(實例講解)

    c#委托把方法當成參數(shù)(實例講解)

    本篇文章主要是對c#委托把方法當成參數(shù)的實例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • C#實現(xiàn)MQTT服務(wù)端與客戶端通訊功能

    C#實現(xiàn)MQTT服務(wù)端與客戶端通訊功能

    這篇文章介紹了C#實現(xiàn)MQTT服務(wù)端與客戶端通訊的功能,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • C# 中如何利用lambda實現(xiàn)委托事件的掛接

    C# 中如何利用lambda實現(xiàn)委托事件的掛接

    在寫一個小程序的時候,碰到了這樣的問題,需要用委托來掛接事件,但是又想在這事件中使用局部的變量,而委托一旦定義好后,掛接方就沒有辦法再添加額外的形參了。那有沒有什么辦法,可以實現(xiàn)呢
    2013-07-07

最新評論

印江| 高尔夫| 漠河县| 玛多县| 石家庄市| 房产| 临城县| 九江市| 蓝田县| 平武县| 疏附县| 五原县| 息烽县| 富蕴县| 西充县| 仪陇县| 定日县| 久治县| 巨野县| 澄迈县| 慈利县| 神农架林区| 保定市| 平乐县| 北碚区| 郸城县| 长乐市| 建德市| 江源县| 榆树市| 曲周县| 都匀市| 新巴尔虎左旗| 宜阳县| 如皋市| 江城| 微山县| 乌拉特前旗| 成武县| 永顺县| 缙云县|