rearrange & shorten some statusbar items
This commit is contained in:
parent
473fac7a6f
commit
6d07a533d7
36
Program.cs
36
Program.cs
@ -179,6 +179,7 @@ public class Photo {
|
|||||||
public DateTime DateTimeOriginal;
|
public DateTime DateTimeOriginal;
|
||||||
public string CameraModel = "";
|
public string CameraModel = "";
|
||||||
public string LensModel = "";
|
public string LensModel = "";
|
||||||
|
public string ShortLensModel = "";
|
||||||
public string FocalLength = "<unk>";
|
public string FocalLength = "<unk>";
|
||||||
public string FNumber = "<unk>";
|
public string FNumber = "<unk>";
|
||||||
public string ExposureTime = "<unk>";
|
public string ExposureTime = "<unk>";
|
||||||
@ -343,6 +344,7 @@ public class Photo {
|
|||||||
IExifValue<string>? lensModel;
|
IExifValue<string>? lensModel;
|
||||||
if (exifs.TryGetValue(ExifTag.LensModel, out lensModel)) {
|
if (exifs.TryGetValue(ExifTag.LensModel, out lensModel)) {
|
||||||
LensModel = lensModel.Value ?? "";
|
LensModel = lensModel.Value ?? "";
|
||||||
|
ShortLensModel = GetShortLensModel(LensModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
IExifValue<Rational>? focalLength;
|
IExifValue<Rational>? focalLength;
|
||||||
@ -411,6 +413,23 @@ public class Photo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetShortLensModel(string lensModel) {
|
||||||
|
// Example Canon RF lens names:
|
||||||
|
// RF16mm F2.8 STM
|
||||||
|
// RF24-105mm F4-7.1 IS STM
|
||||||
|
// RF35mm F1.8 MACRO IS STM
|
||||||
|
// RF100-400mm F5.6-8 IS USM
|
||||||
|
string[] tokens = lensModel.Split(' ');
|
||||||
|
string result = "";
|
||||||
|
foreach (string token in tokens) {
|
||||||
|
if (token == "STM" || token == "IS" || token == "USM") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
result += token + " ";
|
||||||
|
}
|
||||||
|
return result.Trim();
|
||||||
|
}
|
||||||
|
|
||||||
public Texture Texture() {
|
public Texture Texture() {
|
||||||
LastTouch = touchCounter++;
|
LastTouch = touchCounter++;
|
||||||
if (texture == placeholder && image != null) {
|
if (texture == placeholder && image != null) {
|
||||||
@ -427,8 +446,9 @@ public class Photo {
|
|||||||
|
|
||||||
public string Description() {
|
public string Description() {
|
||||||
string date = DateTimeOriginal.ToString("yyyy-MM-dd HH:mm:ss");
|
string date = DateTimeOriginal.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
string shootingInfo = $"{date} {FocalLength}, {FNumber} at {ExposureTime}, {IsoSpeed}";
|
return String.Format(
|
||||||
return String.Format("{0,-60} {1,-50} {2}", shootingInfo, $"{CameraModel} {LensModel}", Filename);
|
"{0,6} {1,-5} {2,-7} {3,-10} {4} {5,-20} {6}",
|
||||||
|
FocalLength, FNumber, ExposureTime, IsoSpeed, date, ShortLensModel, Filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -890,8 +910,9 @@ public class Game : GameWindow {
|
|||||||
|
|
||||||
// Load photos from a directory.
|
// Load photos from a directory.
|
||||||
// string[] files = Directory.GetFiles(@"c:\users\colin\desktop\photos-test\");
|
// string[] files = Directory.GetFiles(@"c:\users\colin\desktop\photos-test\");
|
||||||
// string[] files = Directory.GetFiles(@"c:\users\colin\pictures\photos\2023\07\14\");
|
string[] files = Directory.GetFiles(@"c:\users\colin\pictures\photos\2023\07\14\");
|
||||||
string[] files = Directory.GetFiles(@"G:\DCIM\100EOSR6\");
|
// string[] files = Directory.GetFiles(@"c:\users\colin\pictures\photos\2023\07\23\");
|
||||||
|
// string[] files = Directory.GetFiles(@"G:\DCIM\100EOSR6\");
|
||||||
// string[] files = Directory.GetFiles(@"c:\users\colin\desktop\totte-output\2023\07\31");
|
// string[] files = Directory.GetFiles(@"c:\users\colin\desktop\totte-output\2023\07\31");
|
||||||
// string[] files = Directory.GetFiles(@"C:\Users\colin\Pictures\photos\2018\06\23");
|
// string[] files = Directory.GetFiles(@"C:\Users\colin\Pictures\photos\2018\06\23");
|
||||||
// string[] files = Directory.GetFiles(@"C:\Users\colin\Desktop\Germany all\104D7000");
|
// string[] files = Directory.GetFiles(@"C:\Users\colin\Desktop\Germany all\104D7000");
|
||||||
@ -1107,15 +1128,16 @@ public class Game : GameWindow {
|
|||||||
DrawFilledBox(geometry.StatusBox, Color4.Black);
|
DrawFilledBox(geometry.StatusBox, Color4.Black);
|
||||||
// First line.
|
// First line.
|
||||||
int y = geometry.StatusBox.Min.Y + statusPadding;
|
int y = geometry.StatusBox.Min.Y + statusPadding;
|
||||||
DrawText(activePhoto.Description(), geometry.StatusBox.Min.X, y);
|
DrawText(String.Format("{0,4}/{1,-4}", photoIndex + 1, photos.Count), geometry.StatusBox.Min.X, y);
|
||||||
|
DrawText(activePhoto.Description(), geometry.StatusBox.Min.X + 88, y);
|
||||||
|
|
||||||
// Second line.
|
// Second line.
|
||||||
y += 20;
|
y += 20;
|
||||||
DrawText(String.Format("{0,4}/{1,-4}", photoIndex + 1, photos.Count), geometry.StatusBox.Min.X + 72, y);
|
|
||||||
DrawText(String.Format("FPS: {0,2}", fpsCounter.Fps), geometry.StatusBox.Max.X - 66, y);
|
DrawText(String.Format("FPS: {0,2}", fpsCounter.Fps), geometry.StatusBox.Max.X - 66, y);
|
||||||
if (activePhoto.Loaded) {
|
if (activePhoto.Loaded) {
|
||||||
DrawText($"{(scale * 100):F1}%", geometry.StatusBox.Min.X, y);
|
DrawText($"{(scale * 100):F1}%", geometry.StatusBox.Min.X, y);
|
||||||
}
|
}
|
||||||
DrawText($"({mousePosition.X}, {mousePosition.Y})", geometry.StatusBox.Min.X + 160, y);
|
DrawText($"({mousePosition.X}, {mousePosition.Y})", geometry.StatusBox.Min.X + 72, y);
|
||||||
Vector2i imagePosition = ScreenToImage(mousePosition);
|
Vector2i imagePosition = ScreenToImage(mousePosition);
|
||||||
DrawText($"({imagePosition.X}, {imagePosition.Y})", geometry.StatusBox.Min.X + 320, y);
|
DrawText($"({imagePosition.X}, {imagePosition.Y})", geometry.StatusBox.Min.X + 320, y);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user