0

我在更新之前使用了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);
                }
            }

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

如果我只是模拟 datetime ,像这样:

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;
        }

应用程序工作正常:/

4

1 回答 1

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
于 2016-10-18T13:03:39.120 回答