Xamarin mac 2.10兼容exif库

时间:2016-10-18 11:25:52

标签: xamarin exif xamarin.mac exiflib

我在更新之前使用了https://www.nuget.org/packages/ExifLib.PCL/库。

我现在无法使用此库:

  

无法安装软件包' ExifLib.PCL 1.0.1'。你正试图   将此包安装到目标项目中   ' Xamarin.Mac,Version = v2.0',但该软件包不包含任何内容   程序集引用或与之兼容的内容文件   框架。有关更多信息,请与软件包作者联系。

任何替代方案?

我使用Exif库获取图像拍摄日期:

using (var stream = File.Open (filePath, FileMode.Open)) {
                var ein=new CGImagePropertiesExif ();
                var jpegInfo = ExifReader.ReadJpeg (stream);
                if (jpegInfo.DateTimeOriginal != null) {
                    takenDate = DateTime.ParseExact (jpegInfo.DateTimeOriginal, "yyyy:MM:dd HH:mm:ss", null);
                }
            }

此代码终止了应用程序,也无法看到任何异常:(

如果我只是模拟日期时间,就像这样:

static DateTime GetMyImageTakenDate (NSUrl url)
        {
            DateTime takenDate = DateTime.Today;

            using (var stream = File.Open (url.Path, FileMode.Open)) {

                takenDate = DateTime.ParseExact (DateTime.Now.ToString ("yyyy:MM:dd HH:mm:ss"), "yyyy:MM:dd HH:mm:ss", null);
            }
            return takenDate;
        }

应用程序正常工作:/

1 个答案:

答案 0 :(得分:0)

您的代码适用于我:

var filePath = "/Users/sushi/Desktop/img_1771.jpg";
using (var stream = File.Open(filePath, FileMode.Open))
{
    var jpegInfo = ExifReader.ReadJpeg(stream);
    if (jpegInfo.DateTimeOriginal != null)
    {
        var takenDate = DateTime.ParseExact(jpegInfo.DateTimeOriginal, "yyyy:MM:dd HH:mm:ss", null);
        Console.WriteLine(takenDate);
    }
}

输出:

12/14/2003 12:01:44 PM

使用:

Xamarin.Mac Version: 2.10.0.105
ExifLib.PCL Version: 1.0.2-pre01