add editor, fix some bugs

WIP
This commit is contained in:
Alex Bezdieniezhnykh
2024-09-10 17:10:54 +03:00
parent b4bedb7520
commit 52371ace3a
16 changed files with 498 additions and 148 deletions
+13 -4
View File
@@ -42,8 +42,11 @@ public class GalleryManager(Config config, ILogger<GalleryManager> logger) : IGa
try
{
var bitmap = await GenerateThumbnail(img);
var thumbnailName = Path.Combine(thumbnailsDir.FullName, $"{imgName}{Config.ThumbnailPrefix}.jpg");
bitmap.Save(thumbnailName, ImageFormat.Jpeg);
if (bitmap != null)
{
var thumbnailName = Path.Combine(thumbnailsDir.FullName, $"{imgName}{Config.ThumbnailPrefix}.jpg");
bitmap.Save(thumbnailName, ImageFormat.Jpeg);
}
}
catch (Exception e)
{
@@ -54,7 +57,7 @@ public class GalleryManager(Config config, ILogger<GalleryManager> logger) : IGa
}
}
private async Task<Bitmap> GenerateThumbnail(FileInfo img)
private async Task<Bitmap?> GenerateThumbnail(FileInfo img)
{
var width = (int)config.ThumbnailConfig.Size.Width;
var height = (int)config.ThumbnailConfig.Size.Height;
@@ -62,7 +65,7 @@ public class GalleryManager(Config config, ILogger<GalleryManager> logger) : IGa
var imgName = Path.GetFileNameWithoutExtension(img.Name);
var labelName = Path.Combine(config.LabelsDirectory, $"{imgName}.txt");
var originalImage = Image.FromFile(img.FullName);
var originalImage = Image.FromStream(new MemoryStream(await File.ReadAllBytesAsync(img.FullName)));
var bitmap = new Bitmap(width, height);
@@ -72,6 +75,12 @@ public class GalleryManager(Config config, ILogger<GalleryManager> logger) : IGa
g.InterpolationMode = InterpolationMode.Default;
var size = new Size(originalImage.Width, originalImage.Height);
if (!File.Exists(labelName))
{
File.Move(img.FullName, Path.Combine(config.UnknownImages, Path.GetFileName(img.Name)));
logger.LogInformation($"No labels found for image {img.Name}! Moved image to the {config.UnknownImages} folder.");
return null;
}
var labels = (await YoloLabel.ReadFromFile(labelName))
.Select(x => new CanvasLabel(x, size, size))
.ToList();