gpt4 book ai didi

c - EXIF分数计算

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:56 25 4
gpt4 key购买 nike

我正在修改 jpeg EXIF 数据。有些数据需要定义为分数。在这里,我有两个问题:1.) 哪个是正确的分数“格式”?例如,当我的曝光时间(“ExposureTime”)为 30000µs 并将其存储为 30000/1000000 时,EXIF 查看器显示错误的曝光。存储为“1/30”会返回正确的结果。所有分数都必须是“1/x”吗?

2.) 如何快速计算分数?我现在使用的方法(类似于[1]中的“Dec2Frac”)非常慢。

问候,

[1] Calculating EXIF exposure time as a fraction (Delphi)

最佳答案

这是我在 C# 中用于计算 EXIF GPS 数据分数的代码。该方法返回一个包含两个整数的数组 - 一个是分子,一个是分母。

public static int[] GetFraction(Decimal value)
{
int denominator = 1;
int numeratorMultiplier = 1;
Decimal numerator = value * numeratorMultiplier;
int failSafe = 0;

while (Decimal.Remainder(numerator, 1m) != 0m && failSafe < 20 && ((long)numerator * 10) < Int32.MaxValue)
{
denominator *= 10;
numeratorMultiplier *= 10;

numerator = value * numeratorMultiplier;
failSafe++;
}

return new int[] {Decimal.ToInt32(numerator), denominator};
}

关于c - EXIF分数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com