ImageGeoCoordUtil.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public struct GeoCoord
{
/// <summary>
/// 经度
/// </summary>
public double Longitude;
/// <summary>
/// 纬度
/// </summary>
public double Latitude;
/// <summary>
/// 高度
/// </summary>
public double Altitude;
}
/// <summary>
/// exif
/// </summary>
public class ImageGeoCoordUtil
{
public static GeoCoord ParseLonLat(string image)
{
GeoCoord geoCoord = new GeoCoord();
string s_GPS = "";
//载入图片
using (Image objImage = Image.FromFile(image))
{
//取得所有的属性(以PropertyId做排序)
var propertyItems = objImage.PropertyItems.OrderBy(x => x.Id).ToArray();
//暂定纬度N(北纬)
char chrGPSLatitudeRef = 'N';
//暂定经度为E(东经)
char chrGPSLongitudeRef = 'E';
foreach (PropertyItem objItem in propertyItems)
{
//只取Id范围为0x0000到0x001e
if (objItem.Id >= 0x0000 && objItem.Id <= 0x001e)
{
//objItem.Id = 0x0002;
switch (objItem.Id)
{
case 0x0000:
var query = from tmpb in objItem.Value select tmpb.ToString();
string sreVersion = String.Join(".", query.ToArray());
s_GPS += sreVersion + "+";
break;
case 0x0001:
chrGPSLatitudeRef = BitConverter.ToChar(objItem.Value, 0);
s_GPS += chrGPSLatitudeRef + "+";
break;
后面还有 97 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。