diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644
index 0000000..3734723
--- /dev/null
+++ b/.github/copilot-instructions.md
@@ -0,0 +1,90 @@
+# Copilot Instructions
+
+## Build & Test Commands
+
+```powershell
+# Build
+dotnet build Catalog.sln
+
+# Run all tests
+dotnet test MaddoShared.Tests
+
+# Run a single test
+dotnet test MaddoShared.Tests --filter "FullyQualifiedName~MethodName"
+
+# Benchmarks (modes: quick | all | parallel | chunks | sizes | stress)
+.\run-benchmarks.ps1 quick
+
+# Publish release build (self-contained Windows EXE)
+dotnet publish "imagecatalog\ImageCatalog 2.csproj" -c Release -r win-x64 --self-contained
+```
+
+## Architecture
+
+This is a WinForms/WPF image cataloging application targeting .NET 10.0-windows.
+
+### Projects
+
+| Project | Purpose |
+|---------|---------|
+| **imagecatalog** | Main desktop application — WinForms (default), WPF (`--wpf`), or Avalonia (`--avalonia`) |
+| **MaddoShared** | Shared image processing library (the core) |
+| **MaddoShared.Tests** | Unit tests for MaddoShared |
+| **MaddoShared.Benchmarks** | BenchmarkDotNet performance benchmarks |
+| **WPFCatalog** | Alternate WPF UI (secondary) |
+| **ImageCatalogCS / ImageCatalogParallel** | Legacy/experimental variants |
+| **CatalogLib / CatalogLibVb / CatalogVbLib** | Legacy VB.NET libraries |
+
+The main app selects its UI at startup via command-line flag:
+- *(default)* — WinForms (`MainForm`)
+- `--wpf` — WPF with MahApps.Metro (`MainWindow`)
+- `--avalonia` — Avalonia with Fluent theme (`AvaloniaMainWindow`)
+
+All three UIs bind to the same `DataModel`. Dialog events (`SelectSourceFolderRequested`, etc.) are subscribed in each window's code-behind. `DataModel.UiInvoker` must be set by the active UI to enable cross-thread UI updates (Avalonia sets this to `Dispatcher.UIThread.Invoke`; WPF uses `Application.Current.Dispatcher`).
+
+### Core Flow
+
+1. User configures paths/settings in the UI (`DataModel.cs` — MVVM ViewModel)
+2. `ProcessImagesCommand` triggers `ImageCreationService`
+3. `ImageCreationService` processes files in parallel chunks, with configurable concurrency and batch size (GC flush between chunks)
+4. Each file is handled by an `IImageCreator` implementation (GDI+ or ImageSharp)
+5. Output: resized/watermarked/overlaid images written to a destination folder hierarchy
+
+### Key Abstractions (MaddoShared)
+
+- **`IImageCreator`** — single async method to process one image; two implementations: `ImageCreatorGDI` (System.Drawing) and `ImageCreatorSharp` (SixLabors.ImageSharp)
+- **`ImageCreationService`** — parallel orchestrator; uses `AsyncEnumerator` with chunking; loads logo once, clones per thread for thread safety
+- **`ImageState`** — per-file processing context (input path, EXIF orientation, thumbnail sizes, overlays, logo, rotation)
+- **`PicSettings`** — 50+ property configuration model (dimensions, fonts, colors, JPEG quality, watermark, logo positioning, `ImageCreatorProvider` selector)
+- **`FileHelperSharp`** — recursive file enumeration with folder-per-N-files mapping and counter formatting
+
+### Implementation Selection
+
+`PicSettings.ImageCreatorProvider` switches between `"Sharp"` (SixLabors.ImageSharp) and `"Alternate"` (GDI+) at runtime.
+
+## Conventions
+
+### C# Style
+- File-scoped namespaces everywhere: `namespace MaddoShared;`
+- Nullable reference types enabled (`enable`)
+- Implicit usings enabled
+- `ConfigureAwait(false)` on all `await` calls in library code
+
+### Dependency Injection
+- Constructor injection throughout; loggers typed as `ILogger`
+- Main app wires services in `Program.cs` via `IServiceCollection`
+
+### Testing
+- MSTest with `[TestClass]` / `[TestMethod]`
+- FluentAssertions for assertions
+- Moq for mocking
+- Factory helper pattern in tests: `CreateService(Action configure = null)` methods for flexible test setup
+
+### Async / Parallelism
+- All image I/O is `async Task`
+- `ImageCreationService` uses configurable `MaxDegreeOfParallelism` and `ChunkSize`; explicit `GC.Collect()` between chunks to manage memory under batch load
+
+### Versioning & CI
+- Semantic versioning via **GitVersion** (mode: `ContinuousDelivery`, current base: `3.2.0`)
+- GitLab CI pipeline: builds → single-file self-contained EXE → GitLab Release
+- Private NuGet packages scoped to `AIFotoONLUS.*` prefix, routed to the GitLab package registry (see `NuGet.Config`)
diff --git a/.gitignore b/.gitignore
index 432b9b3..9a1e321 100644
--- a/.gitignore
+++ b/.gitignore
@@ -255,3 +255,4 @@ paket-files/
# JetBrains Rider
.idea/
*.sln.iml
+.vscode/settings.json
diff --git a/Catalog.Communication/Abstractions/IRaceUploadCommunicationClient.cs b/Catalog.Communication/Abstractions/IRaceUploadCommunicationClient.cs
new file mode 100644
index 0000000..26d1b76
--- /dev/null
+++ b/Catalog.Communication/Abstractions/IRaceUploadCommunicationClient.cs
@@ -0,0 +1,40 @@
+using Catalog.Communication.Models;
+
+namespace Catalog.Communication.Abstractions;
+
+public interface IRaceUploadCommunicationClient
+{
+ Task LoginAdminAsync(AdminLoginRequest request, CancellationToken cancellationToken = default);
+
+ Task LogoutAdminAsync(CancellationToken cancellationToken = default);
+
+ Task UploadRaceImageAsync(RaceImageUploadRequest request, CancellationToken cancellationToken = default);
+
+ Task RemoveRaceImageAsync(RaceImageRemoveRequest request, CancellationToken cancellationToken = default);
+
+ Task UploadRaceFileAsync(RaceFileUploadRequest request, CancellationToken cancellationToken = default);
+
+ Task SaveRaceAsync(RaceSaveRequest request, CancellationToken cancellationToken = default);
+
+ Task CreateRacePointsAsync(long raceId, CancellationToken cancellationToken = default);
+
+ Task IndexRacePointAsync(long pointId, CancellationToken cancellationToken = default);
+
+ Task GetRaceDetailAsync(long raceId, CancellationToken cancellationToken = default);
+
+ Task UploadFileToReceiverAsync(ReceiveFileUploadRequest request, CancellationToken cancellationToken = default);
+
+ Task ExecuteGaraCommandAsync(IReadOnlyDictionary formFields, CancellationToken cancellationToken = default);
+
+ Task ExecuteAdminPhotoCommandAsync(AdminPhotoEndpoint endpoint, IReadOnlyDictionary formFields, CancellationToken cancellationToken = default);
+
+ Task ExecutePublicLogonAsync(IReadOnlyDictionary formFields, CancellationToken cancellationToken = default);
+
+ Task ExecuteUsersAsync(HttpMethod method, IReadOnlyDictionary? formFields = null, CancellationToken cancellationToken = default);
+
+ Task ExecuteFoto2Async(HttpMethod method, IReadOnlyDictionary? formFields = null, CancellationToken cancellationToken = default);
+
+ Task DownloadThumbnailAsync(string filename, long? idFoto = null, CancellationToken cancellationToken = default);
+
+ Task DownloadOriginalAsync(string filename, long? idFoto = null, CancellationToken cancellationToken = default);
+}
diff --git a/Catalog.Communication/Catalog.Communication.csproj b/Catalog.Communication/Catalog.Communication.csproj
new file mode 100644
index 0000000..cb8dc94
--- /dev/null
+++ b/Catalog.Communication/Catalog.Communication.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net10.0
+ Library
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
diff --git a/Catalog.Communication/CatalogCommunicationOptions.cs b/Catalog.Communication/CatalogCommunicationOptions.cs
new file mode 100644
index 0000000..6044d2e
--- /dev/null
+++ b/Catalog.Communication/CatalogCommunicationOptions.cs
@@ -0,0 +1,16 @@
+namespace Catalog.Communication;
+
+public sealed class CatalogCommunicationOptions
+{
+ public required Uri BaseUri { get; set; }
+
+ public string AdminPageBasePath { get; set; } = "admin/pg";
+
+ public string ReceiveFilePath { get; set; } = "ReceiveFile.abl";
+
+ public TimeSpan RequestTimeout { get; set; } = TimeSpan.FromSeconds(30);
+
+ public int RetryCount { get; set; } = 2;
+
+ public TimeSpan RetryBaseDelay { get; set; } = TimeSpan.FromMilliseconds(250);
+}
diff --git a/Catalog.Communication/DependencyInjection/CatalogCommunicationServiceCollectionExtensions.cs b/Catalog.Communication/DependencyInjection/CatalogCommunicationServiceCollectionExtensions.cs
new file mode 100644
index 0000000..bb5a5b1
--- /dev/null
+++ b/Catalog.Communication/DependencyInjection/CatalogCommunicationServiceCollectionExtensions.cs
@@ -0,0 +1,57 @@
+using System.Net;
+using Catalog.Communication.Abstractions;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
+using Microsoft.Extensions.Options;
+
+namespace Catalog.Communication.DependencyInjection;
+
+public static class CatalogCommunicationServiceCollectionExtensions
+{
+ public static IServiceCollection AddCatalogCommunication(this IServiceCollection services, Action configure)
+ {
+ ArgumentNullException.ThrowIfNull(services);
+ ArgumentNullException.ThrowIfNull(configure);
+
+ services
+ .AddOptions()
+ .Configure(configure)
+ .Validate(o => o.BaseUri is not null, "CatalogCommunicationOptions.BaseUri is required.")
+ .Validate(o => !string.IsNullOrWhiteSpace(o.AdminPageBasePath), "AdminPageBasePath is required.")
+ .Validate(o => !string.IsNullOrWhiteSpace(o.ReceiveFilePath), "ReceiveFilePath is required.")
+ .Validate(o => o.RequestTimeout > TimeSpan.Zero, "RequestTimeout must be greater than zero.")
+ .Validate(o => o.RetryCount >= 0 && o.RetryCount <= 10, "RetryCount must be between 0 and 10.")
+ .Validate(o => o.RetryBaseDelay > TimeSpan.Zero, "RetryBaseDelay must be greater than zero.");
+
+ services.TryAddSingleton();
+
+ // Create the HttpClient only when the communication client is requested.
+ // This avoids constructing the DefaultHttpClientFactory (and its background cleanup timer)
+ // if the race-upload feature is never used.
+ services.AddTransient(sp =>
+ {
+ var options = sp.GetRequiredService>().Value;
+ var logger = sp.GetService>() ?? NullLogger.Instance;
+ var cookieContainer = sp.GetRequiredService();
+
+ var handler = new HttpClientHandler
+ {
+ UseCookies = true,
+ CookieContainer = cookieContainer,
+ AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate | DecompressionMethods.Brotli,
+ };
+
+ var httpClient = new HttpClient(handler, disposeHandler: true)
+ {
+ BaseAddress = options.BaseUri,
+ Timeout = options.RequestTimeout,
+ };
+
+ return new RaceUploadCommunicationClient(httpClient, sp.GetRequiredService>(), logger);
+ });
+
+ return services;
+ }
+}
diff --git a/Catalog.Communication/Models/AdminLoginRequest.cs b/Catalog.Communication/Models/AdminLoginRequest.cs
new file mode 100644
index 0000000..170faf4
--- /dev/null
+++ b/Catalog.Communication/Models/AdminLoginRequest.cs
@@ -0,0 +1,10 @@
+namespace Catalog.Communication.Models;
+
+public sealed class AdminLoginRequest
+{
+ public required string Login { get; init; }
+
+ public required string Password { get; init; }
+
+ public string Command { get; init; } = "check";
+}
diff --git a/Catalog.Communication/Models/AdminPhotoEndpoint.cs b/Catalog.Communication/Models/AdminPhotoEndpoint.cs
new file mode 100644
index 0000000..b1aad98
--- /dev/null
+++ b/Catalog.Communication/Models/AdminPhotoEndpoint.cs
@@ -0,0 +1,8 @@
+namespace Catalog.Communication.Models;
+
+public enum AdminPhotoEndpoint
+{
+ Foto = 0,
+ TipoGara = 1,
+ LogFoto = 2,
+}
diff --git a/Catalog.Communication/Models/MediaFileResponse.cs b/Catalog.Communication/Models/MediaFileResponse.cs
new file mode 100644
index 0000000..2bdfecd
--- /dev/null
+++ b/Catalog.Communication/Models/MediaFileResponse.cs
@@ -0,0 +1,16 @@
+using System.Net;
+
+namespace Catalog.Communication.Models;
+
+public sealed class MediaFileResponse
+{
+ public required HttpStatusCode StatusCode { get; init; }
+
+ public required byte[] Content { get; init; }
+
+ public string? ContentType { get; init; }
+
+ public string? FileName { get; init; }
+
+ public required IReadOnlyDictionary> Headers { get; init; }
+}
diff --git a/Catalog.Communication/Models/RaceFileUploadRequest.cs b/Catalog.Communication/Models/RaceFileUploadRequest.cs
new file mode 100644
index 0000000..83cfb3b
--- /dev/null
+++ b/Catalog.Communication/Models/RaceFileUploadRequest.cs
@@ -0,0 +1,16 @@
+namespace Catalog.Communication.Models;
+
+public sealed class RaceFileUploadRequest
+{
+ public int? CodFile { get; init; }
+
+ public long? Id { get; init; }
+
+ public required string FileName { get; init; }
+
+ public required Stream FileStream { get; init; }
+
+ public string FormFieldName { get; init; } = "fileName";
+
+ public string? ContentType { get; init; }
+}
diff --git a/Catalog.Communication/Models/RaceImageRemoveRequest.cs b/Catalog.Communication/Models/RaceImageRemoveRequest.cs
new file mode 100644
index 0000000..0e9698a
--- /dev/null
+++ b/Catalog.Communication/Models/RaceImageRemoveRequest.cs
@@ -0,0 +1,10 @@
+namespace Catalog.Communication.Models;
+
+public sealed class RaceImageRemoveRequest
+{
+ public required long Id { get; init; }
+
+ public required int CodImage { get; init; }
+
+ public int? TotImgNumber { get; init; }
+}
diff --git a/Catalog.Communication/Models/RaceImageUploadRequest.cs b/Catalog.Communication/Models/RaceImageUploadRequest.cs
new file mode 100644
index 0000000..ee049f1
--- /dev/null
+++ b/Catalog.Communication/Models/RaceImageUploadRequest.cs
@@ -0,0 +1,18 @@
+namespace Catalog.Communication.Models;
+
+public sealed class RaceImageUploadRequest
+{
+ public required long Id { get; init; }
+
+ public required int CodImage { get; init; }
+
+ public int? TotImgNumber { get; init; }
+
+ public required string FileName { get; init; }
+
+ public required Stream FileStream { get; init; }
+
+ public string FormFieldName { get; init; } = "imgFile";
+
+ public string? ContentType { get; init; }
+}
diff --git a/Catalog.Communication/Models/RaceSaveRequest.cs b/Catalog.Communication/Models/RaceSaveRequest.cs
new file mode 100644
index 0000000..88293a6
--- /dev/null
+++ b/Catalog.Communication/Models/RaceSaveRequest.cs
@@ -0,0 +1,26 @@
+namespace Catalog.Communication.Models;
+
+public sealed class RaceSaveRequest
+{
+ public long IdGara { get; init; }
+
+ public required string Description { get; init; }
+
+ public required DateOnly StartDate { get; init; }
+
+ public DateOnly? EndDate { get; init; }
+
+ public required long TipoGaraId { get; init; }
+
+ public int EventoInLinea { get; init; }
+
+ public int TipoIndicizzazione { get; init; }
+
+ public int FreeEvent { get; init; }
+
+ public string? PathBase { get; init; }
+
+ public string? Localita { get; init; }
+
+ public long? CodGara { get; init; }
+}
diff --git a/Catalog.Communication/Models/RawEndpointResponse.cs b/Catalog.Communication/Models/RawEndpointResponse.cs
new file mode 100644
index 0000000..0f0f36a
--- /dev/null
+++ b/Catalog.Communication/Models/RawEndpointResponse.cs
@@ -0,0 +1,12 @@
+using System.Net;
+
+namespace Catalog.Communication.Models;
+
+public sealed class RawEndpointResponse
+{
+ public required HttpStatusCode StatusCode { get; init; }
+
+ public required string Body { get; init; }
+
+ public required IReadOnlyDictionary> Headers { get; init; }
+}
diff --git a/Catalog.Communication/Models/ReceiveFileUploadRequest.cs b/Catalog.Communication/Models/ReceiveFileUploadRequest.cs
new file mode 100644
index 0000000..07b0b85
--- /dev/null
+++ b/Catalog.Communication/Models/ReceiveFileUploadRequest.cs
@@ -0,0 +1,16 @@
+namespace Catalog.Communication.Models;
+
+public sealed class ReceiveFileUploadRequest
+{
+ public required string FileName { get; init; }
+
+ public required Stream FileStream { get; init; }
+
+ public required string DestinationPath { get; init; }
+
+ public bool OverwriteRemoteFile { get; init; }
+
+ public int? BufferSize { get; init; }
+
+ public string? ContentType { get; init; }
+}
diff --git a/Catalog.Communication/Models/UploadFileResponse.cs b/Catalog.Communication/Models/UploadFileResponse.cs
new file mode 100644
index 0000000..e68e400
--- /dev/null
+++ b/Catalog.Communication/Models/UploadFileResponse.cs
@@ -0,0 +1,18 @@
+using System.Text.Json.Serialization;
+
+namespace Catalog.Communication.Models;
+
+public sealed class UploadFileResponse
+{
+ [JsonPropertyName("result")]
+ public bool Result { get; init; }
+
+ [JsonPropertyName("message")]
+ public string Message { get; init; } = string.Empty;
+
+ [JsonPropertyName("fileName")]
+ public string FileName { get; init; } = string.Empty;
+
+ [JsonPropertyName("fileNameLink")]
+ public string FileNameLink { get; init; } = string.Empty;
+}
diff --git a/Catalog.Communication/Models/UploadImageResponse.cs b/Catalog.Communication/Models/UploadImageResponse.cs
new file mode 100644
index 0000000..5ecc353
--- /dev/null
+++ b/Catalog.Communication/Models/UploadImageResponse.cs
@@ -0,0 +1,15 @@
+using System.Text.Json.Serialization;
+
+namespace Catalog.Communication.Models;
+
+public sealed class UploadImageResponse
+{
+ [JsonPropertyName("result")]
+ public bool Result { get; init; }
+
+ [JsonPropertyName("message")]
+ public string Message { get; init; } = string.Empty;
+
+ [JsonPropertyName("imgPath")]
+ public string ImgPath { get; init; } = string.Empty;
+}
diff --git a/Catalog.Communication/RaceUploadCommunicationClient.cs b/Catalog.Communication/RaceUploadCommunicationClient.cs
new file mode 100644
index 0000000..9657dfe
--- /dev/null
+++ b/Catalog.Communication/RaceUploadCommunicationClient.cs
@@ -0,0 +1,622 @@
+using System.Net;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Text.Json;
+using System.Globalization;
+using Catalog.Communication.Abstractions;
+using Catalog.Communication.Models;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+
+namespace Catalog.Communication;
+
+public sealed class RaceUploadCommunicationClient : IRaceUploadCommunicationClient, IDisposable
+{
+ private const string AdminMenuPath = "admin/menu/Menu4.abl";
+ private const string PublicLogonPath = "Logon.abl";
+ private const string UsersPath = "Users.abl";
+ private const string Foto2Path = "Foto2.abl";
+ private const string ThumbnailPath = "foto";
+ private const string OriginalPath = "fotoOriginali";
+
+ private static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web)
+ {
+ PropertyNameCaseInsensitive = true,
+ };
+
+ private readonly HttpClient _httpClient;
+ private readonly ILogger _logger;
+ private readonly IOptions _options;
+ private bool _disposed;
+
+ public RaceUploadCommunicationClient(
+ HttpClient httpClient,
+ IOptions options,
+ ILogger logger)
+ {
+ _httpClient = httpClient;
+ _options = options;
+ _logger = logger;
+ }
+
+ public void Dispose()
+ {
+ if (_disposed)
+ {
+ return;
+ }
+
+ _httpClient.Dispose();
+ _disposed = true;
+ GC.SuppressFinalize(this);
+ }
+
+ public Task LoginAdminAsync(AdminLoginRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+
+ var formFields = new Dictionary
+ {
+ ["login"] = request.Login,
+ ["pwd"] = request.Password,
+ ["cmdIU"] = request.Command,
+ };
+
+ return PostFormAsync(AdminMenuPath, formFields, "admin-login", cancellationToken);
+ }
+
+ public Task LogoutAdminAsync(CancellationToken cancellationToken = default)
+ {
+ var formFields = new Dictionary
+ {
+ ["cmdIU"] = "login",
+ };
+
+ return PostFormAsync(AdminMenuPath, formFields, "admin-logout", cancellationToken);
+ }
+
+ public Task UploadRaceImageAsync(RaceImageUploadRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+
+ return PostMultipartAndParseUploadAsync(
+ GetAdminPagePath("Gara"),
+ "gara-upload-image",
+ request.FileStream,
+ request.FileName,
+ request.FormFieldName,
+ request.ContentType,
+ static fields =>
+ {
+ fields["cmd"] = "loadImg";
+ },
+ new Dictionary
+ {
+ ["id"] = request.Id.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ ["codImage"] = request.CodImage.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ ["totImgNumber"] = request.TotImgNumber?.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ },
+ cancellationToken);
+ }
+
+ public Task RemoveRaceImageAsync(RaceImageRemoveRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+
+ var fields = new Dictionary
+ {
+ ["cmd"] = "removeImg",
+ ["id"] = request.Id.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ ["codImage"] = request.CodImage.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ ["totImgNumber"] = request.TotImgNumber?.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ };
+
+ return PostFormAndParseUploadAsync(GetAdminPagePath("Gara"), fields, "gara-remove-image", cancellationToken);
+ }
+
+ public Task UploadRaceFileAsync(RaceFileUploadRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+
+ return PostMultipartAndParseUploadAsync(
+ GetAdminPagePath("Gara"),
+ "gara-upload-file",
+ request.FileStream,
+ request.FileName,
+ request.FormFieldName,
+ request.ContentType,
+ static fields =>
+ {
+ fields["cmd"] = "saveFile";
+ },
+ new Dictionary
+ {
+ ["codFile"] = request.CodFile?.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ ["id"] = request.Id?.ToString(System.Globalization.CultureInfo.InvariantCulture),
+ },
+ cancellationToken);
+ }
+
+ public Task SaveRaceAsync(RaceSaveRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+
+ var formFields = new Dictionary
+ {
+ ["cmd"] = "asq",
+ ["act"] = "save",
+ ["id_gara"] = request.IdGara.ToString(CultureInfo.InvariantCulture),
+ ["descrizione"] = request.Description,
+ ["dataGaraInizio"] = request.StartDate.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture),
+ ["dataGaraFine"] = (request.EndDate ?? request.StartDate).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture),
+ ["id_tipoGara"] = request.TipoGaraId.ToString(CultureInfo.InvariantCulture),
+ ["flgEventoInLinea"] = request.EventoInLinea.ToString(CultureInfo.InvariantCulture),
+ ["flgTipoIndex"] = request.TipoIndicizzazione.ToString(CultureInfo.InvariantCulture),
+ ["flgFree"] = request.FreeEvent.ToString(CultureInfo.InvariantCulture),
+ ["pathBase"] = request.PathBase,
+ ["localita"] = request.Localita,
+ ["codGara"] = request.CodGara?.ToString(CultureInfo.InvariantCulture),
+ };
+
+ return PostFormAsync(GetAdminPagePath("Gara"), formFields, "gara-save", cancellationToken);
+ }
+
+ public Task CreateRacePointsAsync(long raceId, CancellationToken cancellationToken = default)
+ {
+ var formFields = new Dictionary
+ {
+ ["cmd"] = "creaPuntiFoto",
+ ["id_gara"] = raceId.ToString(CultureInfo.InvariantCulture),
+ };
+
+ return PostFormAsync(GetAdminPagePath("Gara"), formFields, "gara-create-points", cancellationToken);
+ }
+
+ public Task IndexRacePointAsync(long pointId, CancellationToken cancellationToken = default)
+ {
+ var formFields = new Dictionary
+ {
+ ["cmd"] = "indexFoto",
+ ["id_puntoFotoIdx"] = pointId.ToString(CultureInfo.InvariantCulture),
+ };
+
+ return PostFormAsync(GetAdminPagePath("Gara"), formFields, "gara-index-point", cancellationToken);
+ }
+
+ public Task GetRaceDetailAsync(long raceId, CancellationToken cancellationToken = default)
+ {
+ var formFields = new Dictionary
+ {
+ ["cmd"] = "search",
+ ["id_gara"] = raceId.ToString(CultureInfo.InvariantCulture),
+ };
+
+ return PostFormAsync(GetAdminPagePath("Gara"), formFields, "gara-detail", cancellationToken);
+ }
+
+ public async Task UploadFileToReceiverAsync(ReceiveFileUploadRequest request, CancellationToken cancellationToken = default)
+ {
+ ArgumentNullException.ThrowIfNull(request);
+ ArgumentException.ThrowIfNullOrWhiteSpace(request.FileName);
+ ArgumentException.ThrowIfNullOrWhiteSpace(request.DestinationPath);
+ ArgumentNullException.ThrowIfNull(request.FileStream);
+
+ var payload = await ReadAllBytesAsync(request.FileStream, cancellationToken).ConfigureAwait(false);
+ var query = new Dictionary
+ {
+ ["name"] = request.FileName,
+ ["path"] = request.DestinationPath,
+ ["overwriteRemoteFile"] = request.OverwriteRemoteFile ? "true" : "false",
+ ["bs"] = request.BufferSize?.ToString(CultureInfo.InvariantCulture),
+ };
+
+ var path = AppendQuery(GetReceiveFilePath(), query);
+
+ return await ExecuteWithResilienceAsync(
+ () =>
+ {
+ var byteContent = new ByteArrayContent(payload);
+ byteContent.Headers.ContentType = new MediaTypeHeaderValue(request.ContentType ?? "application/octet-stream");
+
+ return new HttpRequestMessage(HttpMethod.Post, path)
+ {
+ Content = byteContent,
+ };
+ },
+ ToRawResponseAsync,
+ "receiver-upload",
+ cancellationToken).ConfigureAwait(false);
+ }
+
+ public Task ExecuteGaraCommandAsync(IReadOnlyDictionary formFields, CancellationToken cancellationToken = default)
+ {
+ return PostFormAsync(GetAdminPagePath("Gara"), formFields, "gara-command", cancellationToken);
+ }
+
+ public Task ExecuteAdminPhotoCommandAsync(AdminPhotoEndpoint endpoint, IReadOnlyDictionary formFields, CancellationToken cancellationToken = default)
+ {
+ var path = endpoint switch
+ {
+ AdminPhotoEndpoint.Foto => GetAdminPagePath("Foto"),
+ AdminPhotoEndpoint.TipoGara => GetAdminPagePath("TipoGara"),
+ AdminPhotoEndpoint.LogFoto => GetAdminPagePath("LogFoto"),
+ _ => throw new ArgumentOutOfRangeException(nameof(endpoint), endpoint, "Unsupported endpoint."),
+ };
+
+ return PostFormAsync(path, formFields, $"photo-admin-{endpoint}", cancellationToken);
+ }
+
+ public Task ExecutePublicLogonAsync(IReadOnlyDictionary formFields, CancellationToken cancellationToken = default)
+ {
+ return PostFormAsync(PublicLogonPath, formFields, "public-logon", cancellationToken);
+ }
+
+ public Task ExecuteUsersAsync(HttpMethod method, IReadOnlyDictionary? formFields = null, CancellationToken cancellationToken = default)
+ {
+ return SendCommandAsync(method, UsersPath, formFields, "public-users", cancellationToken);
+ }
+
+ public Task ExecuteFoto2Async(HttpMethod method, IReadOnlyDictionary? formFields = null, CancellationToken cancellationToken = default)
+ {
+ return SendCommandAsync(method, Foto2Path, formFields, "public-foto2", cancellationToken);
+ }
+
+ public Task DownloadThumbnailAsync(string filename, long? idFoto = null, CancellationToken cancellationToken = default)
+ {
+ ArgumentException.ThrowIfNullOrWhiteSpace(filename);
+ return DownloadFileAsync(ThumbnailPath, filename, idFoto, "media-thumbnail", cancellationToken);
+ }
+
+ public Task DownloadOriginalAsync(string filename, long? idFoto = null, CancellationToken cancellationToken = default)
+ {
+ ArgumentException.ThrowIfNullOrWhiteSpace(filename);
+ return DownloadFileAsync(OriginalPath, filename, idFoto, "media-original", cancellationToken);
+ }
+
+ private Task SendCommandAsync(HttpMethod method, string path, IReadOnlyDictionary? formFields, string operationName, CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(method);
+
+ if (method == HttpMethod.Get)
+ {
+ var relativePath = AppendQuery(path, formFields);
+ return GetAsync(relativePath, operationName, cancellationToken);
+ }
+
+ if (method == HttpMethod.Post)
+ {
+ return PostFormAsync(path, formFields ?? new Dictionary(), operationName, cancellationToken);
+ }
+
+ throw new NotSupportedException($"Only GET and POST are supported. Requested method: {method}.");
+ }
+
+ private Task GetAsync(string relativePath, string operationName, CancellationToken cancellationToken)
+ {
+ return ExecuteWithResilienceAsync(
+ () => new HttpRequestMessage(HttpMethod.Get, relativePath),
+ ToRawResponseAsync,
+ operationName,
+ cancellationToken);
+ }
+
+ private Task PostFormAsync(string relativePath, IReadOnlyDictionary formFields, string operationName, CancellationToken cancellationToken)
+ {
+ return ExecuteWithResilienceAsync(
+ () =>
+ {
+ var request = new HttpRequestMessage(HttpMethod.Post, relativePath)
+ {
+ Content = BuildFormContent(formFields),
+ };
+
+ return request;
+ },
+ ToRawResponseAsync,
+ operationName,
+ cancellationToken);
+ }
+
+ private Task PostFormAndParseUploadAsync(string relativePath, IReadOnlyDictionary formFields, string operationName, CancellationToken cancellationToken)
+ {
+ return ExecuteWithResilienceAsync(
+ () =>
+ {
+ var request = new HttpRequestMessage(HttpMethod.Post, relativePath)
+ {
+ Content = BuildFormContent(formFields),
+ };
+
+ return request;
+ },
+ async (response, token) =>
+ {
+ var raw = await ToRawResponseAsync(response, token).ConfigureAwait(false);
+ return ParseSingleItemArray(raw.Body);
+ },
+ operationName,
+ cancellationToken);
+ }
+
+ private async Task PostMultipartAndParseUploadAsync(
+ string relativePath,
+ string operationName,
+ Stream fileStream,
+ string fileName,
+ string formFieldName,
+ string? contentType,
+ Action> configureRequiredFields,
+ IReadOnlyDictionary optionalFields,
+ CancellationToken cancellationToken)
+ {
+ ArgumentNullException.ThrowIfNull(fileStream);
+ ArgumentException.ThrowIfNullOrWhiteSpace(fileName);
+ ArgumentException.ThrowIfNullOrWhiteSpace(formFieldName);
+
+ var payload = await ReadAllBytesAsync(fileStream, cancellationToken).ConfigureAwait(false);
+
+ return await ExecuteWithResilienceAsync(
+ () =>
+ {
+ var multipart = new MultipartFormDataContent();
+ var fields = new Dictionary();
+ configureRequiredFields(fields);
+
+ foreach (var field in fields)
+ {
+ if (string.IsNullOrWhiteSpace(field.Value))
+ {
+ continue;
+ }
+
+ multipart.Add(new StringContent(field.Value, Encoding.UTF8), field.Key);
+ }
+
+ foreach (var field in optionalFields)
+ {
+ if (string.IsNullOrWhiteSpace(field.Value))
+ {
+ continue;
+ }
+
+ multipart.Add(new StringContent(field.Value, Encoding.UTF8), field.Key);
+ }
+
+ var fileContent = new ByteArrayContent(payload);
+ fileContent.Headers.ContentType = new MediaTypeHeaderValue(contentType ?? "application/octet-stream");
+ multipart.Add(fileContent, formFieldName, fileName);
+
+ return new HttpRequestMessage(HttpMethod.Post, relativePath)
+ {
+ Content = multipart,
+ };
+ },
+ async (response, token) =>
+ {
+ var raw = await ToRawResponseAsync(response, token).ConfigureAwait(false);
+ return ParseSingleItemArray(raw.Body);
+ },
+ operationName,
+ cancellationToken).ConfigureAwait(false);
+ }
+
+ private Task DownloadFileAsync(string basePath, string filename, long? idFoto, string operationName, CancellationToken cancellationToken)
+ {
+ var escapedFileName = Uri.EscapeDataString(filename);
+ var relativePath = idFoto.HasValue
+ ? $"{basePath}/{escapedFileName}?id_foto={idFoto.Value.ToString(System.Globalization.CultureInfo.InvariantCulture)}"
+ : $"{basePath}/{escapedFileName}";
+
+ return ExecuteWithResilienceAsync(
+ () => new HttpRequestMessage(HttpMethod.Get, relativePath),
+ async (response, token) =>
+ {
+ var content = await response.Content.ReadAsByteArrayAsync(token).ConfigureAwait(false);
+ return new MediaFileResponse
+ {
+ StatusCode = response.StatusCode,
+ Content = content,
+ ContentType = response.Content.Headers.ContentType?.MediaType,
+ FileName = response.Content.Headers.ContentDisposition?.FileNameStar ?? response.Content.Headers.ContentDisposition?.FileName,
+ Headers = BuildHeaders(response),
+ };
+ },
+ operationName,
+ cancellationToken);
+ }
+
+ private async Task ExecuteWithResilienceAsync(
+ Func requestFactory,
+ Func> responseFactory,
+ string operationName,
+ CancellationToken cancellationToken)
+ {
+ var options = _options.Value;
+ Exception? lastException = null;
+
+ for (var attempt = 0; attempt <= options.RetryCount; attempt++)
+ {
+ using var request = requestFactory();
+ using var timeoutCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
+ timeoutCts.CancelAfter(options.RequestTimeout);
+
+ HttpResponseMessage? response = null;
+
+ try
+ {
+ response = await _httpClient
+ .SendAsync(request, HttpCompletionOption.ResponseHeadersRead, timeoutCts.Token)
+ .ConfigureAwait(false);
+
+ if (IsRetryableStatusCode(response.StatusCode) && attempt < options.RetryCount)
+ {
+ _logger.LogWarning(
+ "Operation {OperationName} received retryable status code {StatusCode} at attempt {Attempt}/{MaxAttempts}.",
+ operationName,
+ (int)response.StatusCode,
+ attempt + 1,
+ options.RetryCount + 1);
+
+ await DelayBeforeRetryAsync(options, attempt, cancellationToken).ConfigureAwait(false);
+ continue;
+ }
+
+ return await responseFactory(response, cancellationToken).ConfigureAwait(false);
+ }
+ catch (OperationCanceledException ex) when (!cancellationToken.IsCancellationRequested)
+ {
+ lastException = ex;
+
+ if (attempt < options.RetryCount)
+ {
+ _logger.LogWarning(ex, "Operation {OperationName} timed out at attempt {Attempt}/{MaxAttempts}.", operationName, attempt + 1, options.RetryCount + 1);
+ await DelayBeforeRetryAsync(options, attempt, cancellationToken).ConfigureAwait(false);
+ continue;
+ }
+
+ _logger.LogError(ex, "Operation {OperationName} timed out after {MaxAttempts} attempts.", operationName, options.RetryCount + 1);
+ throw;
+ }
+ catch (HttpRequestException ex)
+ {
+ lastException = ex;
+
+ if (attempt < options.RetryCount)
+ {
+ _logger.LogWarning(ex, "Operation {OperationName} failed with transient HTTP error at attempt {Attempt}/{MaxAttempts}.", operationName, attempt + 1, options.RetryCount + 1);
+ await DelayBeforeRetryAsync(options, attempt, cancellationToken).ConfigureAwait(false);
+ continue;
+ }
+
+ _logger.LogError(ex, "Operation {OperationName} failed with HTTP error after {MaxAttempts} attempts.", operationName, options.RetryCount + 1);
+ throw;
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Operation {OperationName} failed with unexpected error at attempt {Attempt}/{MaxAttempts}.", operationName, attempt + 1, options.RetryCount + 1);
+ throw;
+ }
+ finally
+ {
+ response?.Dispose();
+ }
+ }
+
+ throw new HttpRequestException($"Operation '{operationName}' failed after {options.RetryCount + 1} attempts.", lastException);
+ }
+
+ private static bool IsRetryableStatusCode(HttpStatusCode statusCode)
+ {
+ return statusCode is HttpStatusCode.RequestTimeout
+ or HttpStatusCode.TooManyRequests
+ or HttpStatusCode.BadGateway
+ or HttpStatusCode.ServiceUnavailable
+ or HttpStatusCode.GatewayTimeout
+ or HttpStatusCode.InternalServerError;
+ }
+
+ private static async Task DelayBeforeRetryAsync(CatalogCommunicationOptions options, int attempt, CancellationToken cancellationToken)
+ {
+ var delay = TimeSpan.FromMilliseconds(options.RetryBaseDelay.TotalMilliseconds * Math.Pow(2, attempt));
+ await Task.Delay(delay, cancellationToken).ConfigureAwait(false);
+ }
+
+ private static FormUrlEncodedContent BuildFormContent(IReadOnlyDictionary formFields)
+ {
+ var pairs = formFields
+ .Where(kvp => !string.IsNullOrWhiteSpace(kvp.Value))
+ .Select(kvp => new KeyValuePair(kvp.Key, kvp.Value!));
+
+ return new FormUrlEncodedContent(pairs);
+ }
+
+ private static string AppendQuery(string path, IReadOnlyDictionary? query)
+ {
+ if (query is null || query.Count == 0)
+ {
+ return path;
+ }
+
+ var encodedPairs = query
+ .Where(kvp => !string.IsNullOrWhiteSpace(kvp.Value))
+ .Select(kvp => $"{Uri.EscapeDataString(kvp.Key)}={Uri.EscapeDataString(kvp.Value!)}")
+ .ToArray();
+
+ if (encodedPairs.Length == 0)
+ {
+ return path;
+ }
+
+ var separator = path.Contains('?', StringComparison.Ordinal) ? "&" : "?";
+ return string.Concat(path, separator, string.Join("&", encodedPairs));
+ }
+
+ private static async Task ToRawResponseAsync(HttpResponseMessage response, CancellationToken cancellationToken)
+ {
+ var body = await response.Content.ReadAsStringAsync(cancellationToken).ConfigureAwait(false);
+
+ return new RawEndpointResponse
+ {
+ StatusCode = response.StatusCode,
+ Body = body,
+ Headers = BuildHeaders(response),
+ };
+ }
+
+ private static IReadOnlyDictionary> BuildHeaders(HttpResponseMessage response)
+ {
+ var headers = new Dictionary>(StringComparer.OrdinalIgnoreCase);
+
+ foreach (var header in response.Headers)
+ {
+ headers[header.Key] = header.Value.ToArray();
+ }
+
+ foreach (var header in response.Content.Headers)
+ {
+ headers[header.Key] = header.Value.ToArray();
+ }
+
+ return headers;
+ }
+
+ private static TUpload? ParseSingleItemArray(string json)
+ {
+ if (string.IsNullOrWhiteSpace(json))
+ {
+ return default;
+ }
+
+ var items = JsonSerializer.Deserialize>(json, JsonOptions);
+ return items is { Count: > 0 } ? items[0] : default;
+ }
+
+ private static async Task ReadAllBytesAsync(Stream stream, CancellationToken cancellationToken)
+ {
+ if (stream.CanSeek)
+ {
+ stream.Position = 0;
+ }
+
+ using var memoryStream = new MemoryStream();
+ await stream.CopyToAsync(memoryStream, cancellationToken).ConfigureAwait(false);
+ return memoryStream.ToArray();
+ }
+
+ private string GetAdminPagePath(string pageName)
+ {
+ var basePath = _options.Value.AdminPageBasePath.Trim('/');
+ return $"{basePath}/{pageName}.abl";
+ }
+
+ private string GetReceiveFilePath()
+ {
+ var value = _options.Value.ReceiveFilePath;
+ if (string.IsNullOrWhiteSpace(value))
+ {
+ return "ReceiveFile.abl";
+ }
+
+ return value.Trim();
+ }
+}
diff --git a/Catalog.sln b/Catalog.sln
index a5fd6f7..5d1d09f 100644
--- a/Catalog.sln
+++ b/Catalog.sln
@@ -15,6 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared.Tests", "MaddoS
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared.Benchmarks", "MaddoShared.Benchmarks\MaddoShared.Benchmarks.csproj", "{07499348-8C15-4DCC-8316-4AD121A43C38}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Catalog.Communication", "Catalog.Communication\Catalog.Communication.csproj", "{EF5D3B7E-F380-4976-A0A9-085FEA157F79}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared.ImageSharpTests", "MaddoShared.ImageSharpTests\MaddoShared.ImageSharpTests.csproj", "{1528903F-3BF9-599C-2DD0-0AF7B5706675}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -73,6 +77,30 @@ Global
{07499348-8C15-4DCC-8316-4AD121A43C38}.Release|x64.Build.0 = Release|Any CPU
{07499348-8C15-4DCC-8316-4AD121A43C38}.Release|x86.ActiveCfg = Release|Any CPU
{07499348-8C15-4DCC-8316-4AD121A43C38}.Release|x86.Build.0 = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|x64.Build.0 = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Debug|x86.Build.0 = Debug|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|x64.ActiveCfg = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|x64.Build.0 = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|x86.ActiveCfg = Release|Any CPU
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79}.Release|x86.Build.0 = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|x64.Build.0 = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Debug|x86.Build.0 = Debug|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|x64.ActiveCfg = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|x64.Build.0 = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|x86.ActiveCfg = Release|Any CPU
+ {1528903F-3BF9-599C-2DD0-0AF7B5706675}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -80,6 +108,7 @@ Global
GlobalSection(NestedProjects) = preSolution
{AEBFE9E3-277C-4A7B-8448-145D1B11998B} = {A3D50937-74F6-4DC8-8D89-B534B484C0F9}
{59952BE8-20B4-4BF2-9367-705F41395265} = {5F0BEF23-B1EA-4100-A772-DC455D40B1C1}
+ {EF5D3B7E-F380-4976-A0A9-085FEA157F79} = {A3D50937-74F6-4DC8-8D89-B534B484C0F9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0E3ABC63-8601-4DAC-AFEA-33F3E8E36757}
diff --git a/CatalogLib/CatalogLib.csproj b/CatalogLib/CatalogLib.csproj
deleted file mode 100644
index 631add3..0000000
--- a/CatalogLib/CatalogLib.csproj
+++ /dev/null
@@ -1,196 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}
- Library
- Properties
- CatalogLib
- CatalogLib
- v4.8
- 512
- SAK
- SAK
- SAK
- SAK
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
- bin\x64\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
-
-
-
- ..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
-
-
- ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
- True
-
-
- ..\packages\SixLabors.Core.1.0.0-beta0002\lib\netstandard1.1\SixLabors.Core.dll
-
-
- ..\packages\SixLabors.Fonts.1.0.0-beta0001\lib\netstandard1.3\SixLabors.Fonts.dll
-
-
- ..\packages\SixLabors.ImageSharp.1.0.0-beta0001\lib\netstandard1.3\SixLabors.ImageSharp.dll
-
-
- ..\packages\SixLabors.ImageSharp.Drawing.1.0.0-beta0001\lib\netstandard1.1\SixLabors.ImageSharp.Drawing.dll
-
-
- ..\packages\SixLabors.Shapes.1.0.0-beta0001\lib\netstandard1.1\SixLabors.Shapes.dll
-
-
- ..\packages\SixLabors.Shapes.Text.1.0.0-beta0001\lib\netstandard1.1\SixLabors.Shapes.Text.dll
-
-
-
- ..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll
-
-
- ..\packages\System.Buffers.4.4.0\lib\netstandard1.1\System.Buffers.dll
-
-
- ..\packages\System.Collections.Immutable.1.4.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
-
-
-
- ..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
-
-
-
- ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
-
-
-
- ..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
-
-
- ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll
-
-
-
- ..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll
-
-
- ..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll
-
-
- ..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll
-
-
- ..\packages\System.Memory.4.4.0-preview2-25405-01\lib\netstandard1.0\System.Memory.dll
-
-
- ..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll
-
-
- ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
-
-
-
- ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll
-
-
- ..\packages\System.Runtime.CompilerServices.Unsafe.4.4.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll
-
-
- ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
-
-
- ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net46\System.Security.Cryptography.Algorithms.dll
-
-
- ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
-
-
- ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
-
-
- ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net46\System.Security.Cryptography.X509Certificates.dll
-
-
- ..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll
-
-
-
-
-
-
-
- ..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {44465926-240d-473f-90b8-786ba4384406}
- CatalogVbLib
-
-
- {e93daae6-4aa9-4a45-afb6-58209b3ad3c9}
- MaddoLibrary.Base.NET46
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CatalogLib/Class1.cs b/CatalogLib/Class1.cs
deleted file mode 100644
index a63356c..0000000
--- a/CatalogLib/Class1.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace CatalogLib
-{
- public class Class1
- {
- }
-}
diff --git a/CatalogLib/Enums.cs b/CatalogLib/Enums.cs
deleted file mode 100644
index 831a7c4..0000000
--- a/CatalogLib/Enums.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-namespace CatalogLib
-{
- public enum Positions
- {
- Alto,
- Centro,
- Basso
- }
-
- public enum Alignments
- {
- Sinistra,
- Centro,
- Destra
- }
-
- public enum ResizeModes
- {
- Bicubic,
- Box,
- CatmullRom,
- Hermite,
- Lanczos2,
- Lanczos3,
- Lanczos5,
- Lanczos8,
- MitchellNetravali,
- NearestNeighbor,
- Robidoux,
- Spline,
- Triangle,
- Welch
-
- }
-
- public enum ResizeDimensions
- {
- LatoLungo,
- LatoCorto
- }
-}
\ No newline at end of file
diff --git a/CatalogLib/IImageProcessor.cs b/CatalogLib/IImageProcessor.cs
deleted file mode 100644
index fc08d94..0000000
--- a/CatalogLib/IImageProcessor.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace CatalogLib
-{
- public interface IImageProcessor
- {
- void Start(FileInfo workFile);
- }
-}
diff --git a/CatalogLib/ImageCreator.cs b/CatalogLib/ImageCreator.cs
deleted file mode 100644
index 869544b..0000000
--- a/CatalogLib/ImageCreator.cs
+++ /dev/null
@@ -1,618 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Drawing.Drawing2D;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Drawing;
-using System.Drawing.Imaging;
-using CatalogVbLib;
-
-namespace CatalogLib
-{
- public class ImageCreator
- {
-
- #region Variabili
-
- private SinglePicData _singlePicData;
- private PicSettings _picSettings;
-
- private Rotazione _rotation;
-
- //private bool FotoRuotaADestra = false;
-
- //private bool FotoRuotaASinistra = false;
- private string TempMinText = "";
- //Private crFont1 As Font
-
- private string _NomeFileChild;
- private DirectoryInfo _SourceDir;
- private DirectoryInfo _DestDirStart;
-
- private DirectoryInfo _DestDir;
-
- private FileInfo _workFile;
- private string testoFirma;
- private string testoFirmaV;
- private int alphaScelta;
- private int _dimensioneStandard;
- private int _dimensioneStandardMiniatura;
- private DateTime dataFoto;
- private DateTime dataPartenzaI;
- private string testoOrario;
- private string testoFirmaPiccola;
- private Size thumbSizeSmall;
- private Size thumbSizeBig;
- private string nomeFileSmall;
- private string nomeFileBig;
-
- private string nomeFileBig2;
- private float yPosFromBottom;
- private float yPosFromBottom1;
- private float yPosFromBottom2;
- private float yPosFromBottom3;
- private float yPosFromBottom4;
-
- public string NomeFileChild
- {
- get { return _NomeFileChild; }
- set { _NomeFileChild = value; }
- }
-
- public DirectoryInfo DestDirStart
- {
- get { return _DestDirStart; }
- set { _DestDirStart = value; }
- }
-
- public DirectoryInfo SourceDir
- {
- get { return _SourceDir; }
- set { _SourceDir = value; }
- }
-
- public DirectoryInfo DestDir
- {
- get { return _DestDir; }
- set { _DestDir = value; }
- }
-
- public FileInfo WorkFile
- {
- get { return _workFile; }
- set { _workFile = value; }
- }
-
- #endregion
-
- //public ImageCreator(string nomeFileChild, DirectoryInfo sourceDir, DirectoryInfo destDir, DirectoryInfo destDirStart)
- //{
- // this.NomeFileChild = nomeFileChild;
- // SourceDir = sourceDir;
- // DestDir = destDir;
- // DestDirStart = destDirStart;
- // WorkFile = new FileInfo(nomeFileChild);
- //}
-
- //public ImageCreator(string nomeFileChild, DirectoryInfo sourceDir, DirectoryInfo destDir)
- //{
- // NomeFileChild = nomeFileChild;
- // DestDir = destDir;
- //}
-
- //public ImageCreator(FileInfo file, DirectoryInfo destination)
- //{
- // WorkFile = file;
- // DestDir = destination;
- //}
-
- public ImageCreator(SinglePicData picData, PicSettings picSettings)
- {
-
- }
-
- ///
- /// Elabora l'immagine
- ///
- /// Non ne ho idea. ToDo: capire a che serve
- public void CreaImmagineThread(string info)
- {
-
- //CatalogLib.PicSettings ps = new CatalogLib.PicSettings();
-
- PreparaVariabili();
-
- // Workfile deve essere impostato esternamente. ToDo: passarlo come parametro così da potere riutilizzare la classe senza eliminarla e ricrearla
- Image g = Image.FromFile(WorkFile.FullName);
-
- ImpostaTestoExtra(g);
-
- // Rotazione immagine in base ai dati EXIF
- Rotation(ref g);
-
- // Impostazione del formato
- // todo: mettere una selezione più specifica invece di assumere jpg
- ImageFormat currentFormat = g.RawFormat;
- if (_picSettings.UsaForzaJpg)
- {
- currentFormat = ImageFormat.Jpeg;
- }
-
- PrepareThumbnailSize(g);
-
- // big image resolution
- var imgOutputBig = new Bitmap(g, thumbSizeBig.Width, thumbSizeBig.Height);
- imgOutputBig.SetResolution(g.HorizontalResolution, g.VerticalResolution);
-
-
- if (_picSettings.CreaMiniature)
- {
-
- CreaMiniature(g, imgOutputBig, currentFormat);
- }
-
-
-
-
-
-
- }
-
-
- private void Rotation(ref System.Drawing.Image g)
- {
- //FotoRuotaADestra = false;
- //FotoRuotaASinistra = false;
- _rotation = Rotazione.Normale;
-
- if (_picSettings.GeneraleRotazioneAutomatica)
- {
- // ci sono dati exif
- if (g.PropertyIdList.Length > 0)
- {
- ExifReader DatiExif = new ExifReader((Bitmap)g);
-
- switch (DatiExif.Orientation)
- {
- case ExifReader.Orientations.BottomLeft:
-
- break;
- case ExifReader.Orientations.BottomRight:
-
- break;
- case ExifReader.Orientations.LeftTop:
-
- break;
- case ExifReader.Orientations.LftBottom:
- //FotoRuotaASinistra = true;
- _rotation = Rotazione.Sinistra;
- break;
- case ExifReader.Orientations.RightBottom:
-
- break;
- case ExifReader.Orientations.RightTop:
-
- break;
- case ExifReader.Orientations.TopLeft:
-
- break;
- case ExifReader.Orientations.TopRight:
-
- break;
- }
- }
- }
-
- if (_rotation == Rotazione.Sinistra)
- {
- g.RotateFlip(RotateFlipType.Rotate270FlipNone);
- }else
- if (_rotation == Rotazione.Destra)
- {
- g.RotateFlip(RotateFlipType.Rotate90FlipNone);
- }
- // todo: capire quando va ruotato a destra
- }
-
- ///
- /// Aggiunge orario e tempo gara
- ///
- ///
- private void ImpostaTestoExtra(Image g)
- {
- if (_picSettings.UsaOrarioTestoApplicare ||
- _picSettings.UsaTempoGaraTestoApplicare ||
- _picSettings.UsaOrarioMiniatura ||
- _picSettings.TestoMin ||
- _picSettings.AggTempoGaraMin ||
- _picSettings.AggNumTempMin)
- {
- if (g.PropertyIdList.Length > 0) //ci sono dati exif
- {
- var datiExix = new ExifReader((Bitmap)g);
- dataFoto = datiExix.DateTimeOriginal;
- testoFirma = _picSettings.TestoFirmaStart;
- testoFirmaV = _picSettings.TestoFirmaStartV;
-
- if (dataFoto.Year != 1)
- {
- testoFirmaPiccola = dataFoto.ToShortDateString();
- if (_picSettings.UsaOrarioTestoApplicare)
- {
- testoFirma = $"{testoFirma} {dataFoto.ToShortDateString()} {dataFoto.ToLongDateString()}";
- testoFirmaV = $"{testoFirmaV} {dataFoto.ToShortDateString()} {dataFoto.ToLongDateString()}";
- //testoFirma = string.Concat(testoFirma, " ", dataFoto.ToShortDateString(), " ", dataFoto.ToLongDateString());
- //testoFirmaV = string.Concat(testoFirmaV, " ", dataFoto.ToShortDateString(), " ", dataFoto.ToLongDateString());
-
- }
- if (_picSettings.UsaTempoGaraTestoApplicare)
- {
- //TimeSpan orario = dataPartenzaI - dataFoto;
-
- string orarioString = (dataPartenzaI - dataFoto).ToString(@"hh\:mm\:ss");
-
- testoFirma = $"{testoFirma} {testoOrario} {orarioString}";
- testoFirmaV = $"{testoFirmaV} {testoOrario} {orarioString}";
-
- //testoFirma = string.Concat(testoFirma, " ", testoOrario, orario.ToString(@"hh\:mm\:ss"));
- //testoFirmaV = string.Concat(testoFirmaV, " ", testoOrario, orario.ToString(@"hh\:mm\:ss"));
- }
- }
- }
- }
- else
- {
- testoFirma = _picSettings.TestoFirmaStart;
- testoFirmaV = _picSettings.TestoFirmaStartV;
- }
- }
-
- ///
- /// Preparazione delle variabili a valori di default e caricamento da impostazioni
- ///
- private void PreparaVariabili()
- {
- alphaScelta = (int)(255 * (100 - _picSettings.Trasparenza) / 100);
- testoFirma = string.Empty;
- testoFirmaV = string.Empty;
- dataPartenzaI = _picSettings.DataPartenza;
- testoOrario = _picSettings.TestoOrario;
- if (testoOrario.Length > 0)
- {
- testoOrario += " ";
- }
- testoFirmaPiccola = string.Empty;
- thumbSizeSmall = new Size();
- thumbSizeBig = new Size();
- nomeFileSmall = string.Empty;
- nomeFileBig2 = string.Empty;
- nomeFileBig = string.Empty;
- _dimensioneStandard = _picSettings.DimStandard;
- _dimensioneStandardMiniatura = _picSettings.DimStandardMiniatura;
-
- nomeFileSmall = _picSettings.Suffisso + WorkFile.Name;
- nomeFileBig = WorkFile.Name;
- }
-
- private void PrepareThumbnailSize(Image g)
- {
- if (g.Width > g.Height)
- {
- thumbSizeSmall = NewthumbSize(g.Width, g.Height, CatalogVbLib.PicSettings.LarghezzaSmall, "Larghezza");
- //Size sizeOrig = new Size(g.Width, g.Height);
- //thumbSizeBig = sizeOrig;
-
- thumbSizeBig = new Size(g.Width, g.Height);
- }
- else
- {
- thumbSizeSmall = NewthumbSize(g.Width, g.Height, CatalogVbLib.PicSettings.AltezzaSmall, "Altezza");
-
- thumbSizeBig = new Size(g.Width, g.Height);
- }
- }
-
- private void CreaMiniature(Image g, Bitmap imgOutputBig, ImageFormat thisFormat)
- {
-// CatalogLib.PicSettings ps = new PicSettings();
-
- if (_picSettings.TestoMin)
- {
- testoFirmaPiccola = nomeFileBig;
- }
- else if (_picSettings.AggNumTempMin)
- {
- testoFirmaPiccola = nomeFileBig + " ";
- }
-
- Font crFont1;
- Font crFont2;
- SizeF crSize1 = new SizeF();
- SizeF crSize2 = new SizeF();
-
- if (_picSettings.CreaMiniature)
- {
- if (!_picSettings.AggiungiScritteMiniature)
- {
- if (string.Equals(_picSettings.DirectorySorgente, _picSettings.DirectoryDestinazione, StringComparison.CurrentCultureIgnoreCase))
- {
- nomeFileSmall = nomeFileSmall.Substring(0, nomeFileSmall.Length - 4) + _picSettings.Codice +
- nomeFileSmall.Substring(nomeFileSmall.Length - 4);
- }
-
- if (_picSettings.UsaOrarioMiniatura ||
- _picSettings.TestoMin ||
- _picSettings.AggTempoGaraMin ||
- _picSettings.AggNumTempMin)
- {
- if (!string.IsNullOrWhiteSpace(testoFirmaPiccola))
- {
- Bitmap imgOutputSmall = (Bitmap)imgOutputBig.Clone();
-
- Graphics grPhoto1 = Graphics.FromImage(imgOutputSmall);
- grPhoto1.SmoothingMode = SmoothingMode.HighSpeed; //Todo: permettere di cambiare questo parametro
-
- int larghezzaStandard1;
-
- _dimensioneStandardMiniatura = 50;
- bool grassetto = _picSettings.Grassetto;
- crFont1 = new Font(_picSettings.IlFont, _dimensioneStandardMiniatura, grassetto ? FontStyle.Bold : FontStyle.Regular);
- crFont2 = new Font(_picSettings.IlFont, _dimensioneStandard, grassetto ? FontStyle.Bold : FontStyle.Regular);
-
- crSize1 = grPhoto1.MeasureString(testoFirmaPiccola, crFont1);
- crSize2 = grPhoto1.MeasureString(testoFirma, crFont1);
-
- larghezzaStandard1 = (int)crSize1.Width;
-
- if (crSize1.Width > g.Width)
- {
- int conta = _dimensioneStandardMiniatura;
- do
- {
- if (conta > 20)
- {
- conta -= 5;
- }
- else
- {
- conta -= 1;
- }
-
- crFont1 = new Font(_picSettings.IlFont, conta, grassetto ? FontStyle.Bold : FontStyle.Regular);
- crSize1 = grPhoto1.MeasureString(testoFirmaPiccola, crFont1);
-
- if (crSize1.Width < g.Width)
- {
- larghezzaStandard1 = (int)crSize1.Width;
- break;
- }
-
- } while (conta > 5);
- _dimensioneStandardMiniatura = conta;
-
- }
-
- switch (_picSettings.TextPosition.ToString().ToUpper())
- {
- case "ALTO":
- yPosFromBottom1 = _picSettings.Margine;
- yPosFromBottom4 = _picSettings.MargVert;
- break;
-
- case "BASSO":
- yPosFromBottom1 =
- (float)
- (g.Height - crSize1.Height - (g.Height * CatalogVbLib.PicSettings.Margine / 100));
- yPosFromBottom4 = (float)(g.Height - crSize1.Height - (g.Height * CatalogVbLib.PicSettings.MargVert / 100));
- break;
- }
-
-
- float xCenterOfImg1 = Single.NaN;
-
- StringFormat strFormat1 = new StringFormat();
-
- switch (_picSettings.Allineamento.ToUpper())
- {
- case "SINISTRA":
- xCenterOfImg1 = CatalogVbLib.PicSettings.Margine + (larghezzaStandard1 / 2);
- if ((larghezzaStandard1 / 2) > (g.Width / 2) - CatalogVbLib.PicSettings.Margine)
- {
- xCenterOfImg1 = g.Width / 2;
- }
- break;
-
- case "CENTRO":
- xCenterOfImg1 = (g.Width / 2);
- break;
-
- case "DESTRA":
- xCenterOfImg1 = (g.Width - CatalogVbLib.PicSettings.Margine - (larghezzaStandard1 / 2));
- if ((larghezzaStandard1 / 2) > (g.Width / 2) - CatalogVbLib.PicSettings.Margine)
- {
- xCenterOfImg1 = g.Width / 2;
- }
- break;
-
- }
-
- strFormat1.Alignment = StringAlignment.Center;
-
- SolidBrush semiTransBrush21 = new SolidBrush(Color.FromArgb(alphaScelta, 0, 0, 0));
- SolidBrush semiTransBrush1 = new SolidBrush(Color.FromArgb(alphaScelta, CatalogVbLib.PicSettings.fontColoreRGB));
-
- _dimensioneStandardMiniatura = CatalogVbLib.PicSettings.DimMin;
-
- if (_picSettings.Grassetto)
- {
- crFont1 = new Font(_picSettings.IlFont, _dimensioneStandardMiniatura, FontStyle.Bold);
- }
- else
- {
- crFont1 = new Font(_picSettings.IlFont, _dimensioneStandardMiniatura);
- }
-
- if (_picSettings.TestoMin)
- {
- grPhoto1.DrawString(nomeFileBig, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), strFormat1);
- grPhoto1.DrawString(nomeFileBig, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), strFormat1);
- }
- else if (_picSettings.AggTempoGaraMin & _picSettings.UsaTempoGaraTestoApplicare)
- {
- //TimeSpan orario = (dataPartenzaI - dataFoto) * 10000000; //todo
- TimeSpan orario = dataPartenzaI - dataFoto; //todo controllare se torna la roba giusta
-
- string tempStr = "";
-
-
-
- tempStr += Environment.NewLine + testoOrario + orario.Hours.ToString("00") + ":" +
- orario.Minutes.ToString("00") + ":" + orario.Seconds.ToString("00"); //todo: usare una stringa formato per sta boiata
-
- grPhoto1.DrawString(tempStr, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1));
- grPhoto1.DrawString(tempStr, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), strFormat1);
- }
- else if (_picSettings.AggNumTempMin) //todo semplificare la logica di sti eif
- {
- TimeSpan orario = dataPartenzaI - dataFoto; //todo controllare se torna la roba giusta
- string tempStr = "";
- tempStr += nomeFileBig + Environment.NewLine + testoOrario + orario.Hours.ToString("00") + ":" +
- orario.Minutes.ToString("00") + ":" + orario.Seconds.ToString("00"); //todo: usare una stringa formato per sta boiata
-
- grPhoto1.DrawString(tempStr, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1));
- grPhoto1.DrawString(tempStr, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), strFormat1);
- }
- else
- {
- grPhoto1.DrawString(testoFirmaPiccola, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), strFormat1);
- grPhoto1.DrawString(testoFirmaPiccola, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), strFormat1);
- }
-
-
- //Salva miniatura
-
- imgOutputSmall.Save(Path.Combine(DestDir.FullName, "Temp_" + nomeFileSmall), thisFormat);
- float width = 0;
- float height = 0;
- //float scale = Math.Min(width/imgOutputSmall.Width, height/imgOutputSmall.Height);
- using (var bmp = new Bitmap(thumbSizeSmall.Width, thumbSizeSmall.Height))
- {
- using (var graph = Graphics.FromImage(bmp))
- {
- // uncomment for higher quality output
- //graph.InterpolationMode = InterpolationMode.High;
- //graph.CompositingQuality = CompositingQuality.HighQuality;
- //graph.SmoothingMode = SmoothingMode.AntiAlias;
-
- graph.DrawImage(imgOutputSmall, new Rectangle(0, 0, (int)width, (int)height));
-
- bmp.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
- }
- }
- //var bmp = new Bitmap(thumbSizeSmall.Width, thumbSizeSmall.Height);
- //var graph = Graphics.FromImage(bmp);
-
-
-
-// 10 down vote accepted
-
-
-//Target parameters:
-
-//float width = 1024;
-//float height = 768;
-//var brush = new SolidBrush(Color.Black);
-
-//Your original file:
-
-//var image = new Bitmap(file);
-
-//Target sizing (scale factor):
-
-//float scale = Math.Min(width / image.Width, height / image.Height);
-
-//The resize including brushing canvas first:
-
-//var bmp = new Bitmap((int)width, (int)height);
-//var graph = Graphics.FromImage(bmp);
-
-//// uncomment for higher quality output
-////graph.InterpolationMode = InterpolationMode.High;
-////graph.CompositingQuality = CompositingQuality.HighQuality;
-////graph.SmoothingMode = SmoothingMode.AntiAlias;
-
-//var scaleWidth = (int)(image.Width * scale);
-//var scaleHeight = (int)(image.Height * scale);
-
-//graph.FillRectangle(brush, new RectangleF(0, 0, width, height));
-//graph.DrawImage(image, new Rectangle(((int)width - scaleWidth)/2, ((int)height - scaleHeight)/2, scaleWidth, scaleHeight));
-
-
-
- //imgOutputSmall.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
-
-
- //Image g2 = Image.FromFile(Path.Combine(DestDir.FullName, "Temp_" + nomeFileSmall));
- //Bitmap imgOutputSmall2 = new Bitmap(g2, thumbSizeSmall.Width, thumbSizeSmall.Height);
- //imgOutputSmall2.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
-
-
-
- }
- }
-
-
- }
- }
-
-
-
- }
-
-
-
- ///
- /// Calculate the Size of the New image
- ///
- /// Larghezza
- /// Altezza
- ///
- ///
- ///
- ///
- private Size NewthumbSize(int currentwidth, int currentheight, int MaxPixel, string TipoSize)
- {
- // e
- //*** Larghezza, Altezza, Auto
-
- double tempMultiplier = 0;
-
- if (TipoSize.ToUpper() == "Larghezza".ToUpper())
- {
- tempMultiplier = MaxPixel / currentwidth;
- }
- else if (TipoSize.ToUpper() == "Altezza".ToUpper())
- {
- tempMultiplier = MaxPixel / currentheight;
- }
- else
- {
- // portrait
- if (currentheight > currentwidth)
- {
- tempMultiplier = MaxPixel / currentheight;
- }
- else
- {
- tempMultiplier = MaxPixel / currentwidth;
- }
- }
-
- Size NewSize = new Size(Convert.ToInt32(currentwidth * tempMultiplier), Convert.ToInt32(currentheight * tempMultiplier));
-
- return NewSize;
- }
- }
-}
diff --git a/CatalogLib/ImageCreator2.cs b/CatalogLib/ImageCreator2.cs
deleted file mode 100644
index c10607d..0000000
--- a/CatalogLib/ImageCreator2.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using CatalogVbLib;
-
-namespace CatalogLib
-{
- public class ImageCreator2 : IImageProcessor
- {
- private PicSettings _picSettings = PicSettings.Instance;
-
- private FileInfo _workFile;
-
- private Image _workingImage;
-
- private Rotazione _rotation;
-
- private ImageFormat _currentFormat;
-
- private Size _newImageSize;
-
- private Bitmap _outputImage;
-
- private DirectoryInfo _destDir;
-
- private string _nomeFileBig;
-
- public void Start(FileInfo workFile)
- {
- _workFile = workFile;
-
- _workingImage = Image.FromFile(workFile.FullName);
-
- _destDir = new DirectoryInfo(_picSettings.DirectoryDestinazione);
- _nomeFileBig = _workFile.Name;
-
- CalculateImageSize();
-
- ElaborazioneTesto();
-
- ElaborazioneRotazione();
-
- SetImageFormat();
-
-
- FinalElaboration();
-
- //CreaMiniature
- }
-
- private void FinalElaboration()
- {
- _outputImage = new Bitmap(_workingImage, _newImageSize.Width, _newImageSize.Height);
- _outputImage.SetResolution(_workingImage.HorizontalResolution, _workingImage.VerticalResolution);
-
-
- SavePic(_outputImage, Path.Combine(_destDir.FullName, _nomeFileBig));
- }
-
- private void SavePic(Bitmap imageToSave, string fileName)
- {
- var selectedEncoder = GetEncoder(_currentFormat);
- var encoder = System.Drawing.Imaging.Encoder.Quality;
- var encoderParameters = new EncoderParameters(1);
-
-
- if (Equals(_currentFormat, ImageFormat.Jpeg))
- {
- var encoderParameter = new EncoderParameter(encoder, _picSettings.CompressioneJpeg);
- encoderParameters.Param[0] = encoderParameter;
- }
-
- imageToSave.Save(fileName, selectedEncoder,encoderParameters);
- imageToSave.Dispose();
- }
-
- private ImageCodecInfo GetEncoder(ImageFormat format)
- {
- var codecs = ImageCodecInfo.GetImageDecoders();
-
- return codecs.FirstOrDefault(c => c.FormatID == format.Guid);
- }
-
- private void ElaborazioneTesto()
- {
- if (_picSettings.EnableText)
- {
- // todo: elaborazione testo
- }
- }
-
- private void CalculateImageSize()
- {
- _newImageSize = new Size(_workingImage.Width, _workingImage.Height);
- }
-
- private void ElaborazioneRotazione()
- {
-
- _rotation = Rotazione.Normale;
-
- if (_picSettings.GeneraleRotazioneAutomatica)
- {
- // ci sono dati exif
- if (_workingImage.PropertyIdList.Length > 0)
- {
- ExifReader DatiExif = new ExifReader((Bitmap)_workingImage);
-
- switch (DatiExif.Orientation)
- {
- case ExifReader.Orientations.BottomLeft:
-
- break;
- case ExifReader.Orientations.BottomRight:
-
- break;
- case ExifReader.Orientations.LeftTop:
-
- break;
- case ExifReader.Orientations.LftBottom:
- //FotoRuotaASinistra = true;
- _rotation = Rotazione.Sinistra;
- break;
- case ExifReader.Orientations.RightBottom:
-
- break;
- case ExifReader.Orientations.RightTop:
-
- break;
- case ExifReader.Orientations.TopLeft:
-
- break;
- case ExifReader.Orientations.TopRight:
-
- break;
- }
- }
- }
-
- if (_rotation == Rotazione.Sinistra)
- {
- _workingImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
- }
- else
- if (_rotation == Rotazione.Destra)
- {
- _workingImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
- }
- }
-
- private void SetImageFormat()
- {
- _currentFormat = _workingImage.RawFormat;
- if (_picSettings.GeneraleForzaJPG)
- {
- _currentFormat = ImageFormat.Jpeg;
- }
- }
-
- }
-}
diff --git a/CatalogLib/ImgSharpCreator.cs b/CatalogLib/ImgSharpCreator.cs
deleted file mode 100644
index aa053a6..0000000
--- a/CatalogLib/ImgSharpCreator.cs
+++ /dev/null
@@ -1,549 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Numerics;
-using System.Threading.Tasks;
-using MaddoLibrary.Base.Log;
-using SixLabors.Fonts;
-using SixLabors.ImageSharp;
-using SixLabors.ImageSharp.Drawing;
-using SixLabors.ImageSharp.Formats.Jpeg;
-using SixLabors.ImageSharp.MetaData.Profiles.Exif;
-using SixLabors.ImageSharp.Processing;
-using SixLabors.Primitives;
-using Font = SixLabors.Fonts.Font;
-using FontFamily = SixLabors.Fonts.FontFamily;
-using FontStyle = SixLabors.Fonts.FontStyle;
-using Rgba32 = SixLabors.ImageSharp.Rgba32;
-using Image = SixLabors.ImageSharp.Image;
-
-namespace CatalogLib
-{
- public class ImgSharpCreator : IImageProcessor
- {
- private Image _logo;
- public ImgSharpCreator()
- {
- if (!PicSettings.Instance.EnableLogo) return;
- if (string.IsNullOrWhiteSpace(PicSettings.Instance.LogoPath)) return;
- if (!File.Exists(PicSettings.Instance.LogoPath)) return;
-
- _logo = Image.Load(PicSettings.Instance.LogoPath);
-
- }
- private FileInfo _currentFile;
- public void Start(FileInfo workFile)
- {
-
- Stopwatch s = new Stopwatch();
- s.Start();
-
- _currentFile = workFile;
-
-
-
- using (Image image = Image.Load(workFile.FullName)/* new Image(workFile.FullName)*/)
- {
- MaddoLogger.Log("Loaded Image: {0}", workFile.FullName);
- //image.Rotate(-90);
- bool isRotated;
-
- var orientation = image.MetaData.ExifProfile.GetValue(ExifTag.Orientation);
- if ((ushort)orientation.Value != 1)
- {
- isRotated = true;
- }
- else
- {
- isRotated = false;
- }
-
- if (PicSettings.Instance.FotoRidimensiona)
- {
- Resize(image);
- }
-
-
- if (PicSettings.Instance.GeneraleRotazioneAutomatica)
- {
- image.Mutate(img => img.AutoOrient());
- MaddoLogger.Log("Rotated Image: {0}", workFile.FullName);
- //image.AutoOrient();
-
- //var exif = image.MetaData.ExifProfile;
- //if (exif != null)
- //{
- // var o = exif.GetValue(ExifTag.Orientation);
- // if (o != null)
- // {
- // var v = (ushort)o.Value;
-
-
-
- // switch (v)
- // {
-
-
- // //1 = Horizontal(normal)
- // //2 = Mirror horizontal
- // //3 = Rotate 180
- // //4 = Mirror vertical
- // //5 = Mirror horizontal and rotate 270 CW
- // //6 = Rotate 90 CW
- // //7 = Mirror horizontal and rotate 90 CW
- // //8 = Rotate 270 CW
- // case 1:
- // break;
- // case 2:
- // image.Flip(FlipType.Horizontal);
- // break;
- // case 3:
- // //image.Rotate(180f);
-
- // //image.Rotate(90);
- // image.Rotate(RotateType.Rotate180);
- // break;
- // case 4:
- // image.Flip(FlipType.Vertical);
- // break;
- // case 5:
- // image.RotateFlip(RotateType.Rotate270, FlipType.Horizontal);
- // break;
- // case 6:
- // image.Rotate(RotateType.Rotate90);
- // break;
- // case 7:
- // image.RotateFlip(RotateType.Rotate90, FlipType.Horizontal);
- // break;
- // case 8:
- // //image.Rotate(-90);
- // image.Rotate(RotateType.Rotate270);
-
- // image.MetaData.ExifProfile.SetValue(ExifTag.Orientation, new ExifValue(exif.GetValue(ExifTag.Orientation)).Value = (ushort)1);
- // break;
-
-
- // }
- // }
- //}
-
- }
-
- if (PicSettings.Instance.EnableText)
- {
- //SetTextTest(image);
- SetExtraText(image, isRotated);
-
-
- MaddoLogger.Log("Drawn text on Image: {0}", workFile.FullName);
- }
-
- //JpegDecoder j = new JpegDecoder();
- var va = Vector.IsHardwareAccelerated;
-
- MaddoLogger.Log("Hardware Accelerated: {0}", va);
- //image.Resize(PicSettings.Instance.FotoLarghezza, PicSettings.Instance.FotoAltezza);
-
- //image.Resize(2240, 2240);
- //var fff = FontCollection.SystemFonts.Find(PicSettings.Instance.NomeFont);
- //var font = new Font(fff, (float)PicSettings.Instance.DimensioneFont, FontStyle.Regular);
- //image.DrawText("sssssssssssssssssssssssssssssssssssssssssssssss", font, Color.Black, new Vector2(200, 200));
- image.Save(Path.Combine(PicSettings.Instance.DirectoryDestinazione, workFile.Name), new JpegEncoder() { Quality = PicSettings.Instance.CompressioneJpeg });
- //image.Resize(200, 200).Save("");
-
- MaddoLogger.Log("Saved Image: {0} to: {1}", workFile.FullName, Path.Combine(PicSettings.Instance.DirectoryDestinazione, workFile.Name));
- }
- s.Stop();
- MaddoLogger.Log("Time Taken for {0}: {1}", workFile.FullName, s.Elapsed);
- }
-
- private void Resize(Image image)
- {
- IResampler resampler;
- switch (PicSettings.Instance.ResizeMode)
- {
- case ResizeModes.Bicubic:
- resampler = new BicubicResampler();
- break;
- case ResizeModes.Box:
- resampler = new BoxResampler();
- break;
- case ResizeModes.CatmullRom:
- resampler = new CatmullRomResampler();
- break;
- case ResizeModes.Hermite:
- resampler = new HermiteResampler();
- break;
- case ResizeModes.Lanczos2:
- resampler = new Lanczos2Resampler();
- break;
- case ResizeModes.Lanczos3:
- resampler = new Lanczos3Resampler();
- break;
- case ResizeModes.Lanczos5:
- resampler = new Lanczos5Resampler();
- break;
- case ResizeModes.Lanczos8:
- resampler = new Lanczos8Resampler();
- break;
- case ResizeModes.MitchellNetravali:
- resampler = new MitchellNetravaliResampler();
- break;
- case ResizeModes.NearestNeighbor:
- resampler = new NearestNeighborResampler();
- break;
- case ResizeModes.Robidoux:
- resampler = new RobidouxResampler();
- break;
- case ResizeModes.Spline:
- resampler = new SplineResampler();
- break;
- case ResizeModes.Triangle:
- resampler = new TriangleResampler();
- break;
- case ResizeModes.Welch:
- resampler = new WelchResampler();
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
- // todo calcolare ridimensionamento
- var size = new Size(PicSettings.Instance.FotoLarghezza, PicSettings.Instance.FotoAltezza);
- if (PicSettings.Instance.FotoMantieniDimensioni)
- {
- size = ResizeImage(image, size, PicSettings.Instance.ResizeDimension);
- image.Mutate(x => x.Resize((size.Width), (size.Height), resampler));
-
- //Width Formula:
- //original height / original width * new width = new height
- //Height Formula:
- //orignal width / orignal height * new height = new width
- }
- else
- {
-
- image.Mutate(x => x.Resize(PicSettings.Instance.FotoAltezza, PicSettings.Instance.FotoLarghezza, resampler));
- }
-
- }
-
- private Size ResizeImage(Image image, Size size, ResizeDimensions side)
- {
- switch (side)
- {
- case ResizeDimensions.LatoLungo:
- size = GetResizeDimensions(new Size(image.Width, image.Height), size, image.Width > image.Height);
- break;
- case ResizeDimensions.LatoCorto:
- size = GetResizeDimensions(new Size(image.Width, image.Height), size, image.Width <= image.Height);
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
- return size;
- }
-
- private Size GetResizeDimensions(Size originalSize, Size newSize, bool adjustHeight)
- {
- return adjustHeight ? new Size(newSize.Width, originalSize.Height / originalSize.Width * newSize.Height) : new Size(originalSize.Width / originalSize.Height * newSize.Height, newSize.Height);
- }
-
- private void SetTextTest(Image image)
- {
- string text = "test test test test test testtest test test test test test test";
- Font font = new Font(SystemFonts.Find("verdana"), 300, FontStyle.Regular);
- image.Mutate(x => x.DrawText(text, font, Rgba32.Yellow, new PointF(2760, 3295.54932f), new TextGraphicsOptions()
- {
- HorizontalAlignment = HorizontalAlignment.Center
- }));
- }
-
- private void SetExtraText(Image image, bool isRotated)
- {
- if (string.IsNullOrWhiteSpace(PicSettings.Instance.TestoApplicareOrizzontale))
- {
- Debug.WriteLine($"{_currentFile.Name} No text");
- return;
- }
-
- string text;
- if (isRotated)
- {
- if (PicSettings.Instance.TestoApplicareOrizzontale.Contains("$_"))
- {
- text = PicSettings.Instance.TestoApplicareOrizzontale.Replace("$_", "\r\n");
- }
- else
- {
- text = PicSettings.Instance.TestoApplicareOrizzontale.Replace("$_", "");
- }
-
- }
- else
- {
- text = PicSettings.Instance.TestoApplicareOrizzontale.Replace("$_", "");
- }
-
-
- var fo = SixLabors.Fonts.SystemFonts.Find(PicSettings.Instance.NomeFont);
-
-
- //var fff = FontCollection.SystemFonts.Find(PicSettings.Instance.NomeFont);
- //var fff = FontCollection.SystemFonts.Find("Segoe Print");
-
- Font font;
-
- if (!PicSettings.Instance.Grassetto)
- {
- font = new Font(fo, (float)PicSettings.Instance.DimensioneFont, FontStyle.Regular);
- }
- else
- {
- font = new Font(fo, (float)PicSettings.Instance.DimensioneFont, FontStyle.Bold);
- }
- // todo corsivo
-
-
-
- //var font = new Font(fff, 8f, FontStyle.Regular);
-
-
- //Color c = Color.FromHex(FlipRgbString(PicSettings.Instance.ColoreTestoRGB));
- Rgba32 g = Rgba32.FromHex(FlipRgbString(PicSettings.Instance.ColoreTestoRGB));
-
- Rgba32 gBack = Rgba32.Black; // todo alpha
- //TextMeasurer measurer = new TextMeasurer();
-
- //var size = measurer.MeasureText(PicSettings.Instance.TestoApplicareOrizzontale, font, 72);
- //float scalingFactor = Math.Min(image.Width / size.Width, image.Height / size.Height);
- //Font scaledFont = new Font(font, scalingFactor * font.Size);
-
- //image.DrawText(PicSettings.Instance.TestoApplicareOrizzontale, scaledFont, g, new Vector2(0, 0));
-
- Vector2 center = new Vector2(image.Width / 2, image.Height / 2); //center horizontally, 10px down
-
- var size = TextMeasurer.Measure(text, new RendererOptions(font));
-
- var larghezzaStandard = size.Width;
- var dimensioneStandard = (int)Math.Round(PicSettings.Instance.DimensioneFont);
- if (size.Width > image.Width)
- {
- var c = dimensioneStandard;
- do
- {
- if (c > 20)
- {
- c -= 5;
- }
- else
- {
- c -= 1;
- }
-
- if (PicSettings.Instance.Grassetto)
- {
- font = new Font(fo, c, FontStyle.Bold);
- }
- else
- {
- font = new Font(fo, c, FontStyle.Regular);
- }
- size = TextMeasurer.Measure(text,
- new RendererOptions(font));
- if (size.Width < image.Width)
- {
- larghezzaStandard = (int)Math.Round(size.Width);
- break;
- }
- if (c <= 5)
- {
- break;
- }
- } while (dimensioneStandard == c);
- }
-
- float yPosFromBottom = 0;
-
- switch (PicSettings.Instance.TextPosition)
- {
- case Positions.Alto:
- yPosFromBottom = PicSettings.Instance.Margine;
- break;
- case Positions.Basso:
- yPosFromBottom = image.Height - size.Height - (image.Height * PicSettings.Instance.Margine / 100);
- break;
- }
-
- float xCenterofImg = 0;
-
- // stringformat
-
- switch (PicSettings.Instance.TextAlignment)
- {
- case Alignments.Sinistra:
- xCenterofImg = PicSettings.Instance.Margine + (larghezzaStandard / 2);
- if ((larghezzaStandard / 2) > (image.Width / 2) - PicSettings.Instance.Margine)
- {
- xCenterofImg = image.Width / 2;
- }
- break;
- case Alignments.Centro:
- xCenterofImg = image.Width / 2;
- break;
- case Alignments.Destra:
- xCenterofImg = image.Width - PicSettings.Instance.Margine - larghezzaStandard / 2;
-
- if (larghezzaStandard / 2 > image.Width / 2 - PicSettings.Instance.Margine)
- {
- xCenterofImg = image.Width / 2;
- }
-
- break;
- }
- // stringformat alignment center
-
- if (PicSettings.Instance.Grassetto)
- {
- font = new Font(fo, dimensioneStandard, FontStyle.Bold);
- }
- else
- {
- font = new Font(fo, dimensioneStandard, FontStyle.Regular);
- }
-
- image.Mutate(x => x.DrawText(text, font, gBack, new PointF((float)Math.Round(xCenterofImg + 1), (float)Math.Round(yPosFromBottom + 1)), new TextGraphicsOptions()
- {
- HorizontalAlignment = HorizontalAlignment.Center
- }));
-
- image.Mutate(x => x.DrawText(text, font, g, new PointF((float)Math.Round(xCenterofImg), (float)Math.Round(yPosFromBottom)), new TextGraphicsOptions()
- {
- HorizontalAlignment = HorizontalAlignment.Center
- }));
-
- return;
-
-
- float scalingFactor = Math.Min(image.Width / size.Width, image.Height / size.Height);
- Font scaledFont = new Font(font, scalingFactor * font.Size);
-
- image.Mutate(x =>
- x.DrawText(PicSettings.Instance.TestoApplicareOrizzontale, scaledFont, g, center,
- new TextGraphicsOptions(true)
- {
- HorizontalAlignment = HorizontalAlignment.Center,
- VerticalAlignment = VerticalAlignment.Bottom
- }));
- //image.DrawText(PicSettings.Instance.TestoApplicareOrizzontale, scaledFont, g, center, new TextGraphicsOptions(true) { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom });
-
-
- }
-
- private void AddLogo(Image image)
- {
- //if (string.IsNullOrWhiteSpace(PicSettings.Instance.LogoPath)) return;
- //if (!File.Exists(PicSettings.Instance.LogoPath)) return;
- //using (Image logo = Image.Load(PicSettings.Instance.LogoPath))
- //{
- // Size size = new Size();
- // Point location = new Point();
- // image.Mutate(x => x.DrawImage(logo, size, location, new GraphicsOptions()
- // {
-
- // }));
-
- //}
-
- Size size = new Size();
- Point location = new Point();
-
- if (_logo != null)
- {
- var width = PicSettings.Instance.LogoWidth;
- var height = PicSettings.Instance.LogoHeight;
- var heightFactor = _logo.Height / height;
- var widthFactor = _logo.Width / width;
- var newLogoSize = new Size();
-
- newLogoSize = GetResizeDimensions(new Size(_logo.Width, _logo.Height), new Size(width, height), PicSettings.Instance.LogoResizeSide.Equals(ResizeDimensions.LatoCorto));
- //todo riguardare perché non torna cosa ho fatto
-
- int margineUsato = 0;
- int margineL;
- bool inPercentualeL;
-
- inPercentualeL = PicSettings.Instance.LogoMargin.EndsWith("%");
- if (inPercentualeL)
- {
- margineL = int.Parse(PicSettings.Instance.LogoMargin.Replace("%", ""));
- }
- else
- {
- margineL = int.Parse(PicSettings.Instance.LogoMargin);
- }
-
- switch (PicSettings.Instance.LogoPosition)
- {
- case Positions.Alto:
- break;
- case Positions.Centro:
- break;
- case Positions.Basso:
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
-
- switch (PicSettings.Instance.LogoAlignment)
- {
- case Alignments.Sinistra:
- location.X = margineUsato;
- break;
- case Alignments.Centro:
- //location.X = image.Width -
- break;
- case Alignments.Destra:
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
- image.Mutate(x => x.DrawImage(_logo, size, location, new GraphicsOptions()));
-
-
-
-
- }
-
- }
-
- private void WriteTextFixed(Image image)
- {
- var fo = SixLabors.Fonts.SystemFonts.Find("Microsoft Sans Serif");
- var font = new Font(fo, 8, FontStyle.Regular);
- Rgba32 g = Rgba32.FromHex("#FF00FFFF");
- Vector2 center = new Vector2(image.Width / 2, image.Height / 2);
- var size = TextMeasurer.Measure("Test test test test test", new RendererOptions(font));
- float scalingFactor = Math.Min(image.Width / size.Width, image.Height / size.Height);
- Font scaledFont = new Font(font, scalingFactor * font.Size);
- image.Mutate(x => x.DrawText("Test test test test test", scaledFont, g, center, new TextGraphicsOptions(true) { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom }));
- }
-
- private string FlipRgbString(string originalString)
- {
- string s;
- if (originalString.Length == 7)
- {
- s = string.Concat("#", originalString.Substring(1, 6));
- }
- else
- {
- s = string.Concat("#", originalString.Substring(3, 6), originalString.Substring(1, 2));
- }
-
-
- return s;
- }
- }
-}
diff --git a/CatalogLib/PicSettings.cs b/CatalogLib/PicSettings.cs
deleted file mode 100644
index 795b004..0000000
--- a/CatalogLib/PicSettings.cs
+++ /dev/null
@@ -1,548 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using MaddoLibrary.Base.Log;
-using Newtonsoft.Json;
-
-namespace CatalogLib
-{
- public class PicSettings
- {
- private static PicSettings _instance = new PicSettings();
-
- public static PicSettings Instance
- {
- get { return _instance; }
- }
-
- private Dictionary _settingsDict = new Dictionary();
-
- public PicSettings()
- {
- SetDefaults();
- }
-
- public string SerializeSettings()
- {
- return JsonConvert.SerializeObject(_settingsDict);
- }
-
- public void DeserializeSettings(string serializedData)
- {
- _settingsDict = JsonConvert.DeserializeObject>(serializedData);
-
-
- }
-
- public void SetBase(string key, object value)
- {
- if (_settingsDict.ContainsKey(key))
- {
- _settingsDict[key] = value;
- }
- else
- {
- _settingsDict.Add(key, value);
- }
- }
-
- public void SetString(string key, string value)
- {
- SetBase(key, value);
- }
-
- public void SetInt(string key, int value)
- {
- SetBase(key, value);
- }
-
- public void SetBool(string key, bool value)
- {
- SetBase(key, value);
- }
-
- public void SetDouble(string key, double value)
- {
- SetBase(key, value);
- }
-
- public void SetFloat(string key, float value)
- {
- SetBase(key, value);
- }
-
- public void Set(string key, T value)
- {
- SetBase(key, value);
- }
-
- public bool Exists(string key)
- {
- return _settingsDict.ContainsKey(key);
- }
-
- public int GetInt(string key, int defaultValue = 0)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- SetInt(key, defaultValue);
- }
-
- if (_settingsDict[key] is int) return (int)_settingsDict[key];
- Debug.WriteLine($"Error while parsing {key}");
- //return defaultValue;
-
- int r;
-
- if (int.TryParse(_settingsDict[key].ToString(), out r))
- {
- SetInt(key, r);
-
- }
- else
- {
- SetInt(key, defaultValue);
- }
- return (int)_settingsDict[key];
- //return (int) _settingsDict[key];
-
- //return _settingsDict.ContainsKey(key) ? (int)_settingsDict[key] : defaultValue;
- }
-
- public double GetDouble(string key, double defaultValue = 0)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- SetDouble(key, defaultValue);
- // setdouble default
- }
-
- if (_settingsDict[key] is double) return (double)_settingsDict[key];
- Debug.WriteLine($"Error while parsing {key}");
-
- double d;
- if (double.TryParse(_settingsDict[key].ToString(), out d))
- {
- SetDouble(key, d);
- // setdouble key r
- }
- else
- {
- SetDouble(key, defaultValue);
- //setdouble defaultvalue
- }
- return (double)_settingsDict[key];
- }
-
- public float GetFloat(string key, float defaultValue = 0)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- SetFloat(key, defaultValue);
- }
-
- if (_settingsDict[key] is float f) return f;
- MaddoLogger.LogError("Error while parsing {0}", key);
-
- float fl = 0;
- SetFloat(key, float.TryParse(_settingsDict[key].ToString(), out f) ? fl : defaultValue);
- return (float)_settingsDict[key];
- }
-
-
-
- public T Get(string key, T defaultValue)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- Set(key, defaultValue);
- // setdouble default
- }
-
- return (T)_settingsDict[key];
- }
-
-
-
-
- public string GetString(string key, string defaultValue = "")
- {
- if (!_settingsDict.ContainsKey(key))
- {
- SetString(key, defaultValue);
- }
- return (string)_settingsDict[key];
-
- //return _settingsDict.ContainsKey(key) ? (string)_settingsDict[key] : defaultValue;
- }
-
- public bool GetBool(string key, bool defaultValue = false)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- SetBool(key, defaultValue);
- return defaultValue;
- }
- return (bool)_settingsDict[key];
-
-
-
- //return _settingsDict.ContainsKey(key) && (bool)_settingsDict[key];
- }
-
-
- public object GetObject(string key, object defaultValue = null)
- {
- if (!_settingsDict.ContainsKey(key))
- {
- Set(key, defaultValue);
- return defaultValue;
- }
- return _settingsDict[key];
-
- //return _settingsDict.ContainsKey(key) ? _settingsDict[key] : defaultValue;
- }
-
- public T GetEnum(string name, T defaultValue)
- {
- return (T)Enum.Parse(typeof(T), GetString(name, defaultValue.ToString()));
- }
-
- public void SetDefaults()
- {
-
- }
-
- public bool DirAggiornaSottoDirectory
- {
- get => this.GetBool("DirAggiornaSottoDirectory", true);
- set => this.SetBool("DirAggiornaSottoDirectory", value);
- }
-
- public bool Grassetto
- {
- get { return GetBool("Grassetto"); }
- set { SetBool("Grassetto", value); }
- }
-
- public string IlFont //todo
- {
- get { return GetString(""); }
- set { }
- }
-
- public bool TestoMin //todo
- {
- get { return false; }
- set { }
- }
-
- public bool AggTempoGaraMin //todo
- {
- get { return false; }
- set { }
- }
-
- public bool UsaTempoGaraTestoApplicare //todo
- {
- get { return false; }
- set { }
- }
-
- public bool AggNumTempMin //todo
- {
- get { return false; }
- set { }
- }
-
- public bool CreaMiniature //todo
- {
- get { return false; }
- set { }
- }
-
- public bool AggiungiScritteMiniature
- {
- get { return false; }
- set { }
- }
-
- public string Suffisso
- {
- get { return string.Empty; }
- set { }
- }
-
- public string Codice
- {
- get { return null; }
- set { }
- }
-
- public int Trasparenza
- {
- get { return 0; }
- }
-
-
-
- public DateTime DataPartenza { get; set; }
- public string TestoOrario { get; internal set; }
- public int DimStandard { get; internal set; }
- public int DimStandardMiniatura { get; internal set; }
- public bool UsaOrarioTestoApplicare { get; set; }
- public bool UsaOrarioMiniatura { get; set; }
- public string TestoFirmaStart { get; set; }
- public string TestoFirmaStartV { get; set; }
- public bool UsaForzaJpg { get; set; }
-
- public string DirectorySorgente
- {
- get { return GetString("DirSorgente"); }
- set { SetString("DirSorgente", value); }
- }
-
- public string DirectoryDestinazione
- {
- get { return GetString("DirDestinazione"); }
- set { SetString("DirDestinazione", value); }
- }
-
- public int Margine
- {
- get => GetInt("Margin", 1);
- set => SetInt("Margin", value);
- }
- public float MargVert { get; set; }
- public string Allineamento { get; set; }
-
- public bool GeneraleForzaJPG
- {
- get { return GetBool("GeneraleForzaJPG", true); }
- set { SetBool("GeneraleForzaJPG", value); }
- }
-
- public bool GeneraleRotazioneAutomatica
- {
- get { return GetBool("GeneraleRotazioneAutomatica", true); }
- set { SetBool("GeneraleRotazioneAutomatica", value); }
- }
-
- public bool GeneraleSovrascriviFile
- {
- get { return GetBool("GeneraleSovrascriviFile"); }
- set { SetBool("GeneraleSovrascriviFile", value); }
- }
-
- public bool SubdirCreaSottoCartelle
- {
- get { return GetBool("SubdirCreaSottoCartelle"); }
- set { SetBool("SubdirCreaSottoCartelle", value); }
- }
-
- public int SubdirIntervalloFile
- {
- get { return GetInt("SubdirIntervalloFile", 99); }
- set { SetInt("SubdirIntervalloFile", value); }
- }
-
- public string SubdirSuffisso
- {
- get { return GetString("SubdirSuffisso"); }
- set { SetString("SubdirSuffisso", value); }
- }
-
- public int SubdirCifreContatore
- {
- get { return GetInt("SubdirCifreContatore", 2); }
- set { SetInt("SubdirCifreContatore", value); }
- }
-
- public bool SubdirNumerazioneProgressiva
- {
- get { return GetBool("SubdirNumerazioneProgressiva", true); }
- set { SetBool("SubdirNumerazioneProgressiva", value); }
- }
-
- public bool SubdirNumerazioneFiles
- {
- get { return GetBool("SubdirNumerazioneFiles", false); }
- set { SetBool("SubdirNumerazioneFiles", value); }
- }
-
- public int FotoAltezza
- {
- get { return GetInt("FotoAltezza", 2240); }
- set { SetInt("FotoAltezza", value); }
- }
-
- public int FotoLarghezza
- {
- get { return GetInt("FotoLarghezza", 2240); }
- set { SetInt("FotoLarghezza", value); }
- }
-
- public int CompressioneJpeg
- {
- get { return GetInt("CompressioneJpeg", 85); }
- set { SetInt("CompressioneJpeg", value); }
- }
-
- public bool FotoMantieniDimensioni
- {
- get { return GetBool("FotoMantieniDimensioni", true); }
- set { SetBool("FotoMantieniDimensioni", value); }
- }
-
- public string FotoSuffisso
- {
- get { return GetString("FotoSuffisso"); }
- set { SetString("FotoSuffisso", value); }
- }
-
-
- public bool EnableThumbnails
- {
- get { return GetBool("EnableThumbnails", false); }
- set { SetBool("EnableThumbnails", value); }
- }
- public bool EnableLogo
- {
- get { return GetBool("EnableLogo", false); }
- set { SetBool("EnableLogo", value); }
- }
-
- #region Text
-
- public bool EnableText
- {
- get { return GetBool("EnableText", false); }
- set { SetBool("EnableText", value); }
- }
-
- public string NomeFont
- {
- get { return GetString("nomeFont", "Verdana"); }
- set { SetString("nomeFont", value); }
- }
-
- public double DimensioneFont
- {
- get { return Get("dimensioneFont", 1); }
- set { SetDouble("dimensioneFont", value); }
- }
-
- public string TestoApplicareOrizzontale
- {
- get
- {
- return Get("TestoApplicareOrizzontale", "");
- }
- set
- {
- Set("TestoApplicareOrizzontale", value);
- }
- }
-
- public string ColoreTestoRGB
- {
- get { return GetString("coloreTestoRGB", "#000000"); }
- set
- {
- Set("coloreTestoRGB", value);
-
- }
- }
-
- public bool FotoRidimensiona
- {
- get => GetBool("FotoRidimensiona", false);
- set => Set("FotoRidimensiona", value);
- }
-
- public Positions TextPosition
- {
- get => GetEnum("TextPosition", Positions.Alto); //(Positions)Enum.Parse(typeof(Positions), GetString("TextPosition", Positions.Alto.ToString()));
- set => SetString("TextPosition", value.ToString());
- }
-
- public Alignments TextAlignment
- {
- get => GetEnum("TextAlignment", Alignments.Centro);
- set => SetString("TextAlignment", value.ToString());
- }
-
- public bool Threading
- {
- get => GetBool("Threading", true);
- set => SetBool("Threading", value);
- }
-
- public ResizeModes ResizeMode
- {
- get => GetEnum("ResizeMode", ResizeModes.Bicubic);
- set => SetString("ResizeMode", value.ToString());
- }
-
- public ResizeDimensions ResizeDimension
- {
- get => GetEnum("ResizeDimension", CatalogLib.ResizeDimensions.LatoCorto);
- set => SetString("ResizeDimension", value.ToString());
- }
-
- public string LogoPath
- {
- get => GetString("LogoPath");
- set => SetString("LogoPath", value);
- }
-
- public int LogoWidth
- {
- get => GetInt("LogoWidth");
- set => SetInt("LogoWidth", value);
- }
-
- public int LogoHeight
- {
- get => GetInt("LogoHeight");
- set => SetInt("LogoHeight", value);
- }
-
- public string LogoMargin
- {
- get => GetString("LogoMargin");
- set => SetString("LogoMargin", value);
- }
-
- public Positions LogoPosition
- {
- get => GetEnum("LogoPositions", Positions.Alto);
- set => SetString("LogoPositions", value.ToString());
- }
-
- public Alignments LogoAlignment
- {
- get => GetEnum("LogoAlignments", Alignments.Centro);
- set => SetString("LogoAlignments", value.ToString());
- }
-
- public ResizeDimensions LogoResizeSide
- {
- get => GetEnum("LogoResizeMode", ResizeDimensions.LatoCorto);
- set => SetString("LogoResizeMode", value.ToString());
- }
-
- #endregion
-
- #region Enums
-
-
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/CatalogLib/Properties/AssemblyInfo.cs b/CatalogLib/Properties/AssemblyInfo.cs
deleted file mode 100644
index 9d7f332..0000000
--- a/CatalogLib/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("CatalogLib")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("CatalogLib")]
-[assembly: AssemblyCopyright("Copyright © 2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("7bb8e6ce-72c8-4b36-a166-a62ed446d4e9")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/CatalogLib/SinglePicData.cs b/CatalogLib/SinglePicData.cs
deleted file mode 100644
index fb392c5..0000000
--- a/CatalogLib/SinglePicData.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace CatalogLib
-{
- public enum Rotazione
- {
- Normale,
- Destra,
- Sinistra,
- Sottosopra
- }
-
- public class SinglePicData
- {
-
-
- }
-}
diff --git a/CatalogLib/app.config b/CatalogLib/app.config
deleted file mode 100644
index f007515..0000000
--- a/CatalogLib/app.config
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/CatalogLib/packages.config b/CatalogLib/packages.config
deleted file mode 100644
index 86dfa50..0000000
--- a/CatalogLib/packages.config
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CatalogLib/stylecop.json b/CatalogLib/stylecop.json
deleted file mode 100644
index c67c0db..0000000
--- a/CatalogLib/stylecop.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
- "settings":
- {
- "orderingRules":
- {
- "usingDirectivesPlacement": "outsideNamespace"
- },
- "documentationRules":
- {
- "xmlHeader": false,
- "copyrightText": "Copyright (c) Six Labors and contributors.\nLicensed under the Apache License, Version 2.0."
- }
- }
-}
\ No newline at end of file
diff --git a/CatalogLibVb/CatalogLibVb.csproj b/CatalogLibVb/CatalogLibVb.csproj
deleted file mode 100644
index 8d292d6..0000000
--- a/CatalogLibVb/CatalogLibVb.csproj
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {B3352D87-BF9F-4F7A-9162-007492DA76E4}
- Library
- Properties
- CatalogLibVb
- CatalogLibVb
- v4.5
- 512
- SAK
- SAK
- SAK
- SAK
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CatalogLibVb/Class1.cs b/CatalogLibVb/Class1.cs
deleted file mode 100644
index 16254ce..0000000
--- a/CatalogLibVb/Class1.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace CatalogLibVb
-{
- public class Class1
- {
- }
-}
diff --git a/CatalogLibVb/Properties/AssemblyInfo.cs b/CatalogLibVb/Properties/AssemblyInfo.cs
deleted file mode 100644
index 0ec915f..0000000
--- a/CatalogLibVb/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Le informazioni generali relative a un assembly sono controllate dal seguente
-// set di attributi. Per modificare le informazioni associate a un assembly
-// occorre quindi modificare i valori di questi attributi.
-[assembly: AssemblyTitle("CatalogLibVb")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("CatalogLibVb")]
-[assembly: AssemblyCopyright("Copyright © 2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili
-// ai componenti COM. Se è necessario accedere a un tipo in questo assembly da
-// COM, impostare su true l'attributo ComVisible per tale tipo.
-[assembly: ComVisible(false)]
-
-// Se il progetto viene esposto a COM, il GUID che segue verrà utilizzato per creare l'ID della libreria dei tipi
-[assembly: Guid("367f3879-584c-4780-8ad0-dc84d2e77928")]
-
-// Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori:
-//
-// Numero di versione principale
-// Numero di versione secondario
-// Numero build
-// Revisione
-//
-// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
-// utilizzando l'asterisco (*) come descritto di seguito:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CatalogVbLib/CatalogVbLib.vbproj b/CatalogVbLib/CatalogVbLib.vbproj
deleted file mode 100644
index dd7243d..0000000
--- a/CatalogVbLib/CatalogVbLib.vbproj
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
- net9.0-windows
- Library
- false
- true
-
-
- embedded
-
-
- embedded
-
-
-
- True
- Application.myapp
- True
-
-
- True
- True
- Resources.resx
-
-
- True
- Settings.settings
- True
-
-
-
-
- MyApplicationCodeGenerator
- Application.Designer.vb
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CatalogVbLib/ExifReader.vb b/CatalogVbLib/ExifReader.vb
deleted file mode 100644
index 15a19bd..0000000
--- a/CatalogVbLib/ExifReader.vb
+++ /dev/null
@@ -1,1068 +0,0 @@
-'''-----------------------------------------------------------------------------
-'''
-''' Utility class for reading EXIF data from images. Provides abstraction
-''' for most common data and generic utilities for work with all other.
-'''
-'''
-''' Copyright (c) Michal A. Valášek - Altair Communications, 2003
-''' Copmany: http://software.altaircom.net * support@altaircom.net
-''' Private: http://www.rider.cz * developer@rider.cz
-''' This is free software licensed under GNU Lesser General Public License
-'''
-'''
-''' [altair] 10.9.2003 Created
-'''
-'''-----------------------------------------------------------------------------
-Public Class ExifReader
- Implements IDisposable
-
- Private Image As System.Drawing.Bitmap
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Contains possible values of EXIF tag names (ID)
- '''
- ''' See GdiPlusImaging.h
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum TagNames
- ExifIFD = &H8769
- GpsIFD = &H8825
- NewSubfileType = &HFE
- SubfileType = &HFF
- ImageWidth = &H100
- ImageHeight = &H101
- BitsPerSample = &H102
- Compression = &H103
- PhotometricInterp = &H106
- ThreshHolding = &H107
- CellWidth = &H108
- CellHeight = &H109
- FillOrder = &H10A
- DocumentName = &H10D
- ImageDescription = &H10E
- EquipMake = &H10F
- EquipModel = &H110
- StripOffsets = &H111
- Orientation = &H112
- SamplesPerPixel = &H115
- RowsPerStrip = &H116
- StripBytesCount = &H117
- MinSampleValue = &H118
- MaxSampleValue = &H119
- XResolution = &H11A
- YResolution = &H11B
- PlanarConfig = &H11C
- PageName = &H11D
- XPosition = &H11E
- YPosition = &H11F
- FreeOffset = &H120
- FreeByteCounts = &H121
- GrayResponseUnit = &H122
- GrayResponseCurve = &H123
- T4Option = &H124
- T6Option = &H125
- ResolutionUnit = &H128
- PageNumber = &H129
- TransferFuncition = &H12D
- SoftwareUsed = &H131
- DateTime = &H132
- Artist = &H13B
- HostComputer = &H13C
- Predictor = &H13D
- WhitePoint = &H13E
- PrimaryChromaticities = &H13F
- ColorMap = &H140
- HalftoneHints = &H141
- TileWidth = &H142
- TileLength = &H143
- TileOffset = &H144
- TileByteCounts = &H145
- InkSet = &H14C
- InkNames = &H14D
- NumberOfInks = &H14E
- DotRange = &H150
- TargetPrinter = &H151
- ExtraSamples = &H152
- SampleFormat = &H153
- SMinSampleValue = &H154
- SMaxSampleValue = &H155
- TransferRange = &H156
- JPEGProc = &H200
- JPEGInterFormat = &H201
- JPEGInterLength = &H202
- JPEGRestartInterval = &H203
- JPEGLosslessPredictors = &H205
- JPEGPointTransforms = &H206
- JPEGQTables = &H207
- JPEGDCTables = &H208
- JPEGACTables = &H209
- YCbCrCoefficients = &H211
- YCbCrSubsampling = &H212
- YCbCrPositioning = &H213
- REFBlackWhite = &H214
- ICCProfile = &H8773
- Gamma = &H301
- ICCProfileDescriptor = &H302
- SRGBRenderingIntent = &H303
- ImageTitle = &H320
- Copyright = &H8298
- ResolutionXUnit = &H5001
- ResolutionYUnit = &H5002
- ResolutionXLengthUnit = &H5003
- ResolutionYLengthUnit = &H5004
- PrintFlags = &H5005
- PrintFlagsVersion = &H5006
- PrintFlagsCrop = &H5007
- PrintFlagsBleedWidth = &H5008
- PrintFlagsBleedWidthScale = &H5009
- HalftoneLPI = &H500A
- HalftoneLPIUnit = &H500B
- HalftoneDegree = &H500C
- HalftoneShape = &H500D
- HalftoneMisc = &H500E
- HalftoneScreen = &H500F
- JPEGQuality = &H5010
- GridSize = &H5011
- ThumbnailFormat = &H5012
- ThumbnailWidth = &H5013
- ThumbnailHeight = &H5014
- ThumbnailColorDepth = &H5015
- ThumbnailPlanes = &H5016
- ThumbnailRawBytes = &H5017
- ThumbnailSize = &H5018
- ThumbnailCompressedSize = &H5019
- ColorTransferFunction = &H501A
- ThumbnailData = &H501B
- ThumbnailImageWidth = &H5020
- ThumbnailImageHeight = &H502
- ThumbnailBitsPerSample = &H5022
- ThumbnailCompression = &H5023
- ThumbnailPhotometricInterp = &H5024
- ThumbnailImageDescription = &H5025
- ThumbnailEquipMake = &H5026
- ThumbnailEquipModel = &H5027
- ThumbnailStripOffsets = &H5028
- ThumbnailOrientation = &H5029
- ThumbnailSamplesPerPixel = &H502A
- ThumbnailRowsPerStrip = &H502B
- ThumbnailStripBytesCount = &H502C
- ThumbnailResolutionX = &H502D
- ThumbnailResolutionY = &H502E
- ThumbnailPlanarConfig = &H502F
- ThumbnailResolutionUnit = &H5030
- ThumbnailTransferFunction = &H5031
- ThumbnailSoftwareUsed = &H5032
- ThumbnailDateTime = &H5033
- ThumbnailArtist = &H5034
- ThumbnailWhitePoint = &H5035
- ThumbnailPrimaryChromaticities = &H5036
- ThumbnailYCbCrCoefficients = &H5037
- ThumbnailYCbCrSubsampling = &H5038
- ThumbnailYCbCrPositioning = &H5039
- ThumbnailRefBlackWhite = &H503A
- ThumbnailCopyRight = &H503B
- LuminanceTable = &H5090
- ChrominanceTable = &H5091
- FrameDelay = &H5100
- LoopCount = &H5101
- PixelUnit = &H5110
- PixelPerUnitX = &H5111
- PixelPerUnitY = &H5112
- PaletteHistogram = &H5113
- ExifExposureTime = &H829A
- ExifFNumber = &H829D
- ExifExposureProg = &H8822
- ExifSpectralSense = &H8824
- ExifISOSpeed = &H8827
- ExifOECF = &H8828
- ExifVer = &H9000
- ExifDTOrig = &H9003
- ExifDTDigitized = &H9004
- ExifCompConfig = &H9101
- ExifCompBPP = &H9102
- ExifShutterSpeed = &H9201
- ExifAperture = &H9202
- ExifBrightness = &H9203
- ExifExposureBias = &H9204
- ExifMaxAperture = &H9205
- ExifSubjectDist = &H9206
- ExifMeteringMode = &H9207
- ExifLightSource = &H9208
- ExifFlash = &H9209
- ExifFocalLength = &H920A
- ExifMakerNote = &H927C
- ExifUserComment = &H9286
- ExifDTSubsec = &H9290
- ExifDTOrigSS = &H9291
- ExifDTDigSS = &H9292
- ExifFPXVer = &HA000
- ExifColorSpace = &HA001
- ExifPixXDim = &HA002
- ExifPixYDim = &HA003
- ExifRelatedWav = &HA004
- ExifInterop = &HA005
- ExifFlashEnergy = &HA20B
- ExifSpatialFR = &HA20C
- ExifFocalXRes = &HA20E
- ExifFocalYRes = &HA20F
- ExifFocalResUnit = &HA210
- ExifSubjectLoc = &HA214
- ExifExposureIndex = &HA215
- ExifSensingMethod = &HA217
- ExifFileSource = &HA300
- ExifSceneType = &HA301
- ExifCfaPattern = &HA302
- GpsVer = &H0
- GpsLatitudeRef = &H1
- GpsLatitude = &H2
- GpsLongitudeRef = &H3
- GpsLongitude = &H4
- GpsAltitudeRef = &H5
- GpsAltitude = &H6
- GpsGpsTime = &H7
- GpsGpsSatellites = &H8
- GpsGpsStatus = &H9
- GpsGpsMeasureMode = &HA
- GpsGpsDop = &HB
- GpsSpeedRef = &HC
- GpsSpeed = &HD
- GpsTrackRef = &HE
- GpsTrack = &HF
- GpsImgDirRef = &H10
- GpsImgDir = &H11
- GpsMapDatum = &H12
- GpsDestLatRef = &H13
- GpsDestLat = &H14
- GpsDestLongRef = &H15
- GpsDestLong = &H16
- GpsDestBearRef = &H17
- GpsDestBear = &H18
- GpsDestDistRef = &H19
- GpsDestDist = &H1A
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Real position of 0th row and column of picture
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum Orientations
- TopLeft = 1
- TopRight = 2
- BottomRight = 3
- BottomLeft = 4
- LeftTop = 5
- RightTop = 6
- RightBottom = 7
- LftBottom = 8
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Exposure programs
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum ExposurePrograms
- Manual = 1
- Normal = 2
- AperturePriority = 3
- ShutterPriority = 4
- Creative = 5
- Action = 6
- Portrait = 7
- Landscape = 8
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Exposure metering modes
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum ExposureMeteringModes
- Unknown = 0
- Average = 1
- CenterWeightedAverage = 2
- Spot = 3
- MultiSpot = 4
- MultiSegment = 5
- [Partial] = 6
- Other = 255
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Flash activity modes
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum FlashModes
- NotFired = 0
- Fired = 1
- FiredButNoStrobeReturned = 5
- FiredAndStrobeReturned = 7
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Possible light sources (white balance)
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Enum LightSources
- Unknown = 0
- Daylight = 1
- Fluorescent = 2
- Tungsten = 3
- Flash = 10
- StandardLightA = 17
- StandardLightB = 18
- StandardLightC = 19
- D55 = 20
- D65 = 21
- D75 = 22
- Other = 255
- End Enum
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Represents rational which is type of some Exif properties
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Structure Rational
- Dim Numerator As Int32
- Dim Denominator As Int32
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Converts rational to string representation
- '''
- ''' Optional, default "/". String to be used as delimiter of components.
- ''' String representation of the rational.
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Shadows Function ToString(Optional ByVal Delimiter As String = "/") As String
- Return Numerator & Delimiter & Denominator
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Converts rational to double precision real number
- '''
- ''' The rational as double precision real number.
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Function ToDouble() As Double
- Return Numerator / Denominator
- End Function
- End Structure
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Initializes new instance of this class.
- '''
- ''' Bitmap to read exif information from
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Sub New(ByVal Bitmap As System.Drawing.Bitmap)
- If Bitmap Is Nothing Then Throw New ArgumentNullException("Bitmap")
- Me.Image = Bitmap
- End Sub
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Returns all available data in formatted string form
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Overrides Function ToString() As String
- Dim SB As New System.Text.StringBuilder
-
- SB.Append("Image:")
- SB.Append("\n\tDimensions: " & Me.Width & " x " & Me.Height & " px")
- SB.Append("\n\tResolution: " & Me.ResolutionX & " x " & Me.ResolutionY & " dpi")
- SB.Append("\n\tOrientation: " & [Enum].GetName(GetType(Orientations), Me.Orientation))
- SB.Append("\n\tTitle: " & Me.Title)
- SB.Append("\n\tDescription: " & Me.Description)
- SB.Append("\n\tCopyright: " & Me.Copyright)
- SB.Append("\nEquipment:")
- SB.Append("\n\tMaker: " & Me.EquipmentMaker)
- SB.Append("\n\tModel: " & Me.EquipmentModel)
- SB.Append("\n\tSoftware: " & Me.Software)
- SB.Append("\nDate and time:")
- SB.Append("\n\tGeneral: " & Me.DateTimeLastModified.ToString())
- SB.Append("\n\tOriginal: " & Me.DateTimeOriginal.ToString())
- SB.Append("\n\tDigitized: " & Me.DateTimeDigitized.ToString())
- SB.Append("\nShooting conditions:")
- SB.Append("\n\tExposure time: " & Me.ExposureTime.ToString("N4") & " s")
- SB.Append("\n\tExposure program: " & [Enum].GetName(GetType(ExposurePrograms), Me.ExposureProgram))
- SB.Append("\n\tExposure mode: " & [Enum].GetName(GetType(ExposureMeteringModes), Me.ExposureMeteringMode))
- SB.Append("\n\tAperture: F" & Me.Aperture.ToString("N2"))
- SB.Append("\n\tISO sensitivity: " & Me.ISO)
- SB.Append("\n\tSubject distance: " & Me.SubjectDistance.ToString("N2") & " m")
- SB.Append("\n\tFocal length: " & Me.FocalLength)
- SB.Append("\n\tFlash: " & [Enum].GetName(GetType(FlashModes), Me.FlashMode))
- SB.Append("\n\tLight source (WB): " & [Enum].GetName(GetType(LightSources), Me.LightSource))
- SB.Append("\n\nCopyright (c) Michal A. Valasek - Altair Communications, 2003")
- SB.Append("\nhttp://software.altaircom.net * support@altaircom.net")
-
- SB.Replace("\n", vbCrLf)
- SB.Replace("\t", vbTab)
- Return SB.ToString()
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Brand of equipment (EXIF EquipMake)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property EquipmentMaker() As String
- Get
- Return Me.GetPropertyString(TagNames.EquipMake)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Model of equipment (EXIF EquipModel)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property EquipmentModel() As String
- Get
- Return Me.GetPropertyString(TagNames.EquipModel)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Software used for processing (EXIF Software)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Software() As String
- Get
- Return Me.GetPropertyString(TagNames.SoftwareUsed)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Orientation of image (position of row 0, column 0) (EXIF Orientation)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Orientation() As Orientations
- Get
- Dim X As Int32 = Me.GetPropertyInt16(TagNames.Orientation)
-
- If Not [Enum].IsDefined(GetType(Orientations), X) Then
- Return Orientations.TopLeft
- Else
- Return CType([Enum].Parse(GetType(Orientations), [Enum].GetName(GetType(Orientations), X)), Orientations)
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Time when image was last modified (EXIF DateTime).
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property DateTimeLastModified() As DateTime
- Get
- Try
- Return DateTime.ParseExact(Me.GetPropertyString(TagNames.DateTime), "yyyy\:MM\:dd HH\:mm\:ss", Nothing)
- Catch ex As Exception
- Return DateTime.MinValue
- End Try
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Time when image was taken (EXIF DateTimeOriginal).
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property DateTimeOriginal() As DateTime
- Get
- Try
- Return DateTime.ParseExact(Me.GetPropertyString(TagNames.ExifDTOrig), "yyyy\:MM\:dd HH\:mm\:ss", Nothing)
- Catch ex As Exception
- Return DateTime.MinValue
- End Try
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Time when image was digitized (EXIF DateTimeDigitized).
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property DateTimeDigitized() As DateTime
- Get
- Try
- Return DateTime.ParseExact(Me.GetPropertyString(TagNames.ExifDTDigitized), "yyyy\:MM\:dd HH\:mm\:ss", Nothing)
- Catch ex As Exception
- Return DateTime.MinValue
- End Try
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Image width
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Width() As Int16
- Get
- Return Me.GetPropertyInt16(TagNames.ImageWidth)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Image height
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Height() As Int16
- Get
- Return Me.GetPropertyInt16(TagNames.ImageHeight)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' X resolution in dpi (EXIF XResolution/ResolutionUnit)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ResolutionX() As Double
- Get
- Dim R As Double = Me.GetPropertyRational(TagNames.XResolution).ToDouble()
-
- If Me.GetPropertyInt16(TagNames.ResolutionUnit) = 3 Then
- '-- resolution is in points/cm
- Return R * 2.54
- Else
- '-- resolution is in points/inch
- Return R
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Y resolution in dpi (EXIF YResolution/ResolutionUnit)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ResolutionY() As Double
- Get
- Dim R As Double = Me.GetPropertyRational(TagNames.YResolution).ToDouble()
-
- If Me.GetPropertyInt16(TagNames.ResolutionUnit) = 3 Then
- '-- resolution is in points/cm
- Return R * 2.54
- Else
- '-- resolution is in points/inch
- Return R
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Image title (EXIF ImageTitle)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Title() As String
- Get
- Return Me.GetPropertyString(TagNames.ImageTitle)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Image description (EXIF ImageDescription)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Description() As String
- Get
- Return Me.GetPropertyString(TagNames.ImageDescription)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Image copyright (EXIF Copyright)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Copyright() As String
- Get
- Return Me.GetPropertyString(TagNames.Copyright)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Exposure time in seconds (EXIF ExifExposureTime/ExifShutterSpeed)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ExposureTime() As Double
- Get
- If Me.IsPropertyDefined(TagNames.ExifExposureTime) Then
- '-- Exposure time is explicitly specified
- Return Me.GetPropertyRational(TagNames.ExifExposureTime).ToDouble
- ElseIf Me.IsPropertyDefined(TagNames.ExifShutterSpeed) Then
- '-- Compute exposure time from shutter speed
- Return 1 / (2 ^ Me.GetPropertyRational(TagNames.ExifShutterSpeed).ToDouble)
- Else
- '-- Can't figure out
- Return 0
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Aperture value as F number (EXIF ExifFNumber/ExifApertureValue)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property Aperture() As Double
- Get
- If Me.IsPropertyDefined(TagNames.ExifFNumber) Then
- Return Me.GetPropertyRational(TagNames.ExifFNumber).ToDouble()
- ElseIf Me.IsPropertyDefined(TagNames.ExifAperture) Then
- Return System.Math.Sqrt(2) ^ Me.GetPropertyRational(TagNames.ExifAperture).ToDouble()
- Else
- Return 0
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Exposure program used (EXIF ExifExposureProg)
- '''
- '''
- ''' If not specified, returns Normal (2)
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ExposureProgram() As ExposurePrograms
- Get
- Dim X As Int32 = Me.GetPropertyInt16(TagNames.ExifExposureProg)
-
- If [Enum].IsDefined(GetType(ExposurePrograms), X) Then
- Return CType([Enum].Parse(GetType(ExposurePrograms), [Enum].GetName(GetType(ExposurePrograms), X)), ExposurePrograms)
- Else
- Return ExposurePrograms.Normal
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' ISO sensitivity
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ISO() As Int16
- Get
- Return Me.GetPropertyInt16(TagNames.ExifISOSpeed)
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Subject distance in meters (EXIF SubjectDistance)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property SubjectDistance() As Double
- Get
- Return Me.GetPropertyRational(TagNames.ExifSubjectDist).ToDouble()
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Exposure method metering mode used (EXIF MeteringMode)
- '''
- '''
- ''' If not specified, returns Unknown (0)
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property ExposureMeteringMode() As ExposureMeteringModes
- Get
- Dim X As Int32 = Me.GetPropertyInt16(TagNames.ExifMeteringMode)
-
- If [Enum].IsDefined(GetType(ExposureMeteringModes), X) Then
- Return CType([Enum].Parse(GetType(ExposureMeteringModes), [Enum].GetName(GetType(ExposureMeteringModes), X)), ExposureMeteringModes)
- Else
- Return ExposureMeteringModes.Unknown
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Focal length of lenses in mm (EXIF FocalLength)
- '''
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property FocalLength() As Double
- Get
- Return Me.GetPropertyRational(TagNames.ExifFocalLength).ToDouble
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Flash mode (EXIF Flash)
- '''
- '''
- ''' If not present, value NotFired (0) is returned
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property FlashMode() As FlashModes
- Get
- Dim X As Int32 = Me.GetPropertyInt16(TagNames.ExifFlash)
-
- If [Enum].IsDefined(GetType(FlashModes), X) Then
- Return CType([Enum].Parse(GetType(FlashModes), [Enum].GetName(GetType(FlashModes), X)), FlashModes)
- Else
- Return FlashModes.NotFired
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Light source / white balance (EXIF LightSource)
- '''
- '''
- ''' If not specified, returns Unknown (0).
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public ReadOnly Property LightSource() As LightSources
- Get
- Dim X As Int32 = Me.GetPropertyInt16(TagNames.ExifLightSource)
-
- If [Enum].IsDefined(GetType(LightSources), X) Then
- Return CType([Enum].Parse(GetType(LightSources), [Enum].GetName(GetType(LightSources), X)), LightSources)
- Else
- Return LightSources.Unknown
- End If
- End Get
- End Property
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Checks if current image has specified certain property
- '''
- '''
- ''' True if image has specified property, False otherwise.
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Function IsPropertyDefined(ByVal PID As Int32) As Boolean
- Return CBool([Array].IndexOf(Me.Image.PropertyIdList, PID) > -1)
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Gets specified Int32 property
- '''
- ''' Property ID
- ''' Optional, default 0. Default value returned if property is not present.
- ''' Value of property or DefaultValue if property is not present.
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Function GetPropertyInt32(ByVal PID As Int32, Optional ByVal DefaultValue As Int32 = 0) As Int32
- If Me.IsPropertyDefined(PID) Then
- Return GetInt32(Me.Image.GetPropertyItem(PID).Value)
- Else
- Return DefaultValue
- End If
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Gets specified Int16 property
- '''
- ''' Property ID
- ''' Optional, default 0. Default value returned if property is not present.
- ''' Value of property or DefaultValue if property is not present.
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Function GetPropertyInt16(ByVal PID As Int32, Optional ByVal DefaultValue As Int16 = 0) As Int16
- If Me.IsPropertyDefined(PID) Then
- Return GetInt16(Me.Image.GetPropertyItem(PID).Value)
- Else
- Return DefaultValue
- End If
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Gets specified string property
- '''
- ''' Property ID
- ''' Optional, default String.Empty. Default value returned if property is not present.
- '''
- ''' Value of property or DefaultValue if property is not present.
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Function GetPropertyString(ByVal PID As Int32, Optional ByVal DefaultValue As String = "") As String
- If Me.IsPropertyDefined(PID) Then
- Return GetString(Me.Image.GetPropertyItem(PID).Value)
- Else
- Return DefaultValue
- End If
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Gets specified rational property
- '''
- ''' Property ID
- '''
- ''' Value of property or 0/1 if not present.
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Function GetPropertyRational(ByVal PID As Int32) As Rational
- If Me.IsPropertyDefined(PID) Then
- Return GetRational(Me.Image.GetPropertyItem(PID).Value)
- Else
- Dim R As Rational
- R.Numerator = 0
- R.Denominator = 1
- Return R
- End If
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Reads Int32 from EXIF bytearray.
- '''
- ''' EXIF bytearray to process
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Shared Function GetInt32(ByVal B As Byte()) As Int32
- If B.Length < 4 Then Throw New ArgumentException("Data too short (4 bytes expected)", "B")
- Return B(3) << 24 Or B(2) << 16 Or B(1) << 8 Or B(0)
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Reads Int16 from EXIF bytearray.
- '''
- ''' EXIF bytearray to process
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Shared Function GetInt16(ByVal B As Byte()) As Int16
- If B.Length < 2 Then Throw New ArgumentException("Data too short (2 bytes expected)", "B")
- Return B(1) << 8 Or B(0)
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Reads string from EXIF bytearray.
- '''
- ''' EXIF bytearray to process
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Shared Function GetString(ByVal B As Byte()) As String
- Dim R As String = System.Text.Encoding.ASCII.GetString(B)
- If R.EndsWith(vbNullChar) Then R = R.Substring(0, R.Length - 1)
- Return R
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Reads rational from EXIF bytearray.
- '''
- ''' EXIF bytearray to process
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Shared Function GetRational(ByVal B As Byte()) As Rational
- Dim R As New Rational, N(3), D(3) As Byte
- Array.Copy(B, 0, N, 0, 4)
- Array.Copy(B, 4, D, 0, 4)
- R.Denominator = GetInt32(D)
- R.Numerator = GetInt32(N)
- Return R
- End Function
-
- '''-----------------------------------------------------------------------------
- '''
- ''' Disposes unmanaged resources of this class
- '''
- '''
- '''
- ''' [altair] 10.9.2003 Created
- '''
- '''-----------------------------------------------------------------------------
- Public Sub Dispose() Implements System.IDisposable.Dispose
- Me.Image.Dispose()
- End Sub
-End Class
diff --git a/CatalogVbLib/My Project/Application.Designer.vb b/CatalogVbLib/My Project/Application.Designer.vb
deleted file mode 100644
index 88dd01c..0000000
--- a/CatalogVbLib/My Project/Application.Designer.vb
+++ /dev/null
@@ -1,13 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
diff --git a/CatalogVbLib/My Project/Application.myapp b/CatalogVbLib/My Project/Application.myapp
deleted file mode 100644
index 758895d..0000000
--- a/CatalogVbLib/My Project/Application.myapp
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- false
- false
- 0
- true
- 0
- 1
- true
-
diff --git a/CatalogVbLib/My Project/AssemblyInfo.vb b/CatalogVbLib/My Project/AssemblyInfo.vb
deleted file mode 100644
index 4d58ddf..0000000
--- a/CatalogVbLib/My Project/AssemblyInfo.vb
+++ /dev/null
@@ -1,9 +0,0 @@
-Imports System
-Imports System.Reflection
-Imports System.Runtime.InteropServices
-
-
-
-
-'Se il progetto viene esposto a COM, il GUID seguente verrà utilizzato come ID della libreria dei tipi
-
diff --git a/CatalogVbLib/My Project/Resources.Designer.vb b/CatalogVbLib/My Project/Resources.Designer.vb
deleted file mode 100644
index 176c107..0000000
--- a/CatalogVbLib/My Project/Resources.Designer.vb
+++ /dev/null
@@ -1,63 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-Imports System
-
-Namespace My.Resources
-
- 'This class was auto-generated by the StronglyTypedResourceBuilder
- 'class via a tool like ResGen or Visual Studio.
- 'To add or remove a member, edit your .ResX file then rerun ResGen
- 'with the /str option, or rebuild your VS project.
- '''
- ''' A strongly-typed resource class, for looking up localized strings, etc.
- '''
- _
- Friend Module Resources
-
- Private resourceMan As Global.System.Resources.ResourceManager
-
- Private resourceCulture As Global.System.Globalization.CultureInfo
-
- '''
- ''' Returns the cached ResourceManager instance used by this class.
- '''
- _
- Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
- Get
- If Object.ReferenceEquals(resourceMan, Nothing) Then
- Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("CatalogVbLib.Resources", GetType(Resources).Assembly)
- resourceMan = temp
- End If
- Return resourceMan
- End Get
- End Property
-
- '''
- ''' Overrides the current thread's CurrentUICulture property for all
- ''' resource lookups using this strongly typed resource class.
- '''
- _
- Friend Property Culture() As Global.System.Globalization.CultureInfo
- Get
- Return resourceCulture
- End Get
- Set
- resourceCulture = value
- End Set
- End Property
- End Module
-End Namespace
diff --git a/CatalogVbLib/My Project/Resources.resx b/CatalogVbLib/My Project/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/CatalogVbLib/My Project/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/CatalogVbLib/My Project/Settings.Designer.vb b/CatalogVbLib/My Project/Settings.Designer.vb
deleted file mode 100644
index 9abf647..0000000
--- a/CatalogVbLib/My Project/Settings.Designer.vb
+++ /dev/null
@@ -1,73 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-
-Namespace My
-
- _
- Partial Friend NotInheritable Class MySettings
- Inherits Global.System.Configuration.ApplicationSettingsBase
-
- Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
-
-#Region "My.Settings Auto-Save Functionality"
-#If _MyType = "WindowsForms" Then
- Private Shared addedHandler As Boolean
-
- Private Shared addedHandlerLockObject As New Object
-
- _
- Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
- If My.Application.SaveMySettingsOnExit Then
- My.Settings.Save()
- End If
- End Sub
-#End If
-#End Region
-
- Public Shared ReadOnly Property [Default]() As MySettings
- Get
-
-#If _MyType = "WindowsForms" Then
- If Not addedHandler Then
- SyncLock addedHandlerLockObject
- If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
- End If
- End SyncLock
- End If
-#End If
- Return defaultInstance
- End Get
- End Property
- End Class
-End Namespace
-
-Namespace My
-
- _
- Friend Module MySettingsProperty
-
- _
- Friend ReadOnly Property Settings() As Global.CatalogVbLib.My.MySettings
- Get
- Return Global.CatalogVbLib.My.MySettings.Default
- End Get
- End Property
- End Module
-End Namespace
diff --git a/CatalogVbLib/My Project/Settings.settings b/CatalogVbLib/My Project/Settings.settings
deleted file mode 100644
index 85b890b..0000000
--- a/CatalogVbLib/My Project/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/CatalogVbLib/PicSettings.vb b/CatalogVbLib/PicSettings.vb
deleted file mode 100644
index 42a0da7..0000000
--- a/CatalogVbLib/PicSettings.vb
+++ /dev/null
@@ -1,606 +0,0 @@
-Imports System.IO
-Imports System.Drawing.Drawing2D
-Imports System.Drawing.Imaging
-Imports System.Windows.Forms
-Imports System.Drawing
-
-Public Module PicSettings
-
- Private _DirectorySorgente As String
- Private _DirectoryDestinazione As String
-
- Private _DimVert As Integer
- Private _MargVert As Integer
-
-
- Private _DimStandard As Integer
- Private _DimStandardMiniatura As Integer
-
- Private _NomeData As Boolean
- Private _TestoNome As Boolean
- Private _UsaOrarioMiniatura As Boolean
- Private _UsaOrarioTestoApplicare As Boolean
- Private _UsaTempoGaraTestoApplicare As Boolean
- Private _TestoFirmaStart As String
- Private _TestoFirmaStartV As String
- Private _DataPartenza As DateTime
- Private _TestoOrario As String
-
- Private _UsaRotazioneAutomatica As Boolean
- Private _UsaForzaJpg As Boolean
-
- Private _LarghezzaSmall As Integer
- Private _AltezzaSmall As Integer
-
- Private _CreaMiniature As Boolean
- Private _AggiungiScritteMiniature As Boolean
- Private _AggTempoGaraMin As Boolean
- Private _AggNumTempMin As Boolean
-
- Private _Suffisso As String
- Private _Codice As String
-
- Private _Trasparenza As Integer
- Private _IlFont As String
- Private _Grassetto As Boolean
-
- Private _Posizione As String
- Private _Allineamento As String
- Private _Margine As Integer
-
- Private _LogoAltezza As Integer
- Private _LogoLarghezza As Integer
-
- Private _fontColoreRGB As System.Drawing.Color
-
- Private _LogoAggiungi As Boolean
- Private _LogoNomeFile As String
- Private _LogoTrasparenza As String
- Private _LogoMargine As String
- Private _LogoPosizioneH As String
- Private _LogoPosizioneV As String
-
- Private _FotoGrandeDimOrigina As Boolean
- Private _AltezzaBig As Integer
- Private _LarghezzaBig As Integer
- Private _DestDir As DirectoryInfo
- Private _DimMin As Integer
-
- Private _TestoMin As Boolean
-
- Private _SecretDefault As Boolean
- Private _SecretBig As Boolean
- Private _SecretSmall As Boolean
-
- Private _SecretPathSmall As String
- Private _SecretPathBig As String
-
- Private _jpegQuality As Long
- Private _jpegQualityMin As Long
-
- Private FotoRuotaADestra As Boolean = False
- Private FotoRuotaASinistra As Boolean = False
-
- Private TempMinText As String = ""
-
- Private _mainForm As Form
-
- 'Private progressBar As System.Windows.Forms.ProgressBar
-
-
-
- Public Property mainForm() As Form
- Get
- Return _mainForm
- End Get
- Set(ByVal value As Form)
- _mainForm = value
- End Set
- End Property
-
- Public Property DirectorySorgente() As String
- Get
- Return _DirectorySorgente
- End Get
- Set(ByVal value As String)
- _DirectorySorgente = value
- End Set
- End Property
-
- Public Property DirectoryDestinazione() As String
- Get
- Return _DirectoryDestinazione
- End Get
- Set(ByVal value As String)
- _DirectoryDestinazione = value
- End Set
- End Property
-
- Public Property TestoFirmaStart() As String
- Get
- Return _TestoFirmaStart
- End Get
- Set(ByVal value As String)
- _TestoFirmaStart = value
- End Set
- End Property
-
- Public Property TestoFirmaStartV() As String
- Get
- Return _TestoFirmaStartV
- End Get
-
- Set(ByVal value As String)
- _TestoFirmaStartV = value
- End Set
- End Property
-
- Public Property DataPartenza() As DateTime
- Get
- Return _DataPartenza
- End Get
- Set(ByVal value As DateTime)
- _DataPartenza = value
- End Set
- End Property
-
- Public Property TestoOrario() As String
- Get
- Return _TestoOrario
- End Get
- Set(ByVal value As String)
- _TestoOrario = value
- End Set
- End Property
-
- Public Property DimStandard() As Integer
- Get
- Return _DimStandard
- End Get
- Set(ByVal value As Integer)
- _DimStandard = value
- End Set
- End Property
-
- Public Property DimStandardMiniatura() As Integer
- Get
- Return _DimStandardMiniatura
- End Get
- Set(ByVal value As Integer)
- _DimStandardMiniatura = value
- End Set
- End Property
-
- Public Property NomeData() As Boolean
- Get
- Return _NomeData
- End Get
- Set(ByVal value As Boolean)
- _NomeData = value
- End Set
- End Property
-
- Public Property TestoNome() As Boolean
- Get
- Return _TestoNome
- End Get
- Set(ByVal value As Boolean)
- _TestoNome = value
- End Set
- End Property
-
- Public Property UsaOrarioMiniatura() As Boolean
- Get
- Return _UsaOrarioMiniatura
- End Get
- Set(ByVal value As Boolean)
- _UsaOrarioMiniatura = value
- End Set
- End Property
-
- Public Property UsaOrarioTestoApplicare() As Boolean
- Get
- Return _UsaOrarioTestoApplicare
- End Get
- Set(ByVal value As Boolean)
- _UsaOrarioTestoApplicare = value
- End Set
- End Property
-
- Public Property UsaTempoGaraTestoApplicare() As Boolean
- Get
- Return _UsaTempoGaraTestoApplicare
- End Get
- Set(ByVal value As Boolean)
- _UsaTempoGaraTestoApplicare = value
- End Set
- End Property
-
- Public Property UsaRotazioneAutomatica() As Boolean
- Get
- Return _UsaRotazioneAutomatica
- End Get
- Set(ByVal value As Boolean)
- _UsaRotazioneAutomatica = value
- End Set
- End Property
-
- Public Property UsaForzaJpg() As Boolean
- Get
- Return _UsaForzaJpg
- End Get
- Set(ByVal value As Boolean)
- _UsaForzaJpg = value
- End Set
- End Property
-
-
-
- Public Property LarghezzaSmall() As Integer
- Get
- Return _LarghezzaSmall
- End Get
- Set(ByVal value As Integer)
- _LarghezzaSmall = value
- End Set
- End Property
-
- Public Property AltezzaSmall() As Integer
- Get
- Return _AltezzaSmall
- End Get
- Set(ByVal value As Integer)
- _AltezzaSmall = value
- End Set
- End Property
-
-
- Public Property CreaMiniature() As Boolean
- Get
- Return _CreaMiniature
- End Get
- Set(ByVal value As Boolean)
- _CreaMiniature = value
- End Set
- End Property
-
- Public Property AggiungiScritteMiniature() As Boolean
- Get
- Return _AggiungiScritteMiniature
- End Get
- Set(ByVal value As Boolean)
- _AggiungiScritteMiniature = value
- End Set
- End Property
-
-
- Public Property Suffisso() As String
- Get
- Return _Suffisso
- End Get
- Set(ByVal value As String)
- _Suffisso = value
- End Set
- End Property
-
- Public Property Codice() As String
- Get
- Return _Codice
- End Get
- Set(ByVal value As String)
- _Codice = value
- End Set
- End Property
-
-
- Public Property Trasparenza() As Integer
- Get
- Return _Trasparenza
- End Get
- Set(ByVal value As Integer)
- _Trasparenza = value
- End Set
- End Property
-
- Public Property IlFont() As String
- Get
- Return _IlFont
- End Get
- Set(ByVal value As String)
- _IlFont = value
- End Set
- End Property
-
- Public Property Grassetto() As Boolean
- Get
- Return _Grassetto
- End Get
- Set(ByVal value As Boolean)
- _Grassetto = value
- End Set
- End Property
-
- Public Property Posizione() As String
- Get
- Return _Posizione
- End Get
- Set(ByVal value As String)
- _Posizione = value
- End Set
- End Property
-
- Public Property Allineamento() As String
- Get
- Return _Allineamento
- End Get
- Set(ByVal value As String)
- _Allineamento = value
- End Set
- End Property
-
- Public Property Margine() As Integer
- Get
- Return _Margine
- End Get
- Set(ByVal value As Integer)
- _Margine = value
- End Set
- End Property
-
- Public Property LogoAltezza() As Integer
- Get
- Return _LogoAltezza
- End Get
- Set(ByVal value As Integer)
- _LogoAltezza = value
- End Set
- End Property
-
- Public Property LogoLarghezza() As Integer
- Get
- Return _LogoLarghezza
- End Get
- Set(ByVal value As Integer)
- _LogoLarghezza = value
- End Set
- End Property
-
- Public Property fontColoreRGB() As Color
- Get
- Return _fontColoreRGB
- End Get
- Set(ByVal value As Color)
- _fontColoreRGB = value
- End Set
- End Property
-
- Public Property LogoAggiungi() As Boolean
- Get
- Return _LogoAggiungi
- End Get
- Set(ByVal value As Boolean)
- _LogoAggiungi = value
- End Set
- End Property
-
- Public Property LogoNomeFile() As String
- Get
- Return _LogoNomeFile
- End Get
- Set(ByVal value As String)
- _LogoNomeFile = value
- End Set
- End Property
-
- Public Property LogoTrasparenza() As String
- Get
- Return _LogoTrasparenza
- End Get
- Set(ByVal value As String)
- _LogoTrasparenza = value
- End Set
- End Property
-
- Public Property LogoMargine() As String
- Get
- Return _LogoMargine
- End Get
- Set(ByVal value As String)
- _LogoMargine = value
- End Set
- End Property
-
- Public Property LogoPosizioneH() As String
- Get
- Return _LogoPosizioneH
- End Get
- Set(ByVal value As String)
- _LogoPosizioneH = value
- End Set
- End Property
-
- Public Property LogoPosizioneV() As String
- Get
- Return _LogoPosizioneV
- End Get
- Set(ByVal value As String)
- _LogoPosizioneV = value
- End Set
- End Property
-
- Public Property FotoGrandeDimOrigina() As Boolean
- Get
- Return _FotoGrandeDimOrigina
- End Get
- Set(ByVal value As Boolean)
- _FotoGrandeDimOrigina = value
- End Set
- End Property
-
- Public Property AltezzaBig() As Integer
- Get
- Return _AltezzaBig
- End Get
- Set(ByVal value As Integer)
- _AltezzaBig = value
- End Set
- End Property
-
- Public Property LarghezzaBig() As Integer
- Get
- Return _LarghezzaBig
- End Get
- Set(ByVal value As Integer)
- _LarghezzaBig = value
- End Set
- End Property
-
- Public Property DestDir() As DirectoryInfo
- Get
- Return _DestDir
- End Get
- Set(ByVal value As DirectoryInfo)
- _DestDir = value
- End Set
- End Property
-
- Public Property DimVert() As Integer
- Get
- Return _DimVert
-
- End Get
- Set(ByVal value As Integer)
- _DimVert = value
-
- End Set
- End Property
-
- Public Property MargVert() As Integer
- Get
- Return _MargVert
-
- End Get
- Set(ByVal value As Integer)
- _MargVert = value
- End Set
- End Property
-
- Public Property TestoMin() As Boolean
- Get
- Return _TestoMin
-
- End Get
- Set(ByVal value As Boolean)
- _TestoMin = value
-
- End Set
- End Property
-
- Public Property DimMin() As Integer
- Get
- Return _DimMin
-
- End Get
- Set(ByVal value As Integer)
- _DimMin = value
-
- End Set
- End Property
-
- Public Property SecretDefault() As Boolean
- Get
- Return _SecretDefault
-
- End Get
- Set(ByVal value As Boolean)
- _SecretDefault = value
-
- End Set
- End Property
-
- Public Property SecretBig() As Boolean
- Get
- Return _SecretBig
-
- End Get
- Set(ByVal value As Boolean)
- _SecretBig = value
-
- End Set
- End Property
-
- Public Property SecretSmall() As Boolean
- Get
- Return _SecretSmall
-
- End Get
- Set(ByVal value As Boolean)
- _SecretSmall = value
-
- End Set
- End Property
-
- Public Property SecretPathSmall() As String
- Get
- Return _SecretPathSmall
-
- End Get
- Set(ByVal value As String)
- _SecretPathSmall = value
-
- End Set
- End Property
-
- Public Property SecretPathBig() As String
- Get
- Return _SecretPathBig
-
- End Get
- Set(ByVal value As String)
- _SecretPathBig = value
-
- End Set
- End Property
-
- Public Property AggTempoGaraMin() As Boolean
- Get
- Return _AggTempoGaraMin
-
- End Get
- Set(ByVal value As Boolean)
- _AggTempoGaraMin = value
-
- End Set
- End Property
-
- Public Property AggNumTempMin() As Boolean
- Get
- Return _AggNumTempMin
-
- End Get
- Set(ByVal value As Boolean)
- _AggNumTempMin = value
-
- End Set
- End Property
-
- Public Property jpegQuality() As Long
- Get
- Return _jpegQuality
- End Get
- Set(ByVal value As Long)
- _jpegQuality = value
- End Set
-
- End Property
-
- Public Property jpegQualityMin() As Long
- Get
- Return _jpegQualityMin
- End Get
- Set(ByVal value As Long)
- _jpegQualityMin = value
- End Set
-
- End Property
-End Module
diff --git a/ImageCatalogCS/AboutForm.Designer.cs b/ImageCatalogCS/AboutForm.Designer.cs
deleted file mode 100644
index 01cd505..0000000
--- a/ImageCatalogCS/AboutForm.Designer.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-namespace ImageCatalogCS
-{
- partial class AboutForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
- this.label1 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
- this.button1 = new System.Windows.Forms.Button();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- this.SuspendLayout();
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(12, 213);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(75, 13);
- this.label1.TabIndex = 0;
- this.label1.Text = "Image Catalog";
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(350, 213);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(66, 13);
- this.label2.TabIndex = 1;
- this.label2.Text = "Versione 3.0";
- //
- // button1
- //
- this.button1.Location = new System.Drawing.Point(176, 239);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(75, 23);
- this.button1.TabIndex = 2;
- this.button1.Text = "Chiudi";
- this.button1.UseVisualStyleBackColor = true;
- this.button1.Click += new System.EventHandler(this.button1_Click);
- //
- // pictureBox1
- //
- this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
- this.pictureBox1.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.InitialImage")));
- this.pictureBox1.Location = new System.Drawing.Point(15, 13);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(401, 197);
- this.pictureBox1.TabIndex = 3;
- this.pictureBox1.TabStop = false;
- //
- // AboutForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(433, 274);
- this.Controls.Add(this.pictureBox1);
- this.Controls.Add(this.button1);
- this.Controls.Add(this.label2);
- this.Controls.Add(this.label1);
- this.Name = "AboutForm";
- this.Text = "AboutForm";
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button button1;
- private System.Windows.Forms.PictureBox pictureBox1;
- }
-}
\ No newline at end of file
diff --git a/ImageCatalogCS/AboutForm.cs b/ImageCatalogCS/AboutForm.cs
deleted file mode 100644
index 80e20f9..0000000
--- a/ImageCatalogCS/AboutForm.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace ImageCatalogCS
-{
- public partial class AboutForm : Form
- {
- public AboutForm()
- {
- InitializeComponent();
- }
-
- private void button1_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
-}
diff --git a/ImageCatalogCS/AboutForm.resx b/ImageCatalogCS/AboutForm.resx
deleted file mode 100644
index 02a449f..0000000
--- a/ImageCatalogCS/AboutForm.resx
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAZ4AAADQCAIAAAC4O5DwAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAS
- cwAAEnMBjCK5BwAAC05JREFUeF7t2sGBG0cORmEn4PPmooCUxO7FGTgaJ+NgtE0OKZMeTTdQDVQBf7/v
- 4svuDLsK9boo6bcfACCHtAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYA
- gkgbAEGkDYAg0gZAEGkDIIi0ARBE2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBpAyCItAEQRNoACCJtAASR
- NgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0pbqr++/Dfn259+PnwBhjEci
- 0hZndFBtvv/1+DXoifGYi7SdkzuvX+Gt3QTjsQ5pG/H3n98eU7QaL+uCGI8KSJtHnZn9NxJXAONRCWkz
- qTu0b/gmsgbjUdDKtB0PRIG9aDK1r1asmvsPlUSO2cXGo8WRfViXNsNQLL5GNxzbF3MX74Jpu+Z4HG90
- lZ1dlTbLXCwsW+7YHm5+2F+sTVvCa6UtvWr7q7N0PAy/vMberkmbZTSWrU/Y4OxyTtWJDzUlb9dJ25zx
- 2Hj2beZ4lD68L1akzfTOm3IgP5k2tzeD+z9yZUgftWukbep4bEYWacJ4WJZh/f7OT5tt6ReUbfbc3px6
- TOcQpy6pftpWjMdmfNcSx8O0Fqt3eHbabOs9fVVGXnUxAh7Vfujy1lU7bevGY3N2pTLGo+gxfjM5bbZl
- nrwkSwd3E3Odsk5wzuVNOG3G8fjP478ZAvYsejxsPy9n2Gymps24vFPXwzS4vz/+myTumNuOYcICq6bN
- tKDf/vff5Jdj0GpFjkfFw/xmYtqMb7+ZM2/5SN//sJ7az7toPvChD234reGLLJk203hsm25++BITEjUe
- Bc/zm2lpMy7EzJU43uNtFE2fe/9DW8Y3+rGPP3bsbzQf0adlE29mGo9NxwkJGY+CR/rVrLRZR3/aMhzu
- i3VuTZ/YMAWf3+hnHa554K9US5txPCz/y6oTEjAe1l2Pn22DOWkz7NuHWWtwtCfPz2Gf8ENHPyrlrB/9
- 0rD11kqbdTw2rSfk9HhYt33Fbk9Jm3nuw07avv3P87INsWU4+GlZ229+2jPMW/y0YtiNPAvWf0LOjYd5
- 3ycd7RcT0na0+z/Nmfb9j/P+GaKrsP/z8nZ/9/eGLLt5xJ/mbLafZzw2EhNyZjyKne4X+WkzD/2UZ9/d
- iX9/gv1tG5mzM0N0iuu5B5h3+Wn6pJt4l0llQk6Mx/4SvJp8cctOm/3BC876iQ3/QvxRKEIkbV5MSN0j
- npw2+8RXHPWEN+jujyRt3TAhG3vbpn7+1LQVfWYzBteMtH12nQmx7/7Ebc9MW/ey7T/A0CbtLwlp64YJ
- +eDY/mmPkJi2io/rEz9mu2vS+bSTtl+40IQUPOx5aetftqNn8A/a/s8ruwwGjt3+oJE2JuTJMQCTtj4r
- bfuvs3d1N+zoKXyf/OCntT7sV00bE/JUrm1JadMom+E57B8+8EcV5E7bh9bPfMeEPFVrW07aPINe+/V9
- 3GjT5z/+Mc1P+WDafur79EzIk2cGJjxLStp0ymYauaOHsCxH9WU4cjZtH1quAhPyYFqIp/y2ZaRNqWwb
- 8+N83i3z/7V72YLSdtdvLZiQD7XalpA2z5S3GGPXjo1oH7bQtN1N+MISiAn5UKpt8WlzDXmTCc4d3V7H
- +Nei03bTaV2YkLtKhz88bYpl26SNrsCN7SYjbZtGq8OE3BQ6/tFpcz1ar2OdcXo7XUx2JaVt02hImBBn
- 4FMfLjhtwmXbBL+Y2z3/jry0bS57uW84IXXaFpu2Qs3OEnWGWz7811LT1uuMX3xCytxuQtPmK1vbS8vp
- V7PSde0hOW3N1uzKE1ImAqFp881373vL6FkWu609paet33G/6oRUqUBk2nzPJHF18TyyaNQ+TEhbz5G5
- 3oQ4r6xpDx2Ytot8Hf21rydY7EG/8Hz+naeNqF/jw3+dCfFtdNrTB6bN90TSdxh87dyfQ13jRdFbkWtb
- XNoufWmDz4kbHO/E8py7m7SjcWkrcg1FE8N1o23VOa9tSS0IS1uRWyj6GP1qymuxuhLXtrC0cWmD39jV
- jekprsS1LSptXNowYuzmxvgUV+HaFpW2EldQNDR0cWN+ahNKW4kbKFoaaRsDVFuFHgSlzTmeTCb+Qdvk
- eP+cIePatiZtfJ/Ai5G2MUKlFQhCTNoqRBptjfxdAte20gp8jVuSNsYSb0baxuuxsgJFIG0oYOArKWmr
- zPuyStjNmLQVuH6is4G0MUSVXTVtvHDxbuAbKWmrjLQBd3wjFbM+CaQNFZA2Mc4NTbiDkzZUQNrEkDbg
- hrSJIW3ADWkTsz4JpA0V+NPG35CWRtqAG9KmhX+yC9wM/Ls23o+VOTc0owgxaSvwIOiMtIkhbcAN30fF
- OIuQ8Z6KSRt/2IYzuLSpKRAE0ob1uLSp8e1oym4GpY1vpFfyc7eDXlH+svFyrK1CD4LSVqHSyPLl5sbs
- I2WTU+CP2sLSVuFZEMOxlxFtGygbr8biKtx0otLmfBjSVtGKyDjfiXeUrbgSF52wtPmehuEsaX7bBn4j
- w1NeiRiEpY1rm4LJd6iRsDE69ZVoQVzauLYpGGnb4GYO/SrK1kCNFMSljWubhMHgeOdz6L624ZXYQI0S
- BKaNa5uG0epYt3Qwnne8EBvwbXDalgamrcoj4aQz7dl8WbjhZj7xOmzBtc95exqZtirPhLNORygDA9ND
- lRtOaNq4tskoFzfC1oVrdBIjEJo2X9sY1tJKxY1ZaaNMA2LT5nsurm21+S7hiRiURjyvxNQ3VnDaytxG
- EaLA1Y0LWyt1AhCdtjrRRoi1VzcmpJlCX9vC0+ZqG9e2DlbVjenop9Dpj08bbVM0O29c11qqdPYT0uZ5
- Pia4kVl5433XlWdC0nc5I220TVhu36haZ57ZyD/4KWnztI1h7ig8cLziBNQ69jlpo20XcTpxJE1HsUOf
- lDbHYzLcKoydY8M1OV5zU64zWWmjbcCVVCtbXtocj0rbgObKlS0xbbStiN19EF76qz73EgUPe2LaHF9K
- GbRU+3Onufi7s8e8RSt41FPTRtvK2N8JteW/1tMWYD7oE/89RG7a7PdUxi3b0fRNHLpURyOn8pyVVCxb
- dtrsT03b0h2+Z/qf+sNpI2wJap7x9LTRtkqON6Pv2T/+hsCIZTB/M5s8WvlpMz86gzeDZTf65c3w/mS8
- cpQ93hPSZr+48W1hCtMwtimB7WgxWkmsZZu/AVPSVvj5L8q4IcX7xitzOeMWrBikOWkrvQQXZX3dlCyD
- NWpMVC7jPiyZoFlpE7kniLEXosjO2Ht8x3UtVe0zPS1t5oVgHOfy5O1mxaA6i3bHSzJb8QM9MW3WU0Tb
- pvPm7SG3HoMf6oYRmqD6aZ6aNmPned+uMHIz+mx4kk+E7B1Zm8O0YSuP8ty0GQ8QbVslpm+rULVpbIOy
- dENmp81Ye4Z0oYZ942U4V4dDPD9ttnVhVldrEjgGZT7TaCy/naxImy1uXNxKqFs4BmQRy0gUeOOsSZsp
- boxuJXUSx1ysZTi6Ja7Sq9JmWSG+a5RkuXLHYxhqMLziimzVurRZzggv6OJyM8f2l9PoQrIybVA0Wjuu
- ZQhF2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBpAyCItAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMg
- iLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0gZAEGkDIIi0ARBE2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBp
- AyCItAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0gZA
- EGkDIIi0ARBE2gAIIm0ABJE2AIJIGwA5P378HyuEmb0husDDAAAAAElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAZ4AAADQCAIAAAC4O5DwAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAS
- cwAAEnMBjCK5BwAAC05JREFUeF7t2sGBG0cORmEn4PPmooCUxO7FGTgaJ+NgtE0OKZMeTTdQDVQBf7/v
- 4svuDLsK9boo6bcfACCHtAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYA
- gkgbAEGkDYAg0gZAEGkDIIi0ARBE2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBpAyCItAEQRNoACCJtAASR
- NgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0pbqr++/Dfn259+PnwBhjEci
- 0hZndFBtvv/1+DXoifGYi7SdkzuvX+Gt3QTjsQ5pG/H3n98eU7QaL+uCGI8KSJtHnZn9NxJXAONRCWkz
- qTu0b/gmsgbjUdDKtB0PRIG9aDK1r1asmvsPlUSO2cXGo8WRfViXNsNQLL5GNxzbF3MX74Jpu+Z4HG90
- lZ1dlTbLXCwsW+7YHm5+2F+sTVvCa6UtvWr7q7N0PAy/vMberkmbZTSWrU/Y4OxyTtWJDzUlb9dJ25zx
- 2Hj2beZ4lD68L1akzfTOm3IgP5k2tzeD+z9yZUgftWukbep4bEYWacJ4WJZh/f7OT5tt6ReUbfbc3px6
- TOcQpy6pftpWjMdmfNcSx8O0Fqt3eHbabOs9fVVGXnUxAh7Vfujy1lU7bevGY3N2pTLGo+gxfjM5bbZl
- nrwkSwd3E3Odsk5wzuVNOG3G8fjP478ZAvYsejxsPy9n2Gymps24vFPXwzS4vz/+myTumNuOYcICq6bN
- tKDf/vff5Jdj0GpFjkfFw/xmYtqMb7+ZM2/5SN//sJ7az7toPvChD234reGLLJk203hsm25++BITEjUe
- Bc/zm2lpMy7EzJU43uNtFE2fe/9DW8Y3+rGPP3bsbzQf0adlE29mGo9NxwkJGY+CR/rVrLRZR3/aMhzu
- i3VuTZ/YMAWf3+hnHa554K9US5txPCz/y6oTEjAe1l2Pn22DOWkz7NuHWWtwtCfPz2Gf8ENHPyrlrB/9
- 0rD11kqbdTw2rSfk9HhYt33Fbk9Jm3nuw07avv3P87INsWU4+GlZ229+2jPMW/y0YtiNPAvWf0LOjYd5
- 3ycd7RcT0na0+z/Nmfb9j/P+GaKrsP/z8nZ/9/eGLLt5xJ/mbLafZzw2EhNyZjyKne4X+WkzD/2UZ9/d
- iX9/gv1tG5mzM0N0iuu5B5h3+Wn6pJt4l0llQk6Mx/4SvJp8cctOm/3BC876iQ3/QvxRKEIkbV5MSN0j
- npw2+8RXHPWEN+jujyRt3TAhG3vbpn7+1LQVfWYzBteMtH12nQmx7/7Ebc9MW/ey7T/A0CbtLwlp64YJ
- +eDY/mmPkJi2io/rEz9mu2vS+bSTtl+40IQUPOx5aetftqNn8A/a/s8ruwwGjt3+oJE2JuTJMQCTtj4r
- bfuvs3d1N+zoKXyf/OCntT7sV00bE/JUrm1JadMom+E57B8+8EcV5E7bh9bPfMeEPFVrW07aPINe+/V9
- 3GjT5z/+Mc1P+WDafur79EzIk2cGJjxLStp0ymYauaOHsCxH9WU4cjZtH1quAhPyYFqIp/y2ZaRNqWwb
- 8+N83i3z/7V72YLSdtdvLZiQD7XalpA2z5S3GGPXjo1oH7bQtN1N+MISiAn5UKpt8WlzDXmTCc4d3V7H
- +Nei03bTaV2YkLtKhz88bYpl26SNrsCN7SYjbZtGq8OE3BQ6/tFpcz1ar2OdcXo7XUx2JaVt02hImBBn
- 4FMfLjhtwmXbBL+Y2z3/jry0bS57uW84IXXaFpu2Qs3OEnWGWz7811LT1uuMX3xCytxuQtPmK1vbS8vp
- V7PSde0hOW3N1uzKE1ImAqFp881373vL6FkWu609paet33G/6oRUqUBk2nzPJHF18TyyaNQ+TEhbz5G5
- 3oQ4r6xpDx2Ytot8Hf21rydY7EG/8Hz+naeNqF/jw3+dCfFtdNrTB6bN90TSdxh87dyfQ13jRdFbkWtb
- XNoufWmDz4kbHO/E8py7m7SjcWkrcg1FE8N1o23VOa9tSS0IS1uRWyj6GP1qymuxuhLXtrC0cWmD39jV
- jekprsS1LSptXNowYuzmxvgUV+HaFpW2EldQNDR0cWN+ahNKW4kbKFoaaRsDVFuFHgSlzTmeTCb+Qdvk
- eP+cIePatiZtfJ/Ai5G2MUKlFQhCTNoqRBptjfxdAte20gp8jVuSNsYSb0baxuuxsgJFIG0oYOArKWmr
- zPuyStjNmLQVuH6is4G0MUSVXTVtvHDxbuAbKWmrjLQBd3wjFbM+CaQNFZA2Mc4NTbiDkzZUQNrEkDbg
- hrSJIW3ADWkTsz4JpA0V+NPG35CWRtqAG9KmhX+yC9wM/Ls23o+VOTc0owgxaSvwIOiMtIkhbcAN30fF
- OIuQ8Z6KSRt/2IYzuLSpKRAE0ob1uLSp8e1oym4GpY1vpFfyc7eDXlH+svFyrK1CD4LSVqHSyPLl5sbs
- I2WTU+CP2sLSVuFZEMOxlxFtGygbr8biKtx0otLmfBjSVtGKyDjfiXeUrbgSF52wtPmehuEsaX7bBn4j
- w1NeiRiEpY1rm4LJd6iRsDE69ZVoQVzauLYpGGnb4GYO/SrK1kCNFMSljWubhMHgeOdz6L624ZXYQI0S
- BKaNa5uG0epYt3Qwnne8EBvwbXDalgamrcoj4aQz7dl8WbjhZj7xOmzBtc95exqZtirPhLNORygDA9ND
- lRtOaNq4tskoFzfC1oVrdBIjEJo2X9sY1tJKxY1ZaaNMA2LT5nsurm21+S7hiRiURjyvxNQ3VnDaytxG
- EaLA1Y0LWyt1AhCdtjrRRoi1VzcmpJlCX9vC0+ZqG9e2DlbVjenop9Dpj08bbVM0O29c11qqdPYT0uZ5
- Pia4kVl5433XlWdC0nc5I220TVhu36haZ57ZyD/4KWnztI1h7ig8cLziBNQ69jlpo20XcTpxJE1HsUOf
- lDbHYzLcKoydY8M1OV5zU64zWWmjbcCVVCtbXtocj0rbgObKlS0xbbStiN19EF76qz73EgUPe2LaHF9K
- GbRU+3Onufi7s8e8RSt41FPTRtvK2N8JteW/1tMWYD7oE/89RG7a7PdUxi3b0fRNHLpURyOn8pyVVCxb
- dtrsT03b0h2+Z/qf+sNpI2wJap7x9LTRtkqON6Pv2T/+hsCIZTB/M5s8WvlpMz86gzeDZTf65c3w/mS8
- cpQ93hPSZr+48W1hCtMwtimB7WgxWkmsZZu/AVPSVvj5L8q4IcX7xitzOeMWrBikOWkrvQQXZX3dlCyD
- NWpMVC7jPiyZoFlpE7kniLEXosjO2Ht8x3UtVe0zPS1t5oVgHOfy5O1mxaA6i3bHSzJb8QM9MW3WU0Tb
- pvPm7SG3HoMf6oYRmqD6aZ6aNmPned+uMHIz+mx4kk+E7B1Zm8O0YSuP8ty0GQ8QbVslpm+rULVpbIOy
- dENmp81Ye4Z0oYZ942U4V4dDPD9ttnVhVldrEjgGZT7TaCy/naxImy1uXNxKqFs4BmQRy0gUeOOsSZsp
- boxuJXUSx1ysZTi6Ja7Sq9JmWSG+a5RkuXLHYxhqMLziimzVurRZzggv6OJyM8f2l9PoQrIybVA0Wjuu
- ZQhF2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBpAyCItAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMg
- iLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0gZAEGkDIIi0ARBE2gAIIm0ABJE2AIJIGwBBpA2AINIGQBBp
- AyCItAEQRNoACCJtAASRNgCCSBsAQaQNgCDSBkAQaQMgiLQBEETaAAgibQAEkTYAgkgbAEGkDYAg0gZA
- EGkDIIi0ARBE2gAIIm0ABJE2AIJIGwA5P378HyuEmb0husDDAAAAAElFTkSuQmCC
-
-
-
\ No newline at end of file
diff --git a/ImageCatalogCS/App.config b/ImageCatalogCS/App.config
deleted file mode 100644
index 4bfa005..0000000
--- a/ImageCatalogCS/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/ImageCatalogCS/CreaImmagineSeparateThread.cs b/ImageCatalogCS/CreaImmagineSeparateThread.cs
deleted file mode 100644
index 4444736..0000000
--- a/ImageCatalogCS/CreaImmagineSeparateThread.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ImageCatalogCS
-{
- class CreaImmagineSeparateThread
- {
- }
-}
diff --git a/ImageCatalogCS/ExifReader.cs b/ImageCatalogCS/ExifReader.cs
deleted file mode 100644
index 9f801be..0000000
--- a/ImageCatalogCS/ExifReader.cs
+++ /dev/null
@@ -1,1166 +0,0 @@
-using Microsoft.VisualBasic;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-///-----------------------------------------------------------------------------
-///
-/// Utility class for reading EXIF data from images. Provides abstraction
-/// for most common data and generic utilities for work with all other.
-///
-///
-/// Copyright (c) Michal A. Valášek - Altair Communications, 2003
-/// Copmany: http://software.altaircom.net * support@altaircom.net
-/// Private: http://www.rider.cz * developer@rider.cz
-/// This is free software licensed under GNU Lesser General Public License
-///
-///
-/// [altair] 10.9.2003 Created
-///
-///-----------------------------------------------------------------------------
-public class ExifReader : IDisposable
-{
-
-
- private System.Drawing.Bitmap Image;
- ///-----------------------------------------------------------------------------
- ///
- /// Contains possible values of EXIF tag names (ID)
- ///
- /// See GdiPlusImaging.h
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum TagNames
- {
- ExifIFD = 0x8769,
- GpsIFD = 0x8825,
- NewSubfileType = 0xfe,
- SubfileType = 0xff,
- ImageWidth = 0x100,
- ImageHeight = 0x101,
- BitsPerSample = 0x102,
- Compression = 0x103,
- PhotometricInterp = 0x106,
- ThreshHolding = 0x107,
- CellWidth = 0x108,
- CellHeight = 0x109,
- FillOrder = 0x10a,
- DocumentName = 0x10d,
- ImageDescription = 0x10e,
- EquipMake = 0x10f,
- EquipModel = 0x110,
- StripOffsets = 0x111,
- Orientation = 0x112,
- SamplesPerPixel = 0x115,
- RowsPerStrip = 0x116,
- StripBytesCount = 0x117,
- MinSampleValue = 0x118,
- MaxSampleValue = 0x119,
- XResolution = 0x11a,
- YResolution = 0x11b,
- PlanarConfig = 0x11c,
- PageName = 0x11d,
- XPosition = 0x11e,
- YPosition = 0x11f,
- FreeOffset = 0x120,
- FreeByteCounts = 0x121,
- GrayResponseUnit = 0x122,
- GrayResponseCurve = 0x123,
- T4Option = 0x124,
- T6Option = 0x125,
- ResolutionUnit = 0x128,
- PageNumber = 0x129,
- TransferFuncition = 0x12d,
- SoftwareUsed = 0x131,
- DateTime = 0x132,
- Artist = 0x13b,
- HostComputer = 0x13c,
- Predictor = 0x13d,
- WhitePoint = 0x13e,
- PrimaryChromaticities = 0x13f,
- ColorMap = 0x140,
- HalftoneHints = 0x141,
- TileWidth = 0x142,
- TileLength = 0x143,
- TileOffset = 0x144,
- TileByteCounts = 0x145,
- InkSet = 0x14c,
- InkNames = 0x14d,
- NumberOfInks = 0x14e,
- DotRange = 0x150,
- TargetPrinter = 0x151,
- ExtraSamples = 0x152,
- SampleFormat = 0x153,
- SMinSampleValue = 0x154,
- SMaxSampleValue = 0x155,
- TransferRange = 0x156,
- JPEGProc = 0x200,
- JPEGInterFormat = 0x201,
- JPEGInterLength = 0x202,
- JPEGRestartInterval = 0x203,
- JPEGLosslessPredictors = 0x205,
- JPEGPointTransforms = 0x206,
- JPEGQTables = 0x207,
- JPEGDCTables = 0x208,
- JPEGACTables = 0x209,
- YCbCrCoefficients = 0x211,
- YCbCrSubsampling = 0x212,
- YCbCrPositioning = 0x213,
- REFBlackWhite = 0x214,
- ICCProfile = 0x8773,
- Gamma = 0x301,
- ICCProfileDescriptor = 0x302,
- SRGBRenderingIntent = 0x303,
- ImageTitle = 0x320,
- Copyright = 0x8298,
- ResolutionXUnit = 0x5001,
- ResolutionYUnit = 0x5002,
- ResolutionXLengthUnit = 0x5003,
- ResolutionYLengthUnit = 0x5004,
- PrintFlags = 0x5005,
- PrintFlagsVersion = 0x5006,
- PrintFlagsCrop = 0x5007,
- PrintFlagsBleedWidth = 0x5008,
- PrintFlagsBleedWidthScale = 0x5009,
- HalftoneLPI = 0x500a,
- HalftoneLPIUnit = 0x500b,
- HalftoneDegree = 0x500c,
- HalftoneShape = 0x500d,
- HalftoneMisc = 0x500e,
- HalftoneScreen = 0x500f,
- JPEGQuality = 0x5010,
- GridSize = 0x5011,
- ThumbnailFormat = 0x5012,
- ThumbnailWidth = 0x5013,
- ThumbnailHeight = 0x5014,
- ThumbnailColorDepth = 0x5015,
- ThumbnailPlanes = 0x5016,
- ThumbnailRawBytes = 0x5017,
- ThumbnailSize = 0x5018,
- ThumbnailCompressedSize = 0x5019,
- ColorTransferFunction = 0x501a,
- ThumbnailData = 0x501b,
- ThumbnailImageWidth = 0x5020,
- ThumbnailImageHeight = 0x502,
- ThumbnailBitsPerSample = 0x5022,
- ThumbnailCompression = 0x5023,
- ThumbnailPhotometricInterp = 0x5024,
- ThumbnailImageDescription = 0x5025,
- ThumbnailEquipMake = 0x5026,
- ThumbnailEquipModel = 0x5027,
- ThumbnailStripOffsets = 0x5028,
- ThumbnailOrientation = 0x5029,
- ThumbnailSamplesPerPixel = 0x502a,
- ThumbnailRowsPerStrip = 0x502b,
- ThumbnailStripBytesCount = 0x502c,
- ThumbnailResolutionX = 0x502d,
- ThumbnailResolutionY = 0x502e,
- ThumbnailPlanarConfig = 0x502f,
- ThumbnailResolutionUnit = 0x5030,
- ThumbnailTransferFunction = 0x5031,
- ThumbnailSoftwareUsed = 0x5032,
- ThumbnailDateTime = 0x5033,
- ThumbnailArtist = 0x5034,
- ThumbnailWhitePoint = 0x5035,
- ThumbnailPrimaryChromaticities = 0x5036,
- ThumbnailYCbCrCoefficients = 0x5037,
- ThumbnailYCbCrSubsampling = 0x5038,
- ThumbnailYCbCrPositioning = 0x5039,
- ThumbnailRefBlackWhite = 0x503a,
- ThumbnailCopyRight = 0x503b,
- LuminanceTable = 0x5090,
- ChrominanceTable = 0x5091,
- FrameDelay = 0x5100,
- LoopCount = 0x5101,
- PixelUnit = 0x5110,
- PixelPerUnitX = 0x5111,
- PixelPerUnitY = 0x5112,
- PaletteHistogram = 0x5113,
- ExifExposureTime = 0x829a,
- ExifFNumber = 0x829d,
- ExifExposureProg = 0x8822,
- ExifSpectralSense = 0x8824,
- ExifISOSpeed = 0x8827,
- ExifOECF = 0x8828,
- ExifVer = 0x9000,
- ExifDTOrig = 0x9003,
- ExifDTDigitized = 0x9004,
- ExifCompConfig = 0x9101,
- ExifCompBPP = 0x9102,
- ExifShutterSpeed = 0x9201,
- ExifAperture = 0x9202,
- ExifBrightness = 0x9203,
- ExifExposureBias = 0x9204,
- ExifMaxAperture = 0x9205,
- ExifSubjectDist = 0x9206,
- ExifMeteringMode = 0x9207,
- ExifLightSource = 0x9208,
- ExifFlash = 0x9209,
- ExifFocalLength = 0x920a,
- ExifMakerNote = 0x927c,
- ExifUserComment = 0x9286,
- ExifDTSubsec = 0x9290,
- ExifDTOrigSS = 0x9291,
- ExifDTDigSS = 0x9292,
- ExifFPXVer = 0xa000,
- ExifColorSpace = 0xa001,
- ExifPixXDim = 0xa002,
- ExifPixYDim = 0xa003,
- ExifRelatedWav = 0xa004,
- ExifInterop = 0xa005,
- ExifFlashEnergy = 0xa20b,
- ExifSpatialFR = 0xa20c,
- ExifFocalXRes = 0xa20e,
- ExifFocalYRes = 0xa20f,
- ExifFocalResUnit = 0xa210,
- ExifSubjectLoc = 0xa214,
- ExifExposureIndex = 0xa215,
- ExifSensingMethod = 0xa217,
- ExifFileSource = 0xa300,
- ExifSceneType = 0xa301,
- ExifCfaPattern = 0xa302,
- GpsVer = 0x0,
- GpsLatitudeRef = 0x1,
- GpsLatitude = 0x2,
- GpsLongitudeRef = 0x3,
- GpsLongitude = 0x4,
- GpsAltitudeRef = 0x5,
- GpsAltitude = 0x6,
- GpsGpsTime = 0x7,
- GpsGpsSatellites = 0x8,
- GpsGpsStatus = 0x9,
- GpsGpsMeasureMode = 0xa,
- GpsGpsDop = 0xb,
- GpsSpeedRef = 0xc,
- GpsSpeed = 0xd,
- GpsTrackRef = 0xe,
- GpsTrack = 0xf,
- GpsImgDirRef = 0x10,
- GpsImgDir = 0x11,
- GpsMapDatum = 0x12,
- GpsDestLatRef = 0x13,
- GpsDestLat = 0x14,
- GpsDestLongRef = 0x15,
- GpsDestLong = 0x16,
- GpsDestBearRef = 0x17,
- GpsDestBear = 0x18,
- GpsDestDistRef = 0x19,
- GpsDestDist = 0x1a
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Real position of 0th row and column of picture
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum Orientations
- {
- TopLeft = 1,
- TopRight = 2,
- BottomRight = 3,
- BottomLeft = 4,
- LeftTop = 5,
- RightTop = 6,
- RightBottom = 7,
- LftBottom = 8
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Exposure programs
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum ExposurePrograms
- {
- Manual = 1,
- Normal = 2,
- AperturePriority = 3,
- ShutterPriority = 4,
- Creative = 5,
- Action = 6,
- Portrait = 7,
- Landscape = 8
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Exposure metering modes
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum ExposureMeteringModes
- {
- Unknown = 0,
- Average = 1,
- CenterWeightedAverage = 2,
- Spot = 3,
- MultiSpot = 4,
- MultiSegment = 5,
- Partial = 6,
- Other = 255
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Flash activity modes
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum FlashModes
- {
- NotFired = 0,
- Fired = 1,
- FiredButNoStrobeReturned = 5,
- FiredAndStrobeReturned = 7
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Possible light sources (white balance)
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public enum LightSources
- {
- Unknown = 0,
- Daylight = 1,
- Fluorescent = 2,
- Tungsten = 3,
- Flash = 10,
- StandardLightA = 17,
- StandardLightB = 18,
- StandardLightC = 19,
- D55 = 20,
- D65 = 21,
- D75 = 22,
- Other = 255
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Represents rational which is type of some Exif properties
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public struct Rational
- {
- public Int32 Numerator;
-
- public Int32 Denominator;
- ///-----------------------------------------------------------------------------
- ///
- /// Converts rational to string representation
- ///
- /// Optional, default "/". String to be used as delimiter of components.
- /// String representation of the rational.
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public new string ToString(string Delimiter = "/")
- {
- return Numerator + Delimiter + Denominator;
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Converts rational to double precision real number
- ///
- /// The rational as double precision real number.
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double ToDouble()
- {
- return Numerator / Denominator;
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Initializes new instance of this class.
- ///
- /// Bitmap to read exif information from
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public ExifReader(System.Drawing.Bitmap Bitmap)
- {
- if (Bitmap == null)
- throw new ArgumentNullException("Bitmap");
- this.Image = Bitmap;
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Returns all available data in formatted string form
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public override string ToString()
- {
- System.Text.StringBuilder SB = new System.Text.StringBuilder();
-
- SB.Append("Image:");
- SB.Append("\\n\\tDimensions: " + this.Width + " x " + this.Height + " px");
- SB.Append("\\n\\tResolution: " + this.ResolutionX + " x " + this.ResolutionY + " dpi");
- SB.Append("\\n\\tOrientation: " + Enum.GetName(typeof(Orientations), this.Orientation));
- SB.Append("\\n\\tTitle: " + this.Title);
- SB.Append("\\n\\tDescription: " + this.Description);
- SB.Append("\\n\\tCopyright: " + this.Copyright);
- SB.Append("\\nEquipment:");
- SB.Append("\\n\\tMaker: " + this.EquipmentMaker);
- SB.Append("\\n\\tModel: " + this.EquipmentModel);
- SB.Append("\\n\\tSoftware: " + this.Software);
- SB.Append("\\nDate and time:");
- SB.Append("\\n\\tGeneral: " + this.DateTimeLastModified.ToString());
- SB.Append("\\n\\tOriginal: " + this.DateTimeOriginal.ToString());
- SB.Append("\\n\\tDigitized: " + this.DateTimeDigitized.ToString());
- SB.Append("\\nShooting conditions:");
- SB.Append("\\n\\tExposure time: " + this.ExposureTime.ToString("N4") + " s");
- SB.Append("\\n\\tExposure program: " + Enum.GetName(typeof(ExposurePrograms), this.ExposureProgram));
- SB.Append("\\n\\tExposure mode: " + Enum.GetName(typeof(ExposureMeteringModes), this.ExposureMeteringMode));
- SB.Append("\\n\\tAperture: F" + this.Aperture.ToString("N2"));
- SB.Append("\\n\\tISO sensitivity: " + this.ISO);
- SB.Append("\\n\\tSubject distance: " + this.SubjectDistance.ToString("N2") + " m");
- SB.Append("\\n\\tFocal length: " + this.FocalLength);
- SB.Append("\\n\\tFlash: " + Enum.GetName(typeof(FlashModes), this.FlashMode));
- SB.Append("\\n\\tLight source (WB): " + Enum.GetName(typeof(LightSources), this.LightSource));
- SB.Append("\\n\\nCopyright (c) Michal A. Valasek - Altair Communications, 2003");
- SB.Append("\\nhttp://software.altaircom.net * support@altaircom.net");
-
- SB.Replace("\\n", System.Environment.NewLine);
- SB.Replace("\\t", "\t");
- return SB.ToString();
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Brand of equipment (EXIF EquipMake)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string EquipmentMaker
- {
- get { return this.GetPropertyString((int)TagNames.EquipMake); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Model of equipment (EXIF EquipModel)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string EquipmentModel
- {
- get { return this.GetPropertyString((int)TagNames.EquipModel); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Software used for processing (EXIF Software)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string Software
- {
- get { return this.GetPropertyString((int)TagNames.SoftwareUsed); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Orientation of image (position of row 0, column 0) (EXIF Orientation)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Orientations Orientation
- {
- get
- {
- Int32 X = this.GetPropertyInt16((int)TagNames.Orientation);
-
- if (!Enum.IsDefined(typeof(Orientations), X))
- {
- return Orientations.TopLeft;
- }
- else
- {
- return (Orientations)Enum.Parse(typeof(Orientations), Enum.GetName(typeof(Orientations), X));
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Time when image was last modified (EXIF DateTime).
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public DateTime DateTimeLastModified
- {
- get
- {
- try
- {
- return DateTime.ParseExact(this.GetPropertyString((int)TagNames.DateTime), "yyyy\\:MM\\:dd HH\\:mm\\:ss", null);
- }
- catch (Exception ex)
- {
- return DateTime.MinValue;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Time when image was taken (EXIF DateTimeOriginal).
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public DateTime DateTimeOriginal
- {
- get
- {
- try
- {
- return DateTime.ParseExact(this.GetPropertyString((int)TagNames.ExifDTOrig), "yyyy\\:MM\\:dd HH\\:mm\\:ss", null);
- }
- catch (Exception ex)
- {
- return DateTime.MinValue;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Time when image was digitized (EXIF DateTimeDigitized).
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public DateTime DateTimeDigitized
- {
- get
- {
- try
- {
- return DateTime.ParseExact(this.GetPropertyString((int)TagNames.ExifDTDigitized), "yyyy\\:MM\\:dd HH\\:mm\\:ss", null);
- }
- catch (Exception ex)
- {
- return DateTime.MinValue;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Image width
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Int16 Width
- {
- get { return this.GetPropertyInt16((int)TagNames.ImageWidth); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Image height
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Int16 Height
- {
- get { return this.GetPropertyInt16((int)TagNames.ImageHeight); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// X resolution in dpi (EXIF XResolution/ResolutionUnit)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double ResolutionX
- {
- get
- {
- double R = this.GetPropertyRational((int)TagNames.XResolution).ToDouble();
-
- if (this.GetPropertyInt16((int)TagNames.ResolutionUnit) == 3)
- {
- //-- resolution is in points/cm
- return R * 2.54;
- }
- else
- {
- //-- resolution is in points/inch
- return R;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Y resolution in dpi (EXIF YResolution/ResolutionUnit)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double ResolutionY
- {
- get
- {
- double R = this.GetPropertyRational((int)TagNames.YResolution).ToDouble();
-
- if (this.GetPropertyInt16((int)TagNames.ResolutionUnit) == 3)
- {
- //-- resolution is in points/cm
- return R * 2.54;
- }
- else
- {
- //-- resolution is in points/inch
- return R;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Image title (EXIF ImageTitle)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string Title
- {
- get { return this.GetPropertyString((int)TagNames.ImageTitle); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Image description (EXIF ImageDescription)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string Description
- {
- get { return this.GetPropertyString((int)TagNames.ImageDescription); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Image copyright (EXIF Copyright)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string Copyright
- {
- get { return this.GetPropertyString((int)TagNames.Copyright); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Exposure time in seconds (EXIF ExifExposureTime/ExifShutterSpeed)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double ExposureTime
- {
- get
- {
- if (this.IsPropertyDefined((int)TagNames.ExifExposureTime))
- {
- //-- Exposure time is explicitly specified
- return this.GetPropertyRational((int)TagNames.ExifExposureTime).ToDouble();
- }
- else if (this.IsPropertyDefined((int)TagNames.ExifShutterSpeed))
- {
- //-- Compute exposure time from shutter speed
- return 1 / (Math.Pow(2, this.GetPropertyRational((int)TagNames.ExifShutterSpeed).ToDouble()));
- }
- else
- {
- //-- Can't figure out
- return 0;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Aperture value as F number (EXIF ExifFNumber/ExifApertureValue)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double Aperture
- {
- get
- {
- if (this.IsPropertyDefined((int)TagNames.ExifFNumber))
- {
- return this.GetPropertyRational((int)TagNames.ExifFNumber).ToDouble();
- }
- else if (this.IsPropertyDefined((int)TagNames.ExifAperture))
- {
- return Math.Pow(System.Math.Sqrt(2), this.GetPropertyRational((int)TagNames.ExifAperture).ToDouble());
- }
- else
- {
- return 0;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Exposure program used (EXIF ExifExposureProg)
- ///
- ///
- /// If not specified, returns Normal (2)
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public ExposurePrograms ExposureProgram
- {
- get
- {
- Int32 X = this.GetPropertyInt16((int)TagNames.ExifExposureProg);
-
- if (Enum.IsDefined(typeof(ExposurePrograms), X))
- {
- return (ExposurePrograms)Enum.Parse(typeof(ExposurePrograms), Enum.GetName(typeof(ExposurePrograms), X));
- }
- else
- {
- return ExposurePrograms.Normal;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// ISO sensitivity
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Int16 ISO
- {
- get { return this.GetPropertyInt16((int)TagNames.ExifISOSpeed); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Subject distance in meters (EXIF SubjectDistance)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double SubjectDistance
- {
- get { return this.GetPropertyRational((int)TagNames.ExifSubjectDist).ToDouble(); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Exposure method metering mode used (EXIF MeteringMode)
- ///
- ///
- /// If not specified, returns Unknown (0)
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public ExposureMeteringModes ExposureMeteringMode
- {
- get
- {
- Int32 X = this.GetPropertyInt16((int)TagNames.ExifMeteringMode);
-
- if (Enum.IsDefined(typeof(ExposureMeteringModes), X))
- {
- return (ExposureMeteringModes)Enum.Parse(typeof(ExposureMeteringModes), Enum.GetName(typeof(ExposureMeteringModes), X));
- }
- else
- {
- return ExposureMeteringModes.Unknown;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Focal length of lenses in mm (EXIF FocalLength)
- ///
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public double FocalLength
- {
- get { return this.GetPropertyRational((int)TagNames.ExifFocalLength).ToDouble(); }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Flash mode (EXIF Flash)
- ///
- ///
- /// If not present, value NotFired (0) is returned
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public FlashModes FlashMode
- {
- get
- {
- Int32 X = this.GetPropertyInt16((int)TagNames.ExifFlash);
-
- if (Enum.IsDefined(typeof(FlashModes), X))
- {
- return (FlashModes)Enum.Parse(typeof(FlashModes), Enum.GetName(typeof(FlashModes), X));
- }
- else
- {
- return FlashModes.NotFired;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Light source / white balance (EXIF LightSource)
- ///
- ///
- /// If not specified, returns Unknown (0).
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public LightSources LightSource
- {
- get
- {
- Int32 X = this.GetPropertyInt16((int)TagNames.ExifLightSource);
-
- if (Enum.IsDefined(typeof(LightSources), X))
- {
- return (LightSources)Enum.Parse(typeof(LightSources), Enum.GetName(typeof(LightSources), X));
- }
- else
- {
- return LightSources.Unknown;
- }
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Checks if current image has specified certain property
- ///
- ///
- /// True if image has specified property, False otherwise.
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public bool IsPropertyDefined(Int32 PID)
- {
- return Convert.ToBoolean(Array.IndexOf(this.Image.PropertyIdList, PID) > -1);
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Gets specified Int32 property
- ///
- /// Property ID
- /// Optional, default 0. Default value returned if property is not present.
- /// Value of property or DefaultValue if property is not present.
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Int32 GetPropertyInt32(Int32 PID, Int32 DefaultValue = 0)
- {
- if (this.IsPropertyDefined(PID))
- {
- return GetInt32(this.Image.GetPropertyItem(PID).Value);
- }
- else
- {
- return DefaultValue;
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Gets specified Int16 property
- ///
- /// Property ID
- /// Optional, default 0. Default value returned if property is not present.
- /// Value of property or DefaultValue if property is not present.
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Int16 GetPropertyInt16(Int32 PID, Int16 DefaultValue = 0)
- {
- if (this.IsPropertyDefined(PID))
- {
- return GetInt16(this.Image.GetPropertyItem(PID).Value);
- }
- else
- {
- return DefaultValue;
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Gets specified string property
- ///
- /// Property ID
- /// Optional, default String.Empty. Default value returned if property is not present.
- ///
- /// Value of property or DefaultValue if property is not present.
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public string GetPropertyString(Int32 PID, string DefaultValue = "")
- {
- if (this.IsPropertyDefined(PID))
- {
- return GetString(this.Image.GetPropertyItem(PID).Value);
- }
- else
- {
- return DefaultValue;
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Gets specified rational property
- ///
- /// Property ID
- ///
- /// Value of property or 0/1 if not present.
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public Rational GetPropertyRational(Int32 PID)
- {
- if (this.IsPropertyDefined(PID))
- {
- return GetRational(this.Image.GetPropertyItem(PID).Value);
- }
- else
- {
- Rational R = default(Rational);
- R.Numerator = 0;
- R.Denominator = 1;
- return R;
- }
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Reads Int32 from EXIF bytearray.
- ///
- /// EXIF bytearray to process
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public static Int32 GetInt32(byte[] B)
- {
- if (B.Length < 4)
- throw new ArgumentException("Data too short (4 bytes expected)", "B");
- return B[3] << 24 | B[2] << 16 | B[1] << 8 | B[0];
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Reads Int16 from EXIF bytearray.
- ///
- /// EXIF bytearray to process
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public static Int16 GetInt16(byte[] B)
- {
- if (B.Length < 2)
- throw new ArgumentException("Data too short (2 bytes expected)", "B");
- return Convert.ToInt16(B[1] << 8 | B[0]);
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Reads string from EXIF bytearray.
- ///
- /// EXIF bytearray to process
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public static string GetString(byte[] B)
- {
- string R = System.Text.Encoding.ASCII.GetString(B);
- if (R.EndsWith(string.Empty))
- R = R.Substring(0, R.Length - 1);
- return R;
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Reads rational from EXIF bytearray.
- ///
- /// EXIF bytearray to process
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public static Rational GetRational(byte[] B)
- {
- Rational R = new Rational();
- byte[] N = new byte[4];
- byte[] D = new byte[4];
- Array.Copy(B, 0, N, 0, 4);
- Array.Copy(B, 4, D, 0, 4);
- R.Denominator = GetInt32(D);
- R.Numerator = GetInt32(N);
- return R;
- }
-
- ///-----------------------------------------------------------------------------
- ///
- /// Disposes unmanaged resources of this class
- ///
- ///
- ///
- /// [altair] 10.9.2003 Created
- ///
- ///-----------------------------------------------------------------------------
- public void Dispose()
- {
- this.Image.Dispose();
- }
-}
\ No newline at end of file
diff --git a/ImageCatalogCS/FileHelper.cs b/ImageCatalogCS/FileHelper.cs
deleted file mode 100644
index 0e68384..0000000
--- a/ImageCatalogCS/FileHelper.cs
+++ /dev/null
@@ -1,173 +0,0 @@
-using Microsoft.VisualBasic;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-using System.IO;
-
-public class FileHelper
-{
- //Private dirSourceDest As Dictionary(Of FileInfo, DirectoryInfo)
- private int filesPerFolder;
- private string suffix;
- private int counterSize;
- private int numerationType;
- private string filter;
- private bool separateFiles;
-
- private string extensions = "*.jpg,*.png,*.gif";
-
- public enum numerazione
- {
- Progressiva,
- Files
- }
- ///
- /// Preparazione per la separazione
- ///
- ///
- ///
- ///
- ///
- ///
- public FileHelper(int filesPerFolder, string suffix, int counterSize, int numerationType)
- {
- this.filesPerFolder = filesPerFolder;
- this.suffix = suffix;
- this.counterSize = counterSize;
- this.numerationType = numerationType;
- this.separateFiles = true;
- }
-
- ///
- /// nessuna separazione
- ///
- ///
- public FileHelper()
- {
- this.separateFiles = false;
- }
-
-
- public Dictionary GetFilesRecursive(DirectoryInfo root, DirectoryInfo destRoot, string filter)
- {
- Dictionary dirSourceDest = new Dictionary();
- List result = new List();
-
- //Dim stack As New Stack(Of DirectoryInfo)
- Stack> stack = new Stack>();
-
-
- this.filter = filter;
- KeyValuePair pair = new KeyValuePair();
-
-
- //stack.Push(root)
- stack.Push(new KeyValuePair(root, destRoot));
-
- while ((stack.Count > 0))
- {
- KeyValuePair curDirKV = stack.Pop();
- //curDirKP = stack.Pop()
- DirectoryInfo dir = curDirKV.Key;
- DirectoryInfo dDir = curDirKV.Value;
- try
- {
- //result.AddRange(dir.GetFiles(filter, SearchOption.TopDirectoryOnly))
- // dividere file qui
- if (filesPerFolder > 0 & separateFiles)
- {
- appendDictionary(dirSourceDest, dividiFilesInDir(dir, dDir));
- }
- else
- {
- appendDictionary(dirSourceDest, getAllFilesInDir(dir, dDir));
- }
-
-
-
- foreach (DirectoryInfo subDirectory in dir.GetDirectories())
- {
- stack.Push(new KeyValuePair(subDirectory, new DirectoryInfo(Path.Combine(dDir.FullName, subDirectory.Name))));
-
- }
-
- }
- catch (Exception ex)
- {
- }
- }
-
- return dirSourceDest;
- }
-
- public Dictionary appendDictionary(Dictionary dictA, Dictionary dictB)
- {
- foreach (KeyValuePair pair in dictB)
- {
- dictA.Add(pair.Key, pair.Value);
- }
- return dictA;
- }
-
- public Dictionary getAllFilesInDir(DirectoryInfo dir, DirectoryInfo dirDest)
- {
- Dictionary dict = new Dictionary();
- foreach (FileInfo File in dir.GetFiles(filter))
- {
- dict.Add(File, new DirectoryInfo(Path.Combine(dirDest.FullName, File.Name)));
-
- }
- return dict;
- }
-
- private Dictionary dividiFilesInDir(DirectoryInfo dir, DirectoryInfo dirDest)
- {
- int filesCount = dir.GetFiles(filter).Length;
- int contaFilePerDir = 0;
- int contaDirPerDir = 0;
- string tempText = string.Empty;
- Dictionary foldersDict = new Dictionary();
-
- DirectoryInfo destDir = null;
- destDir = new DirectoryInfo(Path.Combine(dirDest.FullName));
-
- foreach (FileInfo file in dir.GetFiles(filter))
- {
- contaFilePerDir += 1;
-
- if (contaFilePerDir == (contaDirPerDir * filesPerFolder) + 1)
- {
- contaDirPerDir += 1;
-
- if (numerazione.Progressiva.Equals(numerationType))
- {
- tempText = contaDirPerDir.ToString();
- }
- else
- {
- tempText = (contaDirPerDir * filesPerFolder).ToString();
- }
- int i = 0;
- for (i = 1; i <= (counterSize - tempText.Length); i++)
- {
- tempText = "0" + tempText;
- }
- destDir = new DirectoryInfo(Path.Combine(dirDest.FullName, suffix + tempText));
-
-
-
- }
-
- if (!destDir.Exists)
- {
- destDir.Create();
- }
-
- foldersDict.Add(file, destDir);
- }
-
- return foldersDict;
- }
-}
\ No newline at end of file
diff --git a/ImageCatalogCS/ImageCatalog 3.csproj b/ImageCatalogCS/ImageCatalog 3.csproj
deleted file mode 100644
index ef71c58..0000000
--- a/ImageCatalogCS/ImageCatalog 3.csproj
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}
- WinExe
- Properties
- ImageCatalogCS
- ImageCatalogCS
- v4.8
- 512
- SAK
- SAK
- SAK
- SAK
-
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE
- full
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- bin\x64\Release\
- TRACE
- true
- pdbonly
- x64
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- AboutForm.cs
-
-
-
-
-
-
- Form
-
-
- MainForm.cs
-
-
-
-
-
-
-
-
- AboutForm.cs
-
-
- MainForm.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ImageCatalogCS/ImageCreator.cs b/ImageCatalogCS/ImageCreator.cs
deleted file mode 100644
index 3c03533..0000000
--- a/ImageCatalogCS/ImageCreator.cs
+++ /dev/null
@@ -1,1057 +0,0 @@
-using Microsoft.VisualBasic;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-using System.IO;
-using System.Drawing.Drawing2D;
-using System.Drawing.Imaging;
-using System.Drawing;
-using ImageCatalogCS;
-using System.Windows.Forms;
-//using System.Drawing;
-//Imports System.Threading
-
-public class ImageCreator
-{
- #region "dichiarazioni"
-
-
- private bool FotoRuotaADestra = false;
-
- private bool FotoRuotaASinistra = false;
- private string TempMinText = "";
- //Private crFont1 As Font
-
- private string _NomeFileChild;
- private DirectoryInfo _SourceDir;
- private DirectoryInfo _DestDirStart;
-
- private DirectoryInfo _DestDir;
-
- private FileInfo _workFile;
- private string testoFirma;
- private string testoFirmaV;
- private int alphaScelta;
- private int DimensioneStandard;
- private int DimensioneStandardMiniatura;
- private DateTime dataFoto;
- private DateTime dataPartenzaI;
- private string testoOrario;
- private string testoFirmaPiccola;
- private Size thumbSizeSmall;
- private Size thumbSizeBig;
- private string nomeFileSmall;
- private string nomeFileBig;
-
- private string nomeFileBig2;
- private float yPosFromBottom;
- private float yPosFromBottom1;
- private float yPosFromBottom2;
- private float yPosFromBottom3;
-
- private float yPosFromBottom4;
-
- #endregion
- public ImageCreator()
- {
- }
-
- public ImageCreator(string nomeFileChild, DirectoryInfo sourceDir, DirectoryInfo destDir, DirectoryInfo destDirStart)
- {
- this._NomeFileChild = nomeFileChild;
- this._SourceDir = sourceDir;
- this._DestDir = destDir;
- this._DestDirStart = destDirStart;
- this._workFile = new FileInfo(nomeFileChild);
- }
-
- public ImageCreator(string nomeFileChild, DirectoryInfo sourceDir, DirectoryInfo destDir)
- {
- this._NomeFileChild = nomeFileChild;
- this._DestDir = destDir;
- }
-
- public ImageCreator(FileInfo file, DirectoryInfo destination)
- {
- this._workFile = file;
- this._DestDir = destination;
-
- }
-
-
-
- public void CreaImmagineThread(string Info)
- {
-
- try
- {
- preparaVariabili();
- //Dim g As System.Drawing.Image = System.Drawing.Image.FromFile(Path.Combine(SourceDir.FullName, NomeFileChild))
- System.Drawing.Image g = System.Drawing.Image.FromFile(WorkFile.FullName);
-
- // Imposta testo extra
- impostaTestoExtra(g);
-
- // Ruota l'immagine in base ai dati EXIF
- Rotation(ref g);
-
- // Forza jpeg se è selezionata l'opzione
- System.Drawing.Imaging.ImageFormat thisFormat = g.RawFormat;
- if (PicSettings.UsaForzaJpg == true)
- thisFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
-
- prepareThumbnailSize(g);
-
- Bitmap imgOutputBig = new Bitmap(g, thumbSizeBig.Width, thumbSizeBig.Height);
- imgOutputBig.SetResolution(g.HorizontalResolution, g.VerticalResolution);
-
- // Crea le miniature
- creaMiniature(g, imgOutputBig, thisFormat);
-
- aggiungiTesto(g, imgOutputBig);
-
- aggiungiLogo(imgOutputBig);
-
- salvaFoto(imgOutputBig, thumbSizeBig, nomeFileBig, nomeFileSmall, thumbSizeSmall, thisFormat);
-
- g.Dispose();
-
- GC.Collect();
-
- //PicSettings.mainForm.stepProgressBar();
-
-
- }
- catch (Exception ex)
- {
-
- MessageBox.Show(ex.Message);
-
-
- }
-
-
-
- }
-
-
- private void Rotation(ref System.Drawing.Image g)
- {
- FotoRuotaADestra = false;
- FotoRuotaASinistra = false;
-
- if (PicSettings.UsaRotazioneAutomatica)
- {
- // ci sono dati exif
- if (g.PropertyIdList.Length > 0)
- {
- ExifReader DatiExif = new ExifReader((Bitmap)g);
-
- switch (DatiExif.Orientation)
- {
- case ExifReader.Orientations.BottomLeft:
-
- break;
- case ExifReader.Orientations.BottomRight:
-
- break;
- case ExifReader.Orientations.LeftTop:
-
- break;
- case ExifReader.Orientations.LftBottom:
- FotoRuotaASinistra = true;
- break;
- case ExifReader.Orientations.RightBottom:
-
- break;
- case ExifReader.Orientations.RightTop:
-
- break;
- case ExifReader.Orientations.TopLeft:
-
- break;
- case ExifReader.Orientations.TopRight:
-
- break;
- }
- }
- }
-
- if (FotoRuotaASinistra == true)
- {
- g.RotateFlip(RotateFlipType.Rotate270FlipNone);
- }
- if (FotoRuotaADestra == true)
- {
- g.RotateFlip(RotateFlipType.Rotate90FlipNone);
- }
-
-
-
- }
- ///
- /// Aggiunge Orario, tempo gara e altri
- ///
- /// Image
- ///
- private void impostaTestoExtra(Image g)
- {
-
- if (PicSettings.UsaOrarioTestoApplicare | PicSettings.UsaTempoGaraTestoApplicare | PicSettings.UsaOrarioMiniatura | PicSettings.TestoMin | PicSettings.AggTempoGaraMin | PicSettings.AggNumTempMin)
- {
- // ci sono dati exif
- if (g.PropertyIdList.Length > 0)
- {
- ExifReader DatiExif = new ExifReader((Bitmap)g);
- dataFoto = DatiExif.DateTimeOriginal;
- testoFirma = PicSettings.TestoFirmaStart;
- testoFirmaV = PicSettings.TestoFirmaStartV;
-
- if (dataFoto.Year != 1)
- {
- testoFirmaPiccola = dataFoto.ToShortTimeString();
- if (PicSettings.UsaOrarioTestoApplicare == true)
- {
- testoFirma += " " + dataFoto.ToShortDateString() + " " + dataFoto.ToLongTimeString();
- testoFirmaV += " " + dataFoto.ToShortDateString() + " " + dataFoto.ToLongTimeString();
- }
- if (PicSettings.UsaTempoGaraTestoApplicare == true)
- {
- TimeSpan Orario = dataFoto.Subtract(dataPartenzaI);
-
-
- //TimeSpan Orario = new TimeSpan( DateAndTime.DateDiff(DateInterval.Second, dataPartenzaI, dataFoto) * 10000000);
- testoFirma += " " + testoOrario + Orario.Hours.ToString("00") + ":" + Orario.Minutes.ToString("00") + ":" + Orario.Seconds.ToString("00");
- testoFirmaV += " " + testoOrario + Orario.Hours.ToString("00") + ":" + Orario.Minutes.ToString("00") + ":" + Orario.Seconds.ToString("00");
- }
- }
-
- }
- }
- else
- {
- testoFirma = PicSettings.TestoFirmaStart;
- testoFirmaV = PicSettings.TestoFirmaStartV;
-
- }
- }
-
- ///
- /// Prepara diverse variabili azzerandole, elaborandole e prendendole dalle impostazioni
- ///
- ///
- private void preparaVariabili()
- {
- alphaScelta = Convert.ToInt32((255 * (100 - PicSettings.Trasparenza) / 100));
- testoFirma = "";
- testoFirmaV = "";
- dataPartenzaI = PicSettings.DataPartenza;
- testoOrario = PicSettings.TestoOrario;
- if (testoOrario.Length > 0)
- testoOrario += " ";
- testoFirmaPiccola = "";
- thumbSizeSmall = new Size();
- thumbSizeBig = new Size();
- nomeFileSmall = "";
- nomeFileBig2 = "";
- nomeFileBig = "";
- DimensioneStandard = PicSettings.dimStandard;
- DimensioneStandardMiniatura = PicSettings.dimStandardMiniatura;
- //nomeFileSmall = Suffisso & NomeFileChild
- //nomeFileBig = NomeFileChild
- nomeFileSmall = PicSettings.Suffisso + WorkFile.Name;
- nomeFileBig = WorkFile.Name;
- }
-
- private void prepareThumbnailSize(Image g)
- {
- if (g.Width > g.Height)
- {
- thumbSizeSmall = NewthumbSize(g.Width, g.Height, PicSettings.LarghezzaSmall, "Larghezza");
- Size SizeOrig = new Size(g.Width, g.Height);
- thumbSizeBig = SizeOrig;
- }
- else
- {
- thumbSizeSmall = NewthumbSize(g.Width, g.Height, PicSettings.AltezzaSmall, "Altezza");
- Size SizeOrig = new Size(g.Width, g.Height);
- thumbSizeBig = SizeOrig;
- }
- }
-
- private void creaMiniature(Image g, Bitmap imgOutputBig, ImageFormat thisFormat)
- {
- if (PicSettings.TestoMin)
- {
- testoFirmaPiccola = nomeFileBig;
- }
- else if (PicSettings.AggNumTempMin)
- {
- testoFirmaPiccola = nomeFileBig + " ";
- }
- //Dim yPosFromBottom4 As Single
-
- Font crFont1 = null;
- Font crFont2 = null;
- SizeF crSize1 = new SizeF();
- SizeF crSize2 = new SizeF();
-
- if (PicSettings.CreaMiniature == true)
- {
- if (PicSettings.AggiungiScritteMiniature == false)
- {
- if (string.Equals(PicSettings.directorySorgente.ToUpper(),
- PicSettings.directoryDestinazione.ToUpper()))
- {
- nomeFileSmall = nomeFileSmall.Substring(0, nomeFileSmall.Length - 4) + PicSettings.Codice + nomeFileSmall.Substring(nomeFileSmall.Length - 4);
- }
-
- if (PicSettings.UsaOrarioMiniatura | PicSettings.TestoMin | PicSettings.AggTempoGaraMin | PicSettings.AggNumTempMin)
- {
- if (testoFirmaPiccola.Length > 0)
- {
- Bitmap imgOutputSmall = default(Bitmap);
- imgOutputSmall = (Bitmap)imgOutputBig.Clone();
-
- Graphics grPhoto1 = default(Graphics);
- grPhoto1 = Graphics.FromImage(imgOutputSmall);
- grPhoto1.SmoothingMode = SmoothingMode.AntiAlias;
-
- int LarghezzaStandard1 = 0;
- //quick fix
- DimensioneStandardMiniatura = 50;
- if (PicSettings.Grassetto == true)
- {
- crFont1 = new Font(PicSettings.IlFont, DimensioneStandardMiniatura, FontStyle.Bold);
- crFont2 = new Font(PicSettings.IlFont, DimensioneStandard, FontStyle.Bold);
- }
- else
- {
- crFont1 = new Font(PicSettings.IlFont, DimensioneStandardMiniatura);
- crFont2 = new Font(PicSettings.IlFont, DimensioneStandard);
- }
-
- crSize1 = grPhoto1.MeasureString(testoFirmaPiccola, crFont1);
- crSize2 = grPhoto1.MeasureString(testoFirma, crFont1);
- LarghezzaStandard1 = Convert.ToInt32(crSize1.Width);
-
- if (crSize1.Width > Convert.ToSingle(g.Width))
- {
- int Conta = DimensioneStandardMiniatura;
- do
- {
- if (Conta > 20)
- {
- Conta -= 5;
- }
- else
- {
- Conta -= 1;
- }
- if (PicSettings.Grassetto == true)
- {
- crFont1 = new Font(PicSettings.IlFont, Conta, FontStyle.Bold);
- }
- else
- {
- crFont1 = new Font(PicSettings.IlFont, Conta);
- }
- crSize1 = grPhoto1.MeasureString(testoFirmaPiccola, crFont1);
- if (crSize1.Width < Convert.ToSingle(g.Width))
- {
- LarghezzaStandard1 = Convert.ToInt32(crSize1.Width);
- break; // TODO: might not be correct. Was : Exit Do
- }
- if (Conta <= 5)
- break; // TODO: might not be correct. Was : Exit Do
- } while (true);
- DimensioneStandardMiniatura = Conta;
- }
-
- switch (PicSettings.Posizione.ToUpper())
- {
- case "ALTO":
- yPosFromBottom1 = (PicSettings.Margine);
- yPosFromBottom4 = (PicSettings.margVert);
-
- break;
- case "BASSO":
- yPosFromBottom1 = Convert.ToSingle((g.Height - crSize1.Height - (g.Height * PicSettings.Margine / 100)));
- yPosFromBottom4 = Convert.ToSingle((g.Height - crSize1.Height - (g.Height * PicSettings.margVert / 100)));
-
- break;
- }
-
- float xCenterOfImg1 = 0;
-
- StringFormat StrFormat1 = new StringFormat();
- switch (PicSettings.Allineamento.ToUpper())
- {
- case "SINISTRA":
- xCenterOfImg1 = Convert.ToSingle((PicSettings.Margine + (LarghezzaStandard1 / 2)));
-
- if ((LarghezzaStandard1 / 2) > (g.Width / 2) - PicSettings.Margine)
- {
- xCenterOfImg1 = Convert.ToSingle((g.Width / 2));
- }
-
- break;
-
- case "CENTRO":
- xCenterOfImg1 = Convert.ToSingle((g.Width / 2));
-
- break;
-
- case "DESTRA":
- xCenterOfImg1 = Convert.ToSingle((g.Width - PicSettings.Margine - (LarghezzaStandard1 / 2)));
-
- if ((LarghezzaStandard1 / 2) > (g.Width / 2) - PicSettings.Margine)
- {
- xCenterOfImg1 = Convert.ToSingle((g.Width / 2));
- }
-
- break;
-
- }
- StrFormat1.Alignment = StringAlignment.Center;
-
- SolidBrush semiTransBrush21 = new SolidBrush(Color.FromArgb(alphaScelta, 0, 0, 0));
- SolidBrush semiTransBrush1 = new SolidBrush(Color.FromArgb(alphaScelta, PicSettings.fontColoreRGB));
-
- //quick fix
- DimensioneStandardMiniatura = PicSettings.DimMin;
-
- if (PicSettings.Grassetto == true)
- {
- crFont1 = new Font(PicSettings.IlFont, DimensioneStandardMiniatura, FontStyle.Bold);
- }
- else
- {
- crFont1 = new Font(PicSettings.IlFont, DimensioneStandardMiniatura);
- }
- //asdgadfhdfhjgfsjgfjygfdhsdafa
- if (PicSettings.TestoMin)
- {
- grPhoto1.DrawString(nomeFileBig, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), StrFormat1);
- grPhoto1.DrawString(nomeFileBig, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), StrFormat1);
- }
- else if (PicSettings.AggTempoGaraMin & PicSettings.UsaTempoGaraTestoApplicare)
- {
- //TimeSpan Orario = new TimeSpan(DateAndTime.DateDiff(DateInterval.Second, dataPartenzaI, dataFoto) * 10000000);
- TimeSpan Orario = dataFoto.Subtract(dataPartenzaI);
- string tempstr = "";
-
-
- tempstr += Environment.NewLine + testoOrario + Orario.Hours.ToString("00") + ":" + Orario.Minutes.ToString("00") + ":" + Orario.Seconds.ToString("00");
-
-
- grPhoto1.DrawString(tempstr, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), StrFormat1);
- grPhoto1.DrawString(tempstr, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), StrFormat1);
-
- }
- else if (PicSettings.AggNumTempMin)
- {
- TimeSpan Orario = dataFoto.Subtract(dataPartenzaI);
- //TimeSpan Orario = new TimeSpan(DateAndTime.DateDiff(DateInterval.Second, dataPartenzaI, dataFoto) * 10000000);
- string tempstr = "";
- tempstr += nomeFileBig;
-
- tempstr += Environment.NewLine + testoOrario + Orario.Hours.ToString("00") + ":" + Orario.Minutes.ToString("00") + ":" + Orario.Seconds.ToString("00");
-
-
- grPhoto1.DrawString(tempstr, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), StrFormat1);
- grPhoto1.DrawString(tempstr, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), StrFormat1);
-
-
- }
- else
- {
- grPhoto1.DrawString(testoFirmaPiccola, crFont1, semiTransBrush21, new PointF(xCenterOfImg1 + 1, yPosFromBottom1 + 1), StrFormat1);
- grPhoto1.DrawString(testoFirmaPiccola, crFont1, semiTransBrush1, new PointF(xCenterOfImg1, yPosFromBottom1), StrFormat1);
- }
-
- // Salva la miniatura
- imgOutputSmall.Save(Path.Combine(DestDir.FullName, "Temp_" + nomeFileSmall), thisFormat);
- System.Drawing.Image g2 = System.Drawing.Image.FromFile(Path.Combine(DestDir.FullName, "Temp_" + nomeFileSmall));
- Bitmap imgOutputSmall2 = new Bitmap(g2, thumbSizeSmall.Width, thumbSizeSmall.Height);
- imgOutputSmall2.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
-
- imgOutputSmall2.Dispose();
- imgOutputSmall.Dispose();
- g2.Dispose();
- File.Delete((Path.Combine(DestDir.FullName, "Temp_" + nomeFileSmall)));
- }
- else
- {
- Bitmap imgOutputSmall = new Bitmap(g, thumbSizeSmall.Width, thumbSizeSmall.Height);
- imgOutputSmall.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
- imgOutputSmall.Dispose();
- }
- }
- else
- {
- Bitmap imgOutputSmall = new Bitmap(g, thumbSizeSmall.Width, thumbSizeSmall.Height);
- imgOutputSmall.Save(Path.Combine(DestDir.FullName, nomeFileSmall), thisFormat);
- imgOutputSmall.Dispose();
- }
- }
- }
- }
-
- private void aggiungiTesto(Image g, Bitmap imgOutputBig)
- {
- Graphics grPhoto = default(Graphics);
- grPhoto = Graphics.FromImage(imgOutputBig);
- grPhoto.SmoothingMode = SmoothingMode.AntiAlias;
-
- Font crFont = null;
- SizeF crSize = new SizeF();
- int LarghezzaStandard = 0;
-
- if (PicSettings.Grassetto == true)
- {
- crFont = new Font(PicSettings.IlFont, DimensioneStandard, FontStyle.Bold);
- }
- else
- {
- crFont = new Font(PicSettings.IlFont, DimensioneStandard);
- }
- crSize = grPhoto.MeasureString(testoFirma, crFont);
- LarghezzaStandard = Convert.ToInt32(crSize.Width);
-
- if (crSize.Width > Convert.ToSingle(g.Width))
- {
- int Conta = DimensioneStandard;
- do
- {
- if (Conta > 20)
- {
- Conta -= 5;
- }
- else
- {
- Conta -= 1;
- }
- if (PicSettings.Grassetto == true)
- {
- crFont = new Font(PicSettings.IlFont, Conta, FontStyle.Bold);
- }
- else
- {
- crFont = new Font(PicSettings.IlFont, Conta);
- }
- crSize = grPhoto.MeasureString(testoFirma, crFont);
- if (crSize.Width < Convert.ToSingle(g.Width))
- {
- LarghezzaStandard = Convert.ToInt32(crSize.Width);
- break; // TODO: might not be correct. Was : Exit Do
- }
- if (Conta <= 5)
- break; // TODO: might not be correct. Was : Exit Do
- } while (true);
- DimensioneStandard = Conta;
- }
-
-
- switch (PicSettings.Posizione.ToUpper())
- {
- case "ALTO":
- yPosFromBottom = (PicSettings.Margine);
- yPosFromBottom3 = (PicSettings.margVert);
-
- break;
- case "BASSO":
- yPosFromBottom = Convert.ToSingle((g.Height - crSize.Height - (g.Height * PicSettings.Margine / 100)));
- yPosFromBottom3 = Convert.ToSingle((g.Height - crSize.Height - (g.Height * PicSettings.margVert / 100)));
- break;
- }
-
- float xCenterOfImg = 0;
- float xCenterOfImg3 = 0;
- StringFormat StrFormat = new StringFormat();
- switch (PicSettings.Allineamento.ToUpper())
- {
- case "SINISTRA":
- xCenterOfImg = Convert.ToSingle((PicSettings.Margine + (LarghezzaStandard / 2)));
- xCenterOfImg3 = Convert.ToSingle((PicSettings.margVert + (LarghezzaStandard / 2)));
- if ((LarghezzaStandard / 2) > (g.Width / 2) - PicSettings.Margine)
- {
- xCenterOfImg = Convert.ToSingle((g.Width / 2));
- }
- if ((LarghezzaStandard / 2) > (g.Width / 2) - PicSettings.margVert)
- {
- xCenterOfImg3 = Convert.ToSingle((g.Width / 2));
- }
-
- break;
- case "CENTRO":
- xCenterOfImg = Convert.ToSingle((g.Width / 2));
-
- break;
- case "DESTRA":
- xCenterOfImg = Convert.ToSingle((g.Width - PicSettings.Margine - (LarghezzaStandard / 2)));
- xCenterOfImg3 = Convert.ToSingle((g.Width - PicSettings.margVert - (LarghezzaStandard / 2)));
- if ((LarghezzaStandard / 2) > (g.Width / 2) - PicSettings.Margine)
- {
- xCenterOfImg = Convert.ToSingle((g.Width / 2));
- }
- if ((LarghezzaStandard / 2) > (g.Width / 2) - PicSettings.margVert)
- {
- xCenterOfImg3 = Convert.ToSingle((g.Width / 2));
- }
-
- break;
- }
- StrFormat.Alignment = StringAlignment.Center;
-
- SolidBrush semiTransBrush2 = new SolidBrush(Color.FromArgb(alphaScelta, 0, 0, 0));
- //Dim semiTransBrush As SolidBrush = New SolidBrush(Color.FromArgb(AlphaScelta, _FontColoreR, _FontColoreG, _FontColoreB))
- SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(alphaScelta, PicSettings.fontColoreRGB));
-
-
- if (FotoRuotaADestra | FotoRuotaASinistra)
- {
- if (PicSettings.Grassetto == true)
- {
- crFont = new Font(PicSettings.IlFont, PicSettings.dimVert, FontStyle.Bold);
- }
- else
- {
- crFont = new Font(PicSettings.IlFont, PicSettings.dimVert);
- }
-
-
- }
- else
- {
- if (PicSettings.Grassetto == true)
- {
- crFont = new Font(PicSettings.IlFont, DimensioneStandard, FontStyle.Bold);
- }
- else
- {
- crFont = new Font(PicSettings.IlFont, DimensioneStandard);
- }
- }
-
-
- //qui scrive il testo (nomefilebig)
- if (PicSettings.TestoNome)
- {
- if (PicSettings.NomeData & g.PropertyIdList.Length > 0)
- {
- ExifReader DatiExif = new ExifReader((Bitmap)g);
- dataFoto = DatiExif.DateTimeOriginal;
-
- grPhoto.DrawString((nomeFileBig + " " + dataFoto.ToShortDateString()), crFont, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom + 1), StrFormat);
- grPhoto.DrawString((nomeFileBig + " " + dataFoto.ToShortDateString()), crFont, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom), StrFormat);
- }
- else
- {
- grPhoto.DrawString(nomeFileBig, crFont, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom + 1), StrFormat);
- grPhoto.DrawString(nomeFileBig, crFont, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom), StrFormat);
-
- }
- }
-
- if (PicSettings.TestoNome == false)
- {
- if (FotoRuotaADestra | FotoRuotaASinistra)
- {
-
- if (PicSettings.TestoMin == false)
- {
-
- grPhoto.DrawString(testoFirmaV, crFont, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom3 + 1), StrFormat);
- grPhoto.DrawString(testoFirmaV, crFont, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom3), StrFormat);
- }
-
- if (PicSettings.TestoMin == true)
- {
- grPhoto.DrawString(testoFirmaV, crFont, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom4 + 1), StrFormat);
- grPhoto.DrawString(testoFirmaV, crFont, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom4), StrFormat);
-
- }
- }
- else
- {
- grPhoto.DrawString(testoFirma, crFont, semiTransBrush2, new PointF(xCenterOfImg + 1, yPosFromBottom + 1), StrFormat);
- grPhoto.DrawString(testoFirma, crFont, semiTransBrush, new PointF(xCenterOfImg, yPosFromBottom), StrFormat);
-
-
- }
- }
-
- if (PicSettings.directorySorgente.ToUpper() == PicSettings.directoryDestinazione.ToUpper())
- {
- nomeFileBig2 = nomeFileBig;
- nomeFileBig = nomeFileBig.Substring(0, nomeFileBig.Length - 4) + PicSettings.Codice + nomeFileBig.Substring(nomeFileBig.Length - 4);
- }
- grPhoto.Dispose();
- }
-
-
-
-
- private void aggiungiLogo(Bitmap imgOutputBig)
- {
- //imgOutputBig
-
- if (PicSettings.LogoAggiungi == true & File.Exists(PicSettings.LogoNomeFile))
- {
- Image ImmagineLogo = Image.FromFile(PicSettings.LogoNomeFile);
-
- Color LogoColoreTrasparente = Color.White;
- //Dim bmWatermark As Bitmap
-
- //* Create a Bitmap based on the previously modified photograph Bitmap
- //bmWatermark = New Bitmap(imgOutputBig)
- //bmWatermark.SetResolution(imgOutputBig.HorizontalResolution, imgOutputBig.VerticalResolution)
-
- //* Load this Bitmap into a new Graphic Object
- Graphics grWatermark = Graphics.FromImage(imgOutputBig);
-
- //* To achieve a translucent watermark we will apply (2) color manipulations
- ImageAttributes imageAttributes = new ImageAttributes();
-
- //* The first step replace the background color with one that is transparent (Alpha=0, R=0, G=0, B=0)
- ColorMap colorMap = new ColorMap();
-
- //* background this will be the color we search for and replace with transparency
- colorMap.OldColor = LogoColoreTrasparente;
- colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
-
- ColorMap[] remapTable = { colorMap };
- imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);
-
- //* The second color manipulation is used to change the opacity by setting the 3rd row and 3rd column to 0.3f
- float[][] colorMatrixElements = {
- new float[] {
- 1f,
- 0f,
- 0f,
- 0f,
- 0f
- },
- new float[] {
- 0f,
- 1f,
- 0f,
- 0f,
- 0f
- },
- new float[] {
- 0f,
- 0f,
- 1f,
- 0f,
- 0f
- },
- new float[] {
- 0f,
- 0f,
- 0f,
- Convert.ToSingle(PicSettings.LogoTrasparenza) / 100,
- 0f
- },
- new float[] {
- 0f,
- 0f,
- 0f,
- 0f,
- 1f
- }
- };
- ColorMatrix wmColorMatrix = new ColorMatrix(colorMatrixElements);
- imageAttributes.SetColorMatrix(wmColorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
-
- int FotoLogoH = PicSettings.LogoAltezza;
- int FotoLogoW = PicSettings.LogoLarghezza;
- double FattoreAlt = ImmagineLogo.Height / FotoLogoH;
- double FattoreLarg = ImmagineLogo.Width / FotoLogoW;
- Size NuovaSize = default(Size);
- if (FattoreLarg > FattoreAlt)
- {
- NuovaSize = NewthumbSize(ImmagineLogo.Width, ImmagineLogo.Height, FotoLogoW, "Larghezza");
- }
- else
- {
- NuovaSize = NewthumbSize(ImmagineLogo.Width, ImmagineLogo.Height, FotoLogoH, "Altezza");
- }
-
- int MargineUsato = 0;
- int MargineL = 0;
- bool InPercentualeL = false;
- if (PicSettings.LogoMargine.EndsWith("%") == true)
- {
- InPercentualeL = true;
- }
- else
- {
- InPercentualeL = false;
- }
- MargineL = Convert.ToInt32(PicSettings.LogoMargine);
- if (InPercentualeL == true)
- {
- MargineUsato = Convert.ToInt32(imgOutputBig.Height * MargineL / 100);
- }
- else
- {
- MargineUsato = MargineL;
- }
-
- int xPosOfWm = 0;
- int yPosOfWm = 0;
- switch (PicSettings.LogoPosizioneH.ToUpper())
- {
- case "SINISTRA":
- case "NESSUNA":
- xPosOfWm = MargineUsato;
-
- break;
- case "CENTRO":
- xPosOfWm = Convert.ToInt32((imgOutputBig.Width - NuovaSize.Width) / 2);
-
- break;
- case "DESTRA":
- xPosOfWm = ((imgOutputBig.Width - NuovaSize.Width) - MargineUsato);
- break;
- }
- switch (PicSettings.LogoPosizioneV.ToUpper())
- {
- case "ALTO":
- case "NESSUNA":
- yPosOfWm = MargineUsato;
-
- break;
- case "CENTRO":
- yPosOfWm = Convert.ToInt32((imgOutputBig.Height - NuovaSize.Height) / 2);
-
- break;
- case "BASSO":
- yPosOfWm = ((imgOutputBig.Height - NuovaSize.Height) - MargineUsato);
- break;
- }
-
- grWatermark.DrawImage(ImmagineLogo, new Rectangle(xPosOfWm, yPosOfWm, NuovaSize.Width, NuovaSize.Height), 0, 0, ImmagineLogo.Width, ImmagineLogo.Height, GraphicsUnit.Pixel, imageAttributes);
- grWatermark.Dispose();
- }
- }
-
-
-
- private void salvaFoto(Bitmap imgOutputBig, Size thumbSizeBig, string NomeFileBig, string NomeFileSmall, Size thumbSizeSmall, ImageFormat thisFormat)
- {
- if (PicSettings.FotoGrandeDimOrigina == false)
- {
- //attenzione non controlla se è png
- //imgOutputBig.Save(Path.Combine(_DestDir.FullName, "Temp_" & NomeFileBig), thisFormat)
- if (thisFormat.Equals(ImageFormat.Jpeg))
- {
- salvaImmagineCustomQuality(imgOutputBig, Path.Combine(DestDir.FullName, "Temp_" + NomeFileBig), PicSettings.jpegQuality);
- }
- else
- {
- imgOutputBig.Save(Path.Combine(_DestDir.FullName, "Temp_" + NomeFileBig), thisFormat);
- }
-
-
- System.Drawing.Image g2 = System.Drawing.Image.FromFile(Path.Combine(DestDir.FullName, "Temp_" + NomeFileBig));
- if (g2.Width > g2.Height)
- {
- thumbSizeBig = NewthumbSize(g2.Width, g2.Height, PicSettings.LarghezzaBig, "Larghezza");
- }
- else
- {
- thumbSizeBig = NewthumbSize(g2.Width, g2.Height, PicSettings.AltezzaBig, "Altezza");
- }
- Bitmap imgOutputBig2 = new Bitmap(g2, thumbSizeBig.Width, thumbSizeBig.Height);
- //
- if (thisFormat.Equals(ImageFormat.Jpeg))
- {
- salvaImmagineCustomQuality(imgOutputBig2, Path.Combine(DestDir.FullName, NomeFileBig), PicSettings.jpegQuality);
- }
- else
- {
- imgOutputBig2.Save(Path.Combine(_DestDir.FullName, NomeFileBig), thisFormat);
- }
-
- imgOutputBig2.Dispose();
- imgOutputBig.Dispose();
- g2.Dispose();
- }
- else
- {
- //
- if (thisFormat.Equals(ImageFormat.Jpeg))
- {
- salvaImmagineCustomQuality(imgOutputBig, Path.Combine(DestDir.FullName, NomeFileBig), PicSettings.jpegQuality);
- }
- else
- {
- imgOutputBig.Save(Path.Combine(_DestDir.FullName, NomeFileBig), thisFormat);
- }
-
- imgOutputBig.Dispose();
- }
-
-
- if (PicSettings.CreaMiniature)
- {
- if (PicSettings.AggiungiScritteMiniature == true)
- {
- System.Drawing.Image g1 = null;
- if (PicSettings.FotoGrandeDimOrigina == false)
- {
- g1 = System.Drawing.Image.FromFile(Path.Combine(DestDir.FullName, "Temp_" + NomeFileBig));
- }
- else
- {
- g1 = System.Drawing.Image.FromFile(Path.Combine(DestDir.FullName, NomeFileBig));
- }
- Bitmap imgOutputSmall = new Bitmap(g1, thumbSizeSmall.Width, thumbSizeSmall.Height);
- if (PicSettings.directorySorgente.ToUpper() == PicSettings.directoryDestinazione.ToUpper())
- {
- NomeFileSmall = NomeFileSmall.Substring(0, NomeFileSmall.Length - 4) + PicSettings.Codice + NomeFileSmall.Substring(NomeFileSmall.Length - 4);
- }
- //
- if (thisFormat.Equals(ImageFormat.Jpeg))
- {
- salvaImmagineCustomQuality(imgOutputSmall, Path.Combine(DestDir.FullName, NomeFileSmall), PicSettings.jpegQualityMin);
- }
- else
- {
- imgOutputSmall.Save(Path.Combine(_DestDir.FullName, NomeFileSmall), thisFormat);
- }
-
- imgOutputSmall.Dispose();
- g1.Dispose();
- }
-
-
-
- }
-
- if (File.Exists(Path.Combine(DestDir.FullName, "Temp_" + NomeFileBig)) == true)
- {
- File.Delete(Path.Combine(DestDir.FullName, "Temp_" + NomeFileBig));
- }
-
-
- }
-
-
- private void salvaImmagineCustomQuality(Bitmap imageToSave, string nomeFileFinale, long quality)
- {
- ImageCodecInfo JgpEncoder = GetEncoder(ImageFormat.Jpeg);
- Encoder MyEncoder = Encoder.Quality;
-
- EncoderParameters MyEncoderParameters = new EncoderParameters(1);
-
- EncoderParameter MyEncoderParameter = new EncoderParameter(MyEncoder, PicSettings.jpegQuality);
- MyEncoderParameters.Param[0] = MyEncoderParameter;
- imageToSave.Save(nomeFileFinale, JgpEncoder, MyEncoderParameters);
- imageToSave.Dispose();
- }
-
-
-
- private ImageCodecInfo GetEncoder(ImageFormat format)
- {
-
- ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
-
- ImageCodecInfo codec = null;
- foreach (ImageCodecInfo codec_loopVariable in codecs)
- {
- codec = codec_loopVariable;
- if (codec.FormatID == format.Guid)
- {
- return codec;
- }
- }
- return null;
-
- }
-
-
-
-
-
-
- ///
- /// Calculate the Size of the New image
- ///
- /// Larghezza
- /// Altezza
- ///
- ///
- ///
- ///
- private Size NewthumbSize(int currentwidth, int currentheight, int MaxPixel, string TipoSize)
- {
- // e
- //*** Larghezza, Altezza, Auto
-
- double tempMultiplier = 0;
-
- if (TipoSize.ToUpper() == "Larghezza".ToUpper())
- {
- tempMultiplier = MaxPixel / currentwidth;
- }
- else if (TipoSize.ToUpper() == "Altezza".ToUpper())
- {
- tempMultiplier = MaxPixel / currentheight;
- }
- else
- {
- // portrait
- if (currentheight > currentwidth)
- {
- tempMultiplier = MaxPixel / currentheight;
- }
- else
- {
- tempMultiplier = MaxPixel / currentwidth;
- }
- }
-
- Size NewSize = new Size(Convert.ToInt32(currentwidth * tempMultiplier), Convert.ToInt32(currentheight * tempMultiplier));
-
- return NewSize;
- }
-
- public FileInfo WorkFile
- {
- get { return _workFile; }
- set { _workFile = value; }
- }
-
- public DirectoryInfo DestDir
- {
- get { return _DestDir; }
- set { _DestDir = value; }
- }
-
- public DirectoryInfo SourceDir
- {
- get { return _SourceDir; }
- set { _SourceDir = value; }
- }
-
- public DirectoryInfo DestDirStart
- {
- get { return _DestDirStart; }
- set { _DestDirStart = value; }
- }
-
- public string NomeFileChild
- {
- get { return _NomeFileChild; }
- set { _NomeFileChild = value; }
- }
-
-
-}
\ No newline at end of file
diff --git a/ImageCatalogCS/MainForm.Designer.cs b/ImageCatalogCS/MainForm.Designer.cs
deleted file mode 100644
index 54b8132..0000000
--- a/ImageCatalogCS/MainForm.Designer.cs
+++ /dev/null
@@ -1,1794 +0,0 @@
-namespace ImageCatalogCS
-{
- partial class MainForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.ProgressBar1 = new System.Windows.Forms.ProgressBar();
- this.CheckBox22 = new System.Windows.Forms.CheckBox();
- this.Label43 = new System.Windows.Forms.Label();
- this.TabControl1 = new System.Windows.Forms.TabControl();
- this.TabPage5 = new System.Windows.Forms.TabPage();
- this.GroupBox11 = new System.Windows.Forms.GroupBox();
- this.Label8 = new System.Windows.Forms.Label();
- this.TextBox8 = new System.Windows.Forms.TextBox();
- this.Label7 = new System.Windows.Forms.Label();
- this.TextBox7 = new System.Windows.Forms.TextBox();
- this.GroupBox3 = new System.Windows.Forms.GroupBox();
- this.chkAggiornaSottodirectory = new System.Windows.Forms.CheckBox();
- this.Button3 = new System.Windows.Forms.Button();
- this.Button2 = new System.Windows.Forms.Button();
- this.Label1 = new System.Windows.Forms.Label();
- this.Label2 = new System.Windows.Forms.Label();
- this.txtSorgente = new System.Windows.Forms.TextBox();
- this.txtDestinazione = new System.Windows.Forms.TextBox();
- this.GroupBox8 = new System.Windows.Forms.GroupBox();
- this.rdbNumFiles = new System.Windows.Forms.RadioButton();
- this.rdbNumProgressiva = new System.Windows.Forms.RadioButton();
- this.txtCifreContatore = new System.Windows.Forms.TextBox();
- this.Label34 = new System.Windows.Forms.Label();
- this.txtSuffissoCartelle = new System.Windows.Forms.TextBox();
- this.Label33 = new System.Windows.Forms.Label();
- this.Label31 = new System.Windows.Forms.Label();
- this.chkCreaSottocartelle = new System.Windows.Forms.CheckBox();
- this.txtFilePerCartella = new System.Windows.Forms.TextBox();
- this.Label32 = new System.Windows.Forms.Label();
- this.GroupBox7 = new System.Windows.Forms.GroupBox();
- this.chkSovrascriviFile = new System.Windows.Forms.CheckBox();
- this.chkRotazioneAutomatica = new System.Windows.Forms.CheckBox();
- this.chkForzaJpg = new System.Windows.Forms.CheckBox();
- this.TabPage3 = new System.Windows.Forms.TabPage();
- this.CheckBox2 = new System.Windows.Forms.CheckBox();
- this.GroupBox10 = new System.Windows.Forms.GroupBox();
- this.Label42 = new System.Windows.Forms.Label();
- this.Label41 = new System.Windows.Forms.Label();
- this.TextBox31 = new System.Windows.Forms.TextBox();
- this.TextBox30 = new System.Windows.Forms.TextBox();
- this.GroupBox9 = new System.Windows.Forms.GroupBox();
- this.CheckBox17 = new System.Windows.Forms.CheckBox();
- this.CheckBox16 = new System.Windows.Forms.CheckBox();
- this.GroupBox5 = new System.Windows.Forms.GroupBox();
- this.TextBox34 = new System.Windows.Forms.TextBox();
- this.Button8 = new System.Windows.Forms.Button();
- this.Label36 = new System.Windows.Forms.Label();
- this.TextBox25 = new System.Windows.Forms.TextBox();
- this.Label35 = new System.Windows.Forms.Label();
- this.ComboBox3 = new System.Windows.Forms.ComboBox();
- this.TextBox11 = new System.Windows.Forms.TextBox();
- this.Label12 = new System.Windows.Forms.Label();
- this.Label11 = new System.Windows.Forms.Label();
- this.CheckBox3 = new System.Windows.Forms.CheckBox();
- this.GroupBox4 = new System.Windows.Forms.GroupBox();
- this.Label40 = new System.Windows.Forms.Label();
- this.TextBox29 = new System.Windows.Forms.TextBox();
- this.TextBox18 = new System.Windows.Forms.TextBox();
- this.Label26 = new System.Windows.Forms.Label();
- this.DateTimePicker1 = new System.Windows.Forms.DateTimePicker();
- this.CheckBox8 = new System.Windows.Forms.CheckBox();
- this.TextBox9 = new System.Windows.Forms.TextBox();
- this.CheckBox7 = new System.Windows.Forms.CheckBox();
- this.Label4 = new System.Windows.Forms.Label();
- this.TextBox4 = new System.Windows.Forms.TextBox();
- this.Label9 = new System.Windows.Forms.Label();
- this.Label13 = new System.Windows.Forms.Label();
- this.ComboBox1 = new System.Windows.Forms.ComboBox();
- this.ComboBox2 = new System.Windows.Forms.ComboBox();
- this.Label14 = new System.Windows.Forms.Label();
- this.TextBox12 = new System.Windows.Forms.TextBox();
- this.Label15 = new System.Windows.Forms.Label();
- this.TabPage2 = new System.Windows.Forms.TabPage();
- this.GroupBox2 = new System.Windows.Forms.GroupBox();
- this.Label45 = new System.Windows.Forms.Label();
- this.TextBox32 = new System.Windows.Forms.TextBox();
- this.TextBox26 = new System.Windows.Forms.TextBox();
- this.Label37 = new System.Windows.Forms.Label();
- this.Label38 = new System.Windows.Forms.Label();
- this.TextBox27 = new System.Windows.Forms.TextBox();
- this.Label39 = new System.Windows.Forms.Label();
- this.TextBox28 = new System.Windows.Forms.TextBox();
- this.CheckBox15 = new System.Windows.Forms.CheckBox();
- this.TabPage1 = new System.Windows.Forms.TabPage();
- this.GroupBox1 = new System.Windows.Forms.GroupBox();
- this.Label46 = new System.Windows.Forms.Label();
- this.TextBox33 = new System.Windows.Forms.TextBox();
- this.Panel2 = new System.Windows.Forms.Panel();
- this.RadioButton3 = new System.Windows.Forms.RadioButton();
- this.RadioButton7 = new System.Windows.Forms.RadioButton();
- this.RadioButton4 = new System.Windows.Forms.RadioButton();
- this.RadioButton6 = new System.Windows.Forms.RadioButton();
- this.RadioButton5 = new System.Windows.Forms.RadioButton();
- this.Label5 = new System.Windows.Forms.Label();
- this.TextBox5 = new System.Windows.Forms.TextBox();
- this.Label6 = new System.Windows.Forms.Label();
- this.TextBox6 = new System.Windows.Forms.TextBox();
- this.Label3 = new System.Windows.Forms.Label();
- this.TextBox3 = new System.Windows.Forms.TextBox();
- this.CheckBox1 = new System.Windows.Forms.CheckBox();
- this.TabPage4 = new System.Windows.Forms.TabPage();
- this.GroupBox6 = new System.Windows.Forms.GroupBox();
- this.PictureBox2 = new System.Windows.Forms.PictureBox();
- this.PictureBox1 = new System.Windows.Forms.PictureBox();
- this.ComboBox5 = new System.Windows.Forms.ComboBox();
- this.ComboBox4 = new System.Windows.Forms.ComboBox();
- this.TextBox19 = new System.Windows.Forms.TextBox();
- this.Label28 = new System.Windows.Forms.Label();
- this.CheckBox5 = new System.Windows.Forms.CheckBox();
- this.TextBox15 = new System.Windows.Forms.TextBox();
- this.TextBox14 = new System.Windows.Forms.TextBox();
- this.Label25 = new System.Windows.Forms.Label();
- this.TextBox16 = new System.Windows.Forms.TextBox();
- this.Label24 = new System.Windows.Forms.Label();
- this.Label22 = new System.Windows.Forms.Label();
- this.Label23 = new System.Windows.Forms.Label();
- this.Button4 = new System.Windows.Forms.Button();
- this.TextBox10 = new System.Windows.Forms.TextBox();
- this.Label29 = new System.Windows.Forms.Label();
- this.Label30 = new System.Windows.Forms.Label();
- this.PictureBox3 = new System.Windows.Forms.PictureBox();
- this.Label20 = new System.Windows.Forms.Label();
- this.Label19 = new System.Windows.Forms.Label();
- this.Label18 = new System.Windows.Forms.Label();
- this.lblFotoTotaliNum = new System.Windows.Forms.Label();
- this.menuStrip1 = new System.Windows.Forms.MenuStrip();
- this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.caricaImpostazioniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.salvaImpostazioniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.creaCatalogoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.esciToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.aiutoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.informazioniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.groupBox12 = new System.Windows.Forms.GroupBox();
- this.btnStopCreazione = new System.Windows.Forms.Button();
- this.lblLog = new System.Windows.Forms.ListBox();
- this.txtFileInfo = new System.Windows.Forms.TextBox();
- this.panelTesto = new System.Windows.Forms.Panel();
- this.panelMiniature = new System.Windows.Forms.Panel();
- this.TabControl1.SuspendLayout();
- this.TabPage5.SuspendLayout();
- this.GroupBox11.SuspendLayout();
- this.GroupBox3.SuspendLayout();
- this.GroupBox8.SuspendLayout();
- this.GroupBox7.SuspendLayout();
- this.TabPage3.SuspendLayout();
- this.GroupBox10.SuspendLayout();
- this.GroupBox9.SuspendLayout();
- this.GroupBox5.SuspendLayout();
- this.GroupBox4.SuspendLayout();
- this.TabPage2.SuspendLayout();
- this.GroupBox2.SuspendLayout();
- this.TabPage1.SuspendLayout();
- this.GroupBox1.SuspendLayout();
- this.Panel2.SuspendLayout();
- this.TabPage4.SuspendLayout();
- this.GroupBox6.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox3)).BeginInit();
- this.menuStrip1.SuspendLayout();
- this.groupBox12.SuspendLayout();
- this.panelTesto.SuspendLayout();
- this.panelMiniature.SuspendLayout();
- this.SuspendLayout();
- //
- // ProgressBar1
- //
- this.ProgressBar1.Location = new System.Drawing.Point(16, 401);
- this.ProgressBar1.Name = "ProgressBar1";
- this.ProgressBar1.Size = new System.Drawing.Size(513, 13);
- this.ProgressBar1.TabIndex = 81;
- //
- // CheckBox22
- //
- this.CheckBox22.AutoSize = true;
- this.CheckBox22.Location = new System.Drawing.Point(6, 365);
- this.CheckBox22.Name = "CheckBox22";
- this.CheckBox22.Size = new System.Drawing.Size(104, 17);
- this.CheckBox22.TabIndex = 80;
- this.CheckBox22.Text = "Arresta il sistema";
- this.CheckBox22.UseVisualStyleBackColor = true;
- //
- // Label43
- //
- this.Label43.AutoSize = true;
- this.Label43.Location = new System.Drawing.Point(3, 349);
- this.Label43.Name = "Label43";
- this.Label43.Size = new System.Drawing.Size(25, 13);
- this.Label43.TabIndex = 79;
- this.Label43.Text = "000";
- this.Label43.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TabControl1
- //
- this.TabControl1.Controls.Add(this.TabPage5);
- this.TabControl1.Controls.Add(this.TabPage3);
- this.TabControl1.Controls.Add(this.TabPage2);
- this.TabControl1.Controls.Add(this.TabPage1);
- this.TabControl1.Controls.Add(this.TabPage4);
- this.TabControl1.Location = new System.Drawing.Point(12, 27);
- this.TabControl1.Name = "TabControl1";
- this.TabControl1.SelectedIndex = 0;
- this.TabControl1.Size = new System.Drawing.Size(521, 372);
- this.TabControl1.TabIndex = 78;
- //
- // TabPage5
- //
- this.TabPage5.Controls.Add(this.GroupBox11);
- this.TabPage5.Controls.Add(this.GroupBox3);
- this.TabPage5.Controls.Add(this.GroupBox8);
- this.TabPage5.Controls.Add(this.GroupBox7);
- this.TabPage5.Location = new System.Drawing.Point(4, 22);
- this.TabPage5.Name = "TabPage5";
- this.TabPage5.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage5.Size = new System.Drawing.Size(513, 346);
- this.TabPage5.TabIndex = 4;
- this.TabPage5.Text = "Generale";
- this.TabPage5.UseVisualStyleBackColor = true;
- //
- // GroupBox11
- //
- this.GroupBox11.Controls.Add(this.Label8);
- this.GroupBox11.Controls.Add(this.TextBox8);
- this.GroupBox11.Controls.Add(this.Label7);
- this.GroupBox11.Controls.Add(this.TextBox7);
- this.GroupBox11.Location = new System.Drawing.Point(7, 209);
- this.GroupBox11.Name = "GroupBox11";
- this.GroupBox11.Size = new System.Drawing.Size(191, 132);
- this.GroupBox11.TabIndex = 48;
- this.GroupBox11.TabStop = false;
- this.GroupBox11.Text = "Avanzate (ATTENZIONE)";
- //
- // Label8
- //
- this.Label8.AutoSize = true;
- this.Label8.Location = new System.Drawing.Point(64, 26);
- this.Label8.Name = "Label8";
- this.Label8.Size = new System.Drawing.Size(61, 13);
- this.Label8.TabIndex = 3;
- this.Label8.Text = "Min Thread";
- //
- // TextBox8
- //
- this.TextBox8.Location = new System.Drawing.Point(7, 20);
- this.TextBox8.Name = "TextBox8";
- this.TextBox8.Size = new System.Drawing.Size(47, 20);
- this.TextBox8.TabIndex = 2;
- this.TextBox8.Text = "5";
- //
- // Label7
- //
- this.Label7.AutoSize = true;
- this.Label7.Location = new System.Drawing.Point(61, 48);
- this.Label7.Name = "Label7";
- this.Label7.Size = new System.Drawing.Size(64, 13);
- this.Label7.TabIndex = 1;
- this.Label7.Text = "Max Thread";
- //
- // TextBox7
- //
- this.TextBox7.Location = new System.Drawing.Point(7, 46);
- this.TextBox7.Name = "TextBox7";
- this.TextBox7.Size = new System.Drawing.Size(47, 20);
- this.TextBox7.TabIndex = 0;
- this.TextBox7.Text = "15";
- //
- // GroupBox3
- //
- this.GroupBox3.Controls.Add(this.chkAggiornaSottodirectory);
- this.GroupBox3.Controls.Add(this.Button3);
- this.GroupBox3.Controls.Add(this.Button2);
- this.GroupBox3.Controls.Add(this.Label1);
- this.GroupBox3.Controls.Add(this.Label2);
- this.GroupBox3.Controls.Add(this.txtSorgente);
- this.GroupBox3.Controls.Add(this.txtDestinazione);
- this.GroupBox3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox3.Location = new System.Drawing.Point(6, 6);
- this.GroupBox3.Name = "GroupBox3";
- this.GroupBox3.Size = new System.Drawing.Size(496, 101);
- this.GroupBox3.TabIndex = 35;
- this.GroupBox3.TabStop = false;
- this.GroupBox3.Text = "Directory";
- //
- // chkAggiornaSottodirectory
- //
- this.chkAggiornaSottodirectory.ForeColor = System.Drawing.Color.Black;
- this.chkAggiornaSottodirectory.Location = new System.Drawing.Point(80, 64);
- this.chkAggiornaSottodirectory.Name = "chkAggiornaSottodirectory";
- this.chkAggiornaSottodirectory.Size = new System.Drawing.Size(152, 24);
- this.chkAggiornaSottodirectory.TabIndex = 25;
- this.chkAggiornaSottodirectory.Text = "aggiorna le sottodirectory";
- //
- // Button3
- //
- this.Button3.Location = new System.Drawing.Point(462, 40);
- this.Button3.Name = "Button3";
- this.Button3.Size = new System.Drawing.Size(24, 20);
- this.Button3.TabIndex = 6;
- this.Button3.Text = "...";
- //
- // Button2
- //
- this.Button2.Location = new System.Drawing.Point(462, 16);
- this.Button2.Name = "Button2";
- this.Button2.Size = new System.Drawing.Size(24, 20);
- this.Button2.TabIndex = 5;
- this.Button2.Text = "...";
- //
- // Label1
- //
- this.Label1.AutoSize = true;
- this.Label1.ForeColor = System.Drawing.Color.Black;
- this.Label1.Location = new System.Drawing.Point(6, 19);
- this.Label1.Name = "Label1";
- this.Label1.Size = new System.Drawing.Size(50, 13);
- this.Label1.TabIndex = 3;
- this.Label1.Text = "Sorgente";
- //
- // Label2
- //
- this.Label2.AutoSize = true;
- this.Label2.ForeColor = System.Drawing.Color.Black;
- this.Label2.Location = new System.Drawing.Point(6, 43);
- this.Label2.Name = "Label2";
- this.Label2.Size = new System.Drawing.Size(68, 13);
- this.Label2.TabIndex = 4;
- this.Label2.Text = "Destinazione";
- //
- // txtSorgente
- //
- this.txtSorgente.Location = new System.Drawing.Point(80, 16);
- this.txtSorgente.Name = "txtSorgente";
- this.txtSorgente.Size = new System.Drawing.Size(376, 20);
- this.txtSorgente.TabIndex = 0;
- this.txtSorgente.Text = "TextBox1";
- //
- // txtDestinazione
- //
- this.txtDestinazione.Location = new System.Drawing.Point(80, 40);
- this.txtDestinazione.Name = "txtDestinazione";
- this.txtDestinazione.Size = new System.Drawing.Size(376, 20);
- this.txtDestinazione.TabIndex = 1;
- this.txtDestinazione.Text = "TextBox2";
- //
- // GroupBox8
- //
- this.GroupBox8.Controls.Add(this.rdbNumFiles);
- this.GroupBox8.Controls.Add(this.rdbNumProgressiva);
- this.GroupBox8.Controls.Add(this.txtCifreContatore);
- this.GroupBox8.Controls.Add(this.Label34);
- this.GroupBox8.Controls.Add(this.txtSuffissoCartelle);
- this.GroupBox8.Controls.Add(this.Label33);
- this.GroupBox8.Controls.Add(this.Label31);
- this.GroupBox8.Controls.Add(this.chkCreaSottocartelle);
- this.GroupBox8.Controls.Add(this.txtFilePerCartella);
- this.GroupBox8.Controls.Add(this.Label32);
- this.GroupBox8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox8.Location = new System.Drawing.Point(204, 113);
- this.GroupBox8.Name = "GroupBox8";
- this.GroupBox8.Size = new System.Drawing.Size(192, 152);
- this.GroupBox8.TabIndex = 47;
- this.GroupBox8.TabStop = false;
- this.GroupBox8.Text = "Sottocartelle";
- //
- // rdbNumFiles
- //
- this.rdbNumFiles.ForeColor = System.Drawing.Color.Black;
- this.rdbNumFiles.Location = new System.Drawing.Point(32, 128);
- this.rdbNumFiles.Name = "rdbNumFiles";
- this.rdbNumFiles.Size = new System.Drawing.Size(136, 16);
- this.rdbNumFiles.TabIndex = 38;
- this.rdbNumFiles.Text = "Numerazione files";
- //
- // rdbNumProgressiva
- //
- this.rdbNumProgressiva.Checked = true;
- this.rdbNumProgressiva.ForeColor = System.Drawing.Color.Black;
- this.rdbNumProgressiva.Location = new System.Drawing.Point(32, 112);
- this.rdbNumProgressiva.Name = "rdbNumProgressiva";
- this.rdbNumProgressiva.Size = new System.Drawing.Size(152, 16);
- this.rdbNumProgressiva.TabIndex = 37;
- this.rdbNumProgressiva.TabStop = true;
- this.rdbNumProgressiva.Text = "Numerazione progressiva";
- //
- // txtCifreContatore
- //
- this.txtCifreContatore.Location = new System.Drawing.Point(128, 88);
- this.txtCifreContatore.Name = "txtCifreContatore";
- this.txtCifreContatore.Size = new System.Drawing.Size(56, 20);
- this.txtCifreContatore.TabIndex = 34;
- this.txtCifreContatore.Text = "4";
- //
- // Label34
- //
- this.Label34.ForeColor = System.Drawing.Color.Black;
- this.Label34.Location = new System.Drawing.Point(8, 88);
- this.Label34.Name = "Label34";
- this.Label34.Size = new System.Drawing.Size(112, 16);
- this.Label34.TabIndex = 33;
- this.Label34.Text = "Num. cifre contatore";
- this.Label34.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
- // txtSuffissoCartelle
- //
- this.txtSuffissoCartelle.Location = new System.Drawing.Point(56, 64);
- this.txtSuffissoCartelle.Name = "txtSuffissoCartelle";
- this.txtSuffissoCartelle.Size = new System.Drawing.Size(128, 20);
- this.txtSuffissoCartelle.TabIndex = 32;
- this.txtSuffissoCartelle.Text = "TextBox20";
- //
- // Label33
- //
- this.Label33.ForeColor = System.Drawing.Color.Black;
- this.Label33.Location = new System.Drawing.Point(6, 67);
- this.Label33.Name = "Label33";
- this.Label33.Size = new System.Drawing.Size(48, 16);
- this.Label33.TabIndex = 31;
- this.Label33.Text = "Suffisso";
- //
- // Label31
- //
- this.Label31.ForeColor = System.Drawing.Color.Black;
- this.Label31.Location = new System.Drawing.Point(24, 40);
- this.Label31.Name = "Label31";
- this.Label31.Size = new System.Drawing.Size(32, 16);
- this.Label31.TabIndex = 30;
- this.Label31.Text = "ogni";
- //
- // chkCreaSottocartelle
- //
- this.chkCreaSottocartelle.ForeColor = System.Drawing.Color.Black;
- this.chkCreaSottocartelle.Location = new System.Drawing.Point(56, 16);
- this.chkCreaSottocartelle.Name = "chkCreaSottocartelle";
- this.chkCreaSottocartelle.Size = new System.Drawing.Size(112, 16);
- this.chkCreaSottocartelle.TabIndex = 29;
- this.chkCreaSottocartelle.Text = "crea sottocartelle";
- //
- // txtFilePerCartella
- //
- this.txtFilePerCartella.Location = new System.Drawing.Point(56, 40);
- this.txtFilePerCartella.Name = "txtFilePerCartella";
- this.txtFilePerCartella.Size = new System.Drawing.Size(64, 20);
- this.txtFilePerCartella.TabIndex = 27;
- this.txtFilePerCartella.Text = "99";
- //
- // Label32
- //
- this.Label32.ForeColor = System.Drawing.Color.Black;
- this.Label32.Location = new System.Drawing.Point(128, 40);
- this.Label32.Name = "Label32";
- this.Label32.Size = new System.Drawing.Size(24, 16);
- this.Label32.TabIndex = 28;
- this.Label32.Text = "file";
- //
- // GroupBox7
- //
- this.GroupBox7.Controls.Add(this.chkSovrascriviFile);
- this.GroupBox7.Controls.Add(this.chkRotazioneAutomatica);
- this.GroupBox7.Controls.Add(this.chkForzaJpg);
- this.GroupBox7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox7.Location = new System.Drawing.Point(6, 113);
- this.GroupBox7.Name = "GroupBox7";
- this.GroupBox7.Size = new System.Drawing.Size(192, 88);
- this.GroupBox7.TabIndex = 45;
- this.GroupBox7.TabStop = false;
- this.GroupBox7.Text = "Generale";
- //
- // chkSovrascriviFile
- //
- this.chkSovrascriviFile.AutoSize = true;
- this.chkSovrascriviFile.Location = new System.Drawing.Point(16, 61);
- this.chkSovrascriviFile.Name = "chkSovrascriviFile";
- this.chkSovrascriviFile.Size = new System.Drawing.Size(94, 17);
- this.chkSovrascriviFile.TabIndex = 2;
- this.chkSovrascriviFile.Text = "Sovrascrivi file";
- this.chkSovrascriviFile.UseVisualStyleBackColor = true;
- //
- // chkRotazioneAutomatica
- //
- this.chkRotazioneAutomatica.ForeColor = System.Drawing.Color.Black;
- this.chkRotazioneAutomatica.Location = new System.Drawing.Point(16, 39);
- this.chkRotazioneAutomatica.Name = "chkRotazioneAutomatica";
- this.chkRotazioneAutomatica.Size = new System.Drawing.Size(136, 16);
- this.chkRotazioneAutomatica.TabIndex = 1;
- this.chkRotazioneAutomatica.Text = "Rotazione automatica";
- //
- // chkForzaJpg
- //
- this.chkForzaJpg.Checked = true;
- this.chkForzaJpg.CheckState = System.Windows.Forms.CheckState.Checked;
- this.chkForzaJpg.ForeColor = System.Drawing.Color.Black;
- this.chkForzaJpg.Location = new System.Drawing.Point(16, 18);
- this.chkForzaJpg.Name = "chkForzaJpg";
- this.chkForzaJpg.Size = new System.Drawing.Size(80, 16);
- this.chkForzaJpg.TabIndex = 0;
- this.chkForzaJpg.Text = "Forza Jpg";
- //
- // TabPage3
- //
- this.TabPage3.Controls.Add(this.panelTesto);
- this.TabPage3.Controls.Add(this.CheckBox2);
- this.TabPage3.Location = new System.Drawing.Point(4, 22);
- this.TabPage3.Name = "TabPage3";
- this.TabPage3.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage3.Size = new System.Drawing.Size(513, 346);
- this.TabPage3.TabIndex = 2;
- this.TabPage3.Text = "Testo";
- this.TabPage3.UseVisualStyleBackColor = true;
- //
- // CheckBox2
- //
- this.CheckBox2.AutoSize = true;
- this.CheckBox2.Location = new System.Drawing.Point(7, 8);
- this.CheckBox2.Name = "CheckBox2";
- this.CheckBox2.Size = new System.Drawing.Size(93, 17);
- this.CheckBox2.TabIndex = 40;
- this.CheckBox2.Text = "Aggiungi testo";
- this.CheckBox2.UseVisualStyleBackColor = true;
- this.CheckBox2.CheckedChanged += new System.EventHandler(this.CheckBox2_CheckedChanged);
- //
- // GroupBox10
- //
- this.GroupBox10.Controls.Add(this.Label42);
- this.GroupBox10.Controls.Add(this.Label41);
- this.GroupBox10.Controls.Add(this.TextBox31);
- this.GroupBox10.Controls.Add(this.TextBox30);
- this.GroupBox10.Location = new System.Drawing.Point(313, 50);
- this.GroupBox10.Name = "GroupBox10";
- this.GroupBox10.Size = new System.Drawing.Size(186, 73);
- this.GroupBox10.TabIndex = 39;
- this.GroupBox10.TabStop = false;
- this.GroupBox10.Text = "Testo foto verticali";
- //
- // Label42
- //
- this.Label42.AutoSize = true;
- this.Label42.Location = new System.Drawing.Point(7, 46);
- this.Label42.Name = "Label42";
- this.Label42.Size = new System.Drawing.Size(45, 13);
- this.Label42.TabIndex = 3;
- this.Label42.Text = "Margine";
- //
- // Label41
- //
- this.Label41.AutoSize = true;
- this.Label41.Location = new System.Drawing.Point(7, 25);
- this.Label41.Name = "Label41";
- this.Label41.Size = new System.Drawing.Size(108, 13);
- this.Label41.TabIndex = 2;
- this.Label41.Text = "Dimensione Carattere";
- //
- // TextBox31
- //
- this.TextBox31.Location = new System.Drawing.Point(131, 46);
- this.TextBox31.Name = "TextBox31";
- this.TextBox31.Size = new System.Drawing.Size(39, 20);
- this.TextBox31.TabIndex = 1;
- //
- // TextBox30
- //
- this.TextBox30.Location = new System.Drawing.Point(131, 22);
- this.TextBox30.Name = "TextBox30";
- this.TextBox30.Size = new System.Drawing.Size(39, 20);
- this.TextBox30.TabIndex = 0;
- //
- // GroupBox9
- //
- this.GroupBox9.Controls.Add(this.CheckBox17);
- this.GroupBox9.Controls.Add(this.CheckBox16);
- this.GroupBox9.Location = new System.Drawing.Point(313, 3);
- this.GroupBox9.Name = "GroupBox9";
- this.GroupBox9.Size = new System.Drawing.Size(186, 45);
- this.GroupBox9.TabIndex = 38;
- this.GroupBox9.TabStop = false;
- this.GroupBox9.Text = "Slide show";
- //
- // CheckBox17
- //
- this.CheckBox17.AutoSize = true;
- this.CheckBox17.Location = new System.Drawing.Point(96, 18);
- this.CheckBox17.Name = "CheckBox17";
- this.CheckBox17.Size = new System.Drawing.Size(84, 17);
- this.CheckBox17.TabIndex = 1;
- this.CheckBox17.Text = "Numero foto";
- this.CheckBox17.UseVisualStyleBackColor = true;
- //
- // CheckBox16
- //
- this.CheckBox16.AutoSize = true;
- this.CheckBox16.Location = new System.Drawing.Point(6, 19);
- this.CheckBox16.Name = "CheckBox16";
- this.CheckBox16.Size = new System.Drawing.Size(49, 17);
- this.CheckBox16.TabIndex = 0;
- this.CheckBox16.Text = "Data";
- this.CheckBox16.UseVisualStyleBackColor = true;
- //
- // GroupBox5
- //
- this.GroupBox5.Controls.Add(this.TextBox34);
- this.GroupBox5.Controls.Add(this.Button8);
- this.GroupBox5.Controls.Add(this.Label36);
- this.GroupBox5.Controls.Add(this.TextBox25);
- this.GroupBox5.Controls.Add(this.Label35);
- this.GroupBox5.Controls.Add(this.ComboBox3);
- this.GroupBox5.Controls.Add(this.TextBox11);
- this.GroupBox5.Controls.Add(this.Label12);
- this.GroupBox5.Controls.Add(this.Label11);
- this.GroupBox5.Controls.Add(this.CheckBox3);
- this.GroupBox5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox5.Location = new System.Drawing.Point(3, 3);
- this.GroupBox5.Name = "GroupBox5";
- this.GroupBox5.Size = new System.Drawing.Size(304, 120);
- this.GroupBox5.TabIndex = 37;
- this.GroupBox5.TabStop = false;
- this.GroupBox5.Text = "Carattere";
- //
- // TextBox34
- //
- this.TextBox34.Location = new System.Drawing.Point(160, 91);
- this.TextBox34.Name = "TextBox34";
- this.TextBox34.Size = new System.Drawing.Size(56, 20);
- this.TextBox34.TabIndex = 36;
- this.TextBox34.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // Button8
- //
- this.Button8.ForeColor = System.Drawing.Color.Black;
- this.Button8.Location = new System.Drawing.Point(222, 89);
- this.Button8.Name = "Button8";
- this.Button8.Size = new System.Drawing.Size(74, 24);
- this.Button8.TabIndex = 35;
- this.Button8.Text = "Scegli...";
- //
- // Label36
- //
- this.Label36.ForeColor = System.Drawing.Color.Black;
- this.Label36.Location = new System.Drawing.Point(8, 60);
- this.Label36.Name = "Label36";
- this.Label36.Size = new System.Drawing.Size(120, 19);
- this.Label36.TabIndex = 34;
- this.Label36.Text = "Dimensione miniatura";
- this.Label36.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TextBox25
- //
- this.TextBox25.Location = new System.Drawing.Point(160, 59);
- this.TextBox25.Name = "TextBox25";
- this.TextBox25.Size = new System.Drawing.Size(56, 20);
- this.TextBox25.TabIndex = 33;
- this.TextBox25.Text = "TextBox25";
- //
- // Label35
- //
- this.Label35.ForeColor = System.Drawing.Color.Black;
- this.Label35.Location = new System.Drawing.Point(8, 93);
- this.Label35.Name = "Label35";
- this.Label35.Size = new System.Drawing.Size(72, 16);
- this.Label35.TabIndex = 32;
- this.Label35.Text = "Colore RGB";
- this.Label35.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // ComboBox3
- //
- this.ComboBox3.Location = new System.Drawing.Point(96, 8);
- this.ComboBox3.Name = "ComboBox3";
- this.ComboBox3.Size = new System.Drawing.Size(120, 21);
- this.ComboBox3.TabIndex = 28;
- this.ComboBox3.Text = "ComboBox3";
- //
- // TextBox11
- //
- this.TextBox11.Location = new System.Drawing.Point(160, 35);
- this.TextBox11.Name = "TextBox11";
- this.TextBox11.Size = new System.Drawing.Size(56, 20);
- this.TextBox11.TabIndex = 27;
- this.TextBox11.Text = "TextBox11";
- //
- // Label12
- //
- this.Label12.AutoSize = true;
- this.Label12.ForeColor = System.Drawing.Color.Black;
- this.Label12.Location = new System.Drawing.Point(8, 38);
- this.Label12.Name = "Label12";
- this.Label12.Size = new System.Drawing.Size(62, 13);
- this.Label12.TabIndex = 26;
- this.Label12.Text = "Dimensione";
- this.Label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label11
- //
- this.Label11.AutoSize = true;
- this.Label11.ForeColor = System.Drawing.Color.Black;
- this.Label11.Location = new System.Drawing.Point(56, 8);
- this.Label11.Name = "Label11";
- this.Label11.Size = new System.Drawing.Size(28, 13);
- this.Label11.TabIndex = 22;
- this.Label11.Text = "Font";
- //
- // CheckBox3
- //
- this.CheckBox3.ForeColor = System.Drawing.Color.Black;
- this.CheckBox3.Location = new System.Drawing.Point(224, 8);
- this.CheckBox3.Name = "CheckBox3";
- this.CheckBox3.Size = new System.Drawing.Size(72, 24);
- this.CheckBox3.TabIndex = 24;
- this.CheckBox3.Text = "Grassetto";
- //
- // GroupBox4
- //
- this.GroupBox4.Controls.Add(this.Label40);
- this.GroupBox4.Controls.Add(this.TextBox29);
- this.GroupBox4.Controls.Add(this.TextBox18);
- this.GroupBox4.Controls.Add(this.Label26);
- this.GroupBox4.Controls.Add(this.DateTimePicker1);
- this.GroupBox4.Controls.Add(this.CheckBox8);
- this.GroupBox4.Controls.Add(this.TextBox9);
- this.GroupBox4.Controls.Add(this.CheckBox7);
- this.GroupBox4.Controls.Add(this.Label4);
- this.GroupBox4.Controls.Add(this.TextBox4);
- this.GroupBox4.Controls.Add(this.Label9);
- this.GroupBox4.Controls.Add(this.Label13);
- this.GroupBox4.Controls.Add(this.ComboBox1);
- this.GroupBox4.Controls.Add(this.ComboBox2);
- this.GroupBox4.Controls.Add(this.Label14);
- this.GroupBox4.Controls.Add(this.TextBox12);
- this.GroupBox4.Controls.Add(this.Label15);
- this.GroupBox4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox4.Location = new System.Drawing.Point(3, 129);
- this.GroupBox4.Name = "GroupBox4";
- this.GroupBox4.Size = new System.Drawing.Size(496, 171);
- this.GroupBox4.TabIndex = 36;
- this.GroupBox4.TabStop = false;
- this.GroupBox4.Text = "Testo da applicare";
- //
- // Label40
- //
- this.Label40.AutoSize = true;
- this.Label40.Location = new System.Drawing.Point(8, 52);
- this.Label40.Name = "Label40";
- this.Label40.Size = new System.Drawing.Size(48, 13);
- this.Label40.TabIndex = 40;
- this.Label40.Text = "Verticale";
- //
- // TextBox29
- //
- this.TextBox29.Location = new System.Drawing.Point(72, 49);
- this.TextBox29.Multiline = true;
- this.TextBox29.Name = "TextBox29";
- this.TextBox29.Size = new System.Drawing.Size(408, 44);
- this.TextBox29.TabIndex = 39;
- //
- // TextBox18
- //
- this.TextBox18.Location = new System.Drawing.Point(232, 147);
- this.TextBox18.Name = "TextBox18";
- this.TextBox18.Size = new System.Drawing.Size(100, 20);
- this.TextBox18.TabIndex = 38;
- //
- // Label26
- //
- this.Label26.AutoSize = true;
- this.Label26.ForeColor = System.Drawing.Color.Black;
- this.Label26.Location = new System.Drawing.Point(344, 147);
- this.Label26.Name = "Label26";
- this.Label26.Size = new System.Drawing.Size(48, 13);
- this.Label26.TabIndex = 37;
- this.Label26.Text = "partenza";
- //
- // DateTimePicker1
- //
- this.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Time;
- this.DateTimePicker1.Location = new System.Drawing.Point(392, 147);
- this.DateTimePicker1.Name = "DateTimePicker1";
- this.DateTimePicker1.Size = new System.Drawing.Size(88, 20);
- this.DateTimePicker1.TabIndex = 36;
- //
- // CheckBox8
- //
- this.CheckBox8.ForeColor = System.Drawing.Color.Black;
- this.CheckBox8.Location = new System.Drawing.Point(72, 147);
- this.CheckBox8.Name = "CheckBox8";
- this.CheckBox8.Size = new System.Drawing.Size(56, 16);
- this.CheckBox8.TabIndex = 35;
- this.CheckBox8.Text = "Orario";
- //
- // TextBox9
- //
- this.TextBox9.Location = new System.Drawing.Point(120, 99);
- this.TextBox9.Name = "TextBox9";
- this.TextBox9.Size = new System.Drawing.Size(56, 20);
- this.TextBox9.TabIndex = 20;
- this.TextBox9.Text = "TextBox9";
- //
- // CheckBox7
- //
- this.CheckBox7.ForeColor = System.Drawing.Color.Black;
- this.CheckBox7.Location = new System.Drawing.Point(136, 147);
- this.CheckBox7.Name = "CheckBox7";
- this.CheckBox7.Size = new System.Drawing.Size(88, 16);
- this.CheckBox7.TabIndex = 34;
- this.CheckBox7.Text = "Tempo gara";
- //
- // Label4
- //
- this.Label4.AutoSize = true;
- this.Label4.ForeColor = System.Drawing.Color.Black;
- this.Label4.Location = new System.Drawing.Point(8, 24);
- this.Label4.Name = "Label4";
- this.Label4.Size = new System.Drawing.Size(59, 13);
- this.Label4.TabIndex = 9;
- this.Label4.Text = "Orizzontale";
- //
- // TextBox4
- //
- this.TextBox4.Location = new System.Drawing.Point(72, 24);
- this.TextBox4.Name = "TextBox4";
- this.TextBox4.Size = new System.Drawing.Size(408, 20);
- this.TextBox4.TabIndex = 8;
- this.TextBox4.Text = "TextBox4";
- //
- // Label9
- //
- this.Label9.AutoSize = true;
- this.Label9.ForeColor = System.Drawing.Color.Black;
- this.Label9.Location = new System.Drawing.Point(8, 99);
- this.Label9.Name = "Label9";
- this.Label9.Size = new System.Drawing.Size(110, 13);
- this.Label9.TabIndex = 19;
- this.Label9.Text = "Trasparenza (0-100%)";
- //
- // Label13
- //
- this.Label13.AutoSize = true;
- this.Label13.ForeColor = System.Drawing.Color.Black;
- this.Label13.Location = new System.Drawing.Point(16, 123);
- this.Label13.Name = "Label13";
- this.Label13.Size = new System.Drawing.Size(52, 13);
- this.Label13.TabIndex = 29;
- this.Label13.Text = "Posizione";
- //
- // ComboBox1
- //
- this.ComboBox1.Location = new System.Drawing.Point(72, 123);
- this.ComboBox1.Name = "ComboBox1";
- this.ComboBox1.Size = new System.Drawing.Size(104, 21);
- this.ComboBox1.TabIndex = 28;
- this.ComboBox1.Text = "ComboBox1";
- //
- // ComboBox2
- //
- this.ComboBox2.Location = new System.Drawing.Point(376, 123);
- this.ComboBox2.Name = "ComboBox2";
- this.ComboBox2.Size = new System.Drawing.Size(104, 21);
- this.ComboBox2.TabIndex = 31;
- this.ComboBox2.Text = "ComboBox2";
- //
- // Label14
- //
- this.Label14.AutoSize = true;
- this.Label14.ForeColor = System.Drawing.Color.Black;
- this.Label14.Location = new System.Drawing.Point(304, 123);
- this.Label14.Name = "Label14";
- this.Label14.Size = new System.Drawing.Size(67, 13);
- this.Label14.TabIndex = 30;
- this.Label14.Text = "Allineamento";
- //
- // TextBox12
- //
- this.TextBox12.Location = new System.Drawing.Point(376, 99);
- this.TextBox12.Name = "TextBox12";
- this.TextBox12.Size = new System.Drawing.Size(104, 20);
- this.TextBox12.TabIndex = 33;
- this.TextBox12.Text = "TextBox12";
- //
- // Label15
- //
- this.Label15.AutoSize = true;
- this.Label15.ForeColor = System.Drawing.Color.Black;
- this.Label15.Location = new System.Drawing.Point(296, 99);
- this.Label15.Name = "Label15";
- this.Label15.Size = new System.Drawing.Size(75, 13);
- this.Label15.TabIndex = 32;
- this.Label15.Text = "Margine (pixel)";
- //
- // TabPage2
- //
- this.TabPage2.Controls.Add(this.GroupBox2);
- this.TabPage2.Location = new System.Drawing.Point(4, 22);
- this.TabPage2.Name = "TabPage2";
- this.TabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage2.Size = new System.Drawing.Size(513, 351);
- this.TabPage2.TabIndex = 5;
- this.TabPage2.Text = "Foto";
- this.TabPage2.UseVisualStyleBackColor = true;
- //
- // GroupBox2
- //
- this.GroupBox2.Controls.Add(this.Label45);
- this.GroupBox2.Controls.Add(this.TextBox32);
- this.GroupBox2.Controls.Add(this.TextBox26);
- this.GroupBox2.Controls.Add(this.Label37);
- this.GroupBox2.Controls.Add(this.Label38);
- this.GroupBox2.Controls.Add(this.TextBox27);
- this.GroupBox2.Controls.Add(this.Label39);
- this.GroupBox2.Controls.Add(this.TextBox28);
- this.GroupBox2.Controls.Add(this.CheckBox15);
- this.GroupBox2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox2.Location = new System.Drawing.Point(3, 6);
- this.GroupBox2.Name = "GroupBox2";
- this.GroupBox2.Size = new System.Drawing.Size(304, 156);
- this.GroupBox2.TabIndex = 36;
- this.GroupBox2.TabStop = false;
- this.GroupBox2.Text = "Foto grande";
- //
- // Label45
- //
- this.Label45.AutoSize = true;
- this.Label45.Location = new System.Drawing.Point(11, 86);
- this.Label45.Name = "Label45";
- this.Label45.Size = new System.Drawing.Size(40, 13);
- this.Label45.TabIndex = 22;
- this.Label45.Text = "Qualità ";
- //
- // TextBox32
- //
- this.TextBox32.Location = new System.Drawing.Point(72, 80);
- this.TextBox32.Name = "TextBox32";
- this.TextBox32.Size = new System.Drawing.Size(72, 20);
- this.TextBox32.TabIndex = 21;
- this.TextBox32.Text = "100";
- //
- // TextBox26
- //
- this.TextBox26.Location = new System.Drawing.Point(224, 48);
- this.TextBox26.Name = "TextBox26";
- this.TextBox26.Size = new System.Drawing.Size(56, 20);
- this.TextBox26.TabIndex = 20;
- this.TextBox26.Text = "TextBox26";
- //
- // Label37
- //
- this.Label37.ForeColor = System.Drawing.Color.Black;
- this.Label37.Location = new System.Drawing.Point(168, 48);
- this.Label37.Name = "Label37";
- this.Label37.Size = new System.Drawing.Size(48, 16);
- this.Label37.TabIndex = 19;
- this.Label37.Text = "Suffisso";
- this.Label37.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
- // Label38
- //
- this.Label38.AutoSize = true;
- this.Label38.ForeColor = System.Drawing.Color.Black;
- this.Label38.Location = new System.Drawing.Point(24, 24);
- this.Label38.Name = "Label38";
- this.Label38.Size = new System.Drawing.Size(41, 13);
- this.Label38.TabIndex = 16;
- this.Label38.Text = "Altezza";
- //
- // TextBox27
- //
- this.TextBox27.Location = new System.Drawing.Point(72, 24);
- this.TextBox27.Name = "TextBox27";
- this.TextBox27.Size = new System.Drawing.Size(72, 20);
- this.TextBox27.TabIndex = 14;
- this.TextBox27.Text = "TextBox27";
- //
- // Label39
- //
- this.Label39.AutoSize = true;
- this.Label39.ForeColor = System.Drawing.Color.Black;
- this.Label39.Location = new System.Drawing.Point(8, 48);
- this.Label39.Name = "Label39";
- this.Label39.Size = new System.Drawing.Size(56, 13);
- this.Label39.TabIndex = 17;
- this.Label39.Text = "Larghezza";
- //
- // TextBox28
- //
- this.TextBox28.Location = new System.Drawing.Point(72, 48);
- this.TextBox28.Name = "TextBox28";
- this.TextBox28.Size = new System.Drawing.Size(72, 20);
- this.TextBox28.TabIndex = 15;
- this.TextBox28.Text = "TextBox28";
- //
- // CheckBox15
- //
- this.CheckBox15.Checked = true;
- this.CheckBox15.CheckState = System.Windows.Forms.CheckState.Checked;
- this.CheckBox15.ForeColor = System.Drawing.Color.Black;
- this.CheckBox15.Location = new System.Drawing.Point(168, 16);
- this.CheckBox15.Name = "CheckBox15";
- this.CheckBox15.Size = new System.Drawing.Size(120, 32);
- this.CheckBox15.TabIndex = 18;
- this.CheckBox15.Text = "Mantieni dimensioni originali";
- //
- // TabPage1
- //
- this.TabPage1.Controls.Add(this.panelMiniature);
- this.TabPage1.Controls.Add(this.CheckBox1);
- this.TabPage1.Location = new System.Drawing.Point(4, 22);
- this.TabPage1.Name = "TabPage1";
- this.TabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage1.Size = new System.Drawing.Size(513, 346);
- this.TabPage1.TabIndex = 0;
- this.TabPage1.Text = "Miniature";
- this.TabPage1.UseVisualStyleBackColor = true;
- //
- // GroupBox1
- //
- this.GroupBox1.Controls.Add(this.Label46);
- this.GroupBox1.Controls.Add(this.TextBox33);
- this.GroupBox1.Controls.Add(this.Panel2);
- this.GroupBox1.Controls.Add(this.Label5);
- this.GroupBox1.Controls.Add(this.TextBox5);
- this.GroupBox1.Controls.Add(this.Label6);
- this.GroupBox1.Controls.Add(this.TextBox6);
- this.GroupBox1.Controls.Add(this.Label3);
- this.GroupBox1.Controls.Add(this.TextBox3);
- this.GroupBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox1.Location = new System.Drawing.Point(3, 3);
- this.GroupBox1.Name = "GroupBox1";
- this.GroupBox1.Size = new System.Drawing.Size(350, 210);
- this.GroupBox1.TabIndex = 25;
- this.GroupBox1.TabStop = false;
- this.GroupBox1.Text = "Miniature";
- //
- // Label46
- //
- this.Label46.AutoSize = true;
- this.Label46.Location = new System.Drawing.Point(198, 43);
- this.Label46.Name = "Label46";
- this.Label46.Size = new System.Drawing.Size(40, 13);
- this.Label46.TabIndex = 21;
- this.Label46.Text = "Qualità ";
- //
- // TextBox33
- //
- this.TextBox33.Location = new System.Drawing.Point(244, 40);
- this.TextBox33.Name = "TextBox33";
- this.TextBox33.Size = new System.Drawing.Size(100, 20);
- this.TextBox33.TabIndex = 20;
- //
- // Panel2
- //
- this.Panel2.Controls.Add(this.RadioButton3);
- this.Panel2.Controls.Add(this.RadioButton7);
- this.Panel2.Controls.Add(this.RadioButton4);
- this.Panel2.Controls.Add(this.RadioButton6);
- this.Panel2.Controls.Add(this.RadioButton5);
- this.Panel2.Location = new System.Drawing.Point(56, 114);
- this.Panel2.Name = "Panel2";
- this.Panel2.Size = new System.Drawing.Size(235, 90);
- this.Panel2.TabIndex = 19;
- //
- // RadioButton3
- //
- this.RadioButton3.AutoSize = true;
- this.RadioButton3.Location = new System.Drawing.Point(15, 16);
- this.RadioButton3.Name = "RadioButton3";
- this.RadioButton3.Size = new System.Drawing.Size(99, 17);
- this.RadioButton3.TabIndex = 14;
- this.RadioButton3.TabStop = true;
- this.RadioButton3.Text = "Aggiungi Scritta";
- this.RadioButton3.UseVisualStyleBackColor = true;
- //
- // RadioButton7
- //
- this.RadioButton7.AutoSize = true;
- this.RadioButton7.Location = new System.Drawing.Point(129, 40);
- this.RadioButton7.Name = "RadioButton7";
- this.RadioButton7.Size = new System.Drawing.Size(95, 17);
- this.RadioButton7.TabIndex = 18;
- this.RadioButton7.TabStop = true;
- this.RadioButton7.Text = "numero+tempo";
- this.RadioButton7.UseVisualStyleBackColor = true;
- //
- // RadioButton4
- //
- this.RadioButton4.AutoSize = true;
- this.RadioButton4.Location = new System.Drawing.Point(15, 40);
- this.RadioButton4.Name = "RadioButton4";
- this.RadioButton4.Size = new System.Drawing.Size(95, 17);
- this.RadioButton4.TabIndex = 15;
- this.RadioButton4.TabStop = true;
- this.RadioButton4.Text = "Aggiungi orario";
- this.RadioButton4.UseVisualStyleBackColor = true;
- //
- // RadioButton6
- //
- this.RadioButton6.AutoSize = true;
- this.RadioButton6.Location = new System.Drawing.Point(129, 16);
- this.RadioButton6.Name = "RadioButton6";
- this.RadioButton6.Size = new System.Drawing.Size(83, 17);
- this.RadioButton6.TabIndex = 17;
- this.RadioButton6.TabStop = true;
- this.RadioButton6.Text = "Numero foto";
- this.RadioButton6.UseVisualStyleBackColor = true;
- //
- // RadioButton5
- //
- this.RadioButton5.AutoSize = true;
- this.RadioButton5.Location = new System.Drawing.Point(15, 65);
- this.RadioButton5.Name = "RadioButton5";
- this.RadioButton5.Size = new System.Drawing.Size(84, 17);
- this.RadioButton5.TabIndex = 16;
- this.RadioButton5.TabStop = true;
- this.RadioButton5.Text = "Tempo Gara";
- this.RadioButton5.UseVisualStyleBackColor = true;
- //
- // Label5
- //
- this.Label5.AutoSize = true;
- this.Label5.ForeColor = System.Drawing.Color.Black;
- this.Label5.Location = new System.Drawing.Point(24, 88);
- this.Label5.Name = "Label5";
- this.Label5.Size = new System.Drawing.Size(41, 13);
- this.Label5.TabIndex = 12;
- this.Label5.Text = "Altezza";
- //
- // TextBox5
- //
- this.TextBox5.Location = new System.Drawing.Point(72, 64);
- this.TextBox5.Name = "TextBox5";
- this.TextBox5.Size = new System.Drawing.Size(88, 20);
- this.TextBox5.TabIndex = 10;
- this.TextBox5.Text = "TextBox5";
- //
- // Label6
- //
- this.Label6.AutoSize = true;
- this.Label6.ForeColor = System.Drawing.Color.Black;
- this.Label6.Location = new System.Drawing.Point(8, 64);
- this.Label6.Name = "Label6";
- this.Label6.Size = new System.Drawing.Size(56, 13);
- this.Label6.TabIndex = 13;
- this.Label6.Text = "Larghezza";
- //
- // TextBox6
- //
- this.TextBox6.Location = new System.Drawing.Point(72, 88);
- this.TextBox6.Name = "TextBox6";
- this.TextBox6.Size = new System.Drawing.Size(88, 20);
- this.TextBox6.TabIndex = 11;
- this.TextBox6.Text = "TextBox6";
- //
- // Label3
- //
- this.Label3.AutoSize = true;
- this.Label3.ForeColor = System.Drawing.Color.Black;
- this.Label3.Location = new System.Drawing.Point(24, 40);
- this.Label3.Name = "Label3";
- this.Label3.Size = new System.Drawing.Size(44, 13);
- this.Label3.TabIndex = 7;
- this.Label3.Text = "Suffisso";
- //
- // TextBox3
- //
- this.TextBox3.Location = new System.Drawing.Point(72, 40);
- this.TextBox3.Name = "TextBox3";
- this.TextBox3.Size = new System.Drawing.Size(88, 20);
- this.TextBox3.TabIndex = 6;
- this.TextBox3.Text = "TextBox3";
- //
- // CheckBox1
- //
- this.CheckBox1.ForeColor = System.Drawing.Color.Black;
- this.CheckBox1.Location = new System.Drawing.Point(6, 7);
- this.CheckBox1.Name = "CheckBox1";
- this.CheckBox1.Size = new System.Drawing.Size(104, 24);
- this.CheckBox1.TabIndex = 5;
- this.CheckBox1.Text = "Crea miniature";
- this.CheckBox1.CheckedChanged += new System.EventHandler(this.CheckBox1_CheckedChanged);
- //
- // TabPage4
- //
- this.TabPage4.Controls.Add(this.GroupBox6);
- this.TabPage4.Location = new System.Drawing.Point(4, 22);
- this.TabPage4.Name = "TabPage4";
- this.TabPage4.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage4.Size = new System.Drawing.Size(513, 351);
- this.TabPage4.TabIndex = 3;
- this.TabPage4.Text = "Logo";
- this.TabPage4.UseVisualStyleBackColor = true;
- //
- // GroupBox6
- //
- this.GroupBox6.Controls.Add(this.PictureBox2);
- this.GroupBox6.Controls.Add(this.PictureBox1);
- this.GroupBox6.Controls.Add(this.ComboBox5);
- this.GroupBox6.Controls.Add(this.ComboBox4);
- this.GroupBox6.Controls.Add(this.TextBox19);
- this.GroupBox6.Controls.Add(this.Label28);
- this.GroupBox6.Controls.Add(this.CheckBox5);
- this.GroupBox6.Controls.Add(this.TextBox15);
- this.GroupBox6.Controls.Add(this.TextBox14);
- this.GroupBox6.Controls.Add(this.Label25);
- this.GroupBox6.Controls.Add(this.TextBox16);
- this.GroupBox6.Controls.Add(this.Label24);
- this.GroupBox6.Controls.Add(this.Label22);
- this.GroupBox6.Controls.Add(this.Label23);
- this.GroupBox6.Controls.Add(this.Button4);
- this.GroupBox6.Controls.Add(this.TextBox10);
- this.GroupBox6.Controls.Add(this.Label29);
- this.GroupBox6.Controls.Add(this.Label30);
- this.GroupBox6.Controls.Add(this.PictureBox3);
- this.GroupBox6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox6.Location = new System.Drawing.Point(6, 6);
- this.GroupBox6.Name = "GroupBox6";
- this.GroupBox6.Size = new System.Drawing.Size(496, 224);
- this.GroupBox6.TabIndex = 42;
- this.GroupBox6.TabStop = false;
- this.GroupBox6.Text = "Logo";
- //
- // PictureBox2
- //
- this.PictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.PictureBox2.Location = new System.Drawing.Point(144, 192);
- this.PictureBox2.Name = "PictureBox2";
- this.PictureBox2.Size = new System.Drawing.Size(24, 24);
- this.PictureBox2.TabIndex = 44;
- this.PictureBox2.TabStop = false;
- this.PictureBox2.Visible = false;
- //
- // PictureBox1
- //
- this.PictureBox1.Cursor = System.Windows.Forms.Cursors.Cross;
- this.PictureBox1.Location = new System.Drawing.Point(256, 56);
- this.PictureBox1.Name = "PictureBox1";
- this.PictureBox1.Size = new System.Drawing.Size(224, 160);
- this.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.PictureBox1.TabIndex = 43;
- this.PictureBox1.TabStop = false;
- //
- // ComboBox5
- //
- this.ComboBox5.Location = new System.Drawing.Point(144, 168);
- this.ComboBox5.Name = "ComboBox5";
- this.ComboBox5.Size = new System.Drawing.Size(96, 21);
- this.ComboBox5.TabIndex = 42;
- this.ComboBox5.Text = "ComboBox5";
- //
- // ComboBox4
- //
- this.ComboBox4.Location = new System.Drawing.Point(144, 144);
- this.ComboBox4.Name = "ComboBox4";
- this.ComboBox4.Size = new System.Drawing.Size(96, 21);
- this.ComboBox4.TabIndex = 41;
- this.ComboBox4.Text = "ComboBox4";
- //
- // TextBox19
- //
- this.TextBox19.Location = new System.Drawing.Point(144, 96);
- this.TextBox19.Name = "TextBox19";
- this.TextBox19.Size = new System.Drawing.Size(96, 20);
- this.TextBox19.TabIndex = 40;
- this.TextBox19.Text = "TextBox19";
- //
- // Label28
- //
- this.Label28.ForeColor = System.Drawing.Color.Black;
- this.Label28.Location = new System.Drawing.Point(17, 97);
- this.Label28.Name = "Label28";
- this.Label28.Size = new System.Drawing.Size(120, 16);
- this.Label28.TabIndex = 39;
- this.Label28.Text = "Trasparenza (0-100%)";
- this.Label28.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // CheckBox5
- //
- this.CheckBox5.ForeColor = System.Drawing.Color.Black;
- this.CheckBox5.Location = new System.Drawing.Point(0, 26);
- this.CheckBox5.Name = "CheckBox5";
- this.CheckBox5.Size = new System.Drawing.Size(72, 20);
- this.CheckBox5.TabIndex = 38;
- this.CheckBox5.Text = "Aggiungi";
- //
- // TextBox15
- //
- this.TextBox15.Location = new System.Drawing.Point(144, 72);
- this.TextBox15.Name = "TextBox15";
- this.TextBox15.Size = new System.Drawing.Size(96, 20);
- this.TextBox15.TabIndex = 19;
- this.TextBox15.Text = "TextBox15";
- //
- // TextBox14
- //
- this.TextBox14.Location = new System.Drawing.Point(144, 48);
- this.TextBox14.Name = "TextBox14";
- this.TextBox14.Size = new System.Drawing.Size(96, 20);
- this.TextBox14.TabIndex = 18;
- this.TextBox14.Text = "TextBox14";
- //
- // Label25
- //
- this.Label25.AutoSize = true;
- this.Label25.ForeColor = System.Drawing.Color.Black;
- this.Label25.Location = new System.Drawing.Point(17, 168);
- this.Label25.Name = "Label25";
- this.Label25.Size = new System.Drawing.Size(95, 13);
- this.Label25.TabIndex = 36;
- this.Label25.Text = "Posizione verticale";
- this.Label25.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TextBox16
- //
- this.TextBox16.Location = new System.Drawing.Point(144, 120);
- this.TextBox16.Name = "TextBox16";
- this.TextBox16.Size = new System.Drawing.Size(96, 20);
- this.TextBox16.TabIndex = 35;
- this.TextBox16.Text = "TextBox16";
- //
- // Label24
- //
- this.Label24.AutoSize = true;
- this.Label24.ForeColor = System.Drawing.Color.Black;
- this.Label24.Location = new System.Drawing.Point(19, 123);
- this.Label24.Name = "Label24";
- this.Label24.Size = new System.Drawing.Size(88, 13);
- this.Label24.TabIndex = 34;
- this.Label24.Text = "Margine (pixel/%)";
- this.Label24.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label22
- //
- this.Label22.AutoSize = true;
- this.Label22.ForeColor = System.Drawing.Color.Black;
- this.Label22.Location = new System.Drawing.Point(19, 51);
- this.Label22.Name = "Label22";
- this.Label22.Size = new System.Drawing.Size(41, 13);
- this.Label22.TabIndex = 20;
- this.Label22.Text = "Altezza";
- this.Label22.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label23
- //
- this.Label23.AutoSize = true;
- this.Label23.ForeColor = System.Drawing.Color.Black;
- this.Label23.Location = new System.Drawing.Point(19, 75);
- this.Label23.Name = "Label23";
- this.Label23.Size = new System.Drawing.Size(56, 13);
- this.Label23.TabIndex = 21;
- this.Label23.Text = "Larghezza";
- this.Label23.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Button4
- //
- this.Button4.Location = new System.Drawing.Point(464, 24);
- this.Button4.Name = "Button4";
- this.Button4.Size = new System.Drawing.Size(24, 20);
- this.Button4.TabIndex = 8;
- this.Button4.Text = "...";
- //
- // TextBox10
- //
- this.TextBox10.Location = new System.Drawing.Point(144, 24);
- this.TextBox10.Name = "TextBox10";
- this.TextBox10.Size = new System.Drawing.Size(312, 20);
- this.TextBox10.TabIndex = 6;
- this.TextBox10.Text = "TextBox10";
- //
- // Label29
- //
- this.Label29.AutoSize = true;
- this.Label29.ForeColor = System.Drawing.Color.Black;
- this.Label29.Location = new System.Drawing.Point(17, 147);
- this.Label29.Name = "Label29";
- this.Label29.Size = new System.Drawing.Size(105, 13);
- this.Label29.TabIndex = 36;
- this.Label29.Text = "Posizione orizzontale";
- this.Label29.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label30
- //
- this.Label30.AutoSize = true;
- this.Label30.ForeColor = System.Drawing.Color.Black;
- this.Label30.Location = new System.Drawing.Point(19, 203);
- this.Label30.Name = "Label30";
- this.Label30.Size = new System.Drawing.Size(93, 13);
- this.Label30.TabIndex = 36;
- this.Label30.Text = "Colore trasparente";
- this.Label30.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.Label30.Visible = false;
- //
- // PictureBox3
- //
- this.PictureBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.PictureBox3.Location = new System.Drawing.Point(216, 192);
- this.PictureBox3.Name = "PictureBox3";
- this.PictureBox3.Size = new System.Drawing.Size(24, 24);
- this.PictureBox3.TabIndex = 44;
- this.PictureBox3.TabStop = false;
- this.PictureBox3.Visible = false;
- //
- // Label20
- //
- this.Label20.AutoSize = true;
- this.Label20.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label20.Location = new System.Drawing.Point(6, 301);
- this.Label20.Name = "Label20";
- this.Label20.Size = new System.Drawing.Size(104, 16);
- this.Label20.TabIndex = 74;
- this.Label20.Text = "foto generate:";
- //
- // Label19
- //
- this.Label19.AutoSize = true;
- this.Label19.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label19.Location = new System.Drawing.Point(6, 282);
- this.Label19.Name = "Label19";
- this.Label19.Size = new System.Drawing.Size(80, 16);
- this.Label19.TabIndex = 73;
- this.Label19.Text = "foto totali: ";
- //
- // Label18
- //
- this.Label18.AutoSize = true;
- this.Label18.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label18.Location = new System.Drawing.Point(110, 301);
- this.Label18.Name = "Label18";
- this.Label18.Size = new System.Drawing.Size(19, 20);
- this.Label18.TabIndex = 72;
- this.Label18.Text = "0";
- //
- // lblFotoTotaliNum
- //
- this.lblFotoTotaliNum.AutoSize = true;
- this.lblFotoTotaliNum.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lblFotoTotaliNum.Location = new System.Drawing.Point(110, 282);
- this.lblFotoTotaliNum.Name = "lblFotoTotaliNum";
- this.lblFotoTotaliNum.Size = new System.Drawing.Size(19, 20);
- this.lblFotoTotaliNum.TabIndex = 71;
- this.lblFotoTotaliNum.Text = "0";
- //
- // menuStrip1
- //
- this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileToolStripMenuItem,
- this.aiutoToolStripMenuItem});
- this.menuStrip1.Location = new System.Drawing.Point(0, 0);
- this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Size = new System.Drawing.Size(756, 24);
- this.menuStrip1.TabIndex = 82;
- this.menuStrip1.Text = "menuStrip1";
- //
- // fileToolStripMenuItem
- //
- this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.caricaImpostazioniToolStripMenuItem,
- this.salvaImpostazioniToolStripMenuItem,
- this.creaCatalogoToolStripMenuItem,
- this.esciToolStripMenuItem});
- this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
- this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
- this.fileToolStripMenuItem.Text = "File";
- //
- // caricaImpostazioniToolStripMenuItem
- //
- this.caricaImpostazioniToolStripMenuItem.Name = "caricaImpostazioniToolStripMenuItem";
- this.caricaImpostazioniToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
- this.caricaImpostazioniToolStripMenuItem.Text = "Carica impostazioni...";
- this.caricaImpostazioniToolStripMenuItem.Click += new System.EventHandler(this.caricaImpostazioniToolStripMenuItem_Click);
- //
- // salvaImpostazioniToolStripMenuItem
- //
- this.salvaImpostazioniToolStripMenuItem.Name = "salvaImpostazioniToolStripMenuItem";
- this.salvaImpostazioniToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
- this.salvaImpostazioniToolStripMenuItem.Text = "Salva impostazioni...";
- //
- // creaCatalogoToolStripMenuItem
- //
- this.creaCatalogoToolStripMenuItem.Name = "creaCatalogoToolStripMenuItem";
- this.creaCatalogoToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
- this.creaCatalogoToolStripMenuItem.Text = "Crea catalogo";
- //
- // esciToolStripMenuItem
- //
- this.esciToolStripMenuItem.Name = "esciToolStripMenuItem";
- this.esciToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
- this.esciToolStripMenuItem.Text = "Esci";
- //
- // aiutoToolStripMenuItem
- //
- this.aiutoToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.informazioniToolStripMenuItem});
- this.aiutoToolStripMenuItem.Name = "aiutoToolStripMenuItem";
- this.aiutoToolStripMenuItem.Size = new System.Drawing.Size(48, 20);
- this.aiutoToolStripMenuItem.Text = "Aiuto";
- //
- // informazioniToolStripMenuItem
- //
- this.informazioniToolStripMenuItem.Name = "informazioniToolStripMenuItem";
- this.informazioniToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
- this.informazioniToolStripMenuItem.Text = "Informazioni";
- this.informazioniToolStripMenuItem.Click += new System.EventHandler(this.informazioniToolStripMenuItem_Click);
- //
- // groupBox12
- //
- this.groupBox12.Controls.Add(this.txtFileInfo);
- this.groupBox12.Controls.Add(this.lblLog);
- this.groupBox12.Controls.Add(this.btnStopCreazione);
- this.groupBox12.Controls.Add(this.lblFotoTotaliNum);
- this.groupBox12.Controls.Add(this.CheckBox22);
- this.groupBox12.Controls.Add(this.Label18);
- this.groupBox12.Controls.Add(this.Label43);
- this.groupBox12.Controls.Add(this.Label19);
- this.groupBox12.Controls.Add(this.Label20);
- this.groupBox12.Location = new System.Drawing.Point(539, 27);
- this.groupBox12.Name = "groupBox12";
- this.groupBox12.Size = new System.Drawing.Size(204, 387);
- this.groupBox12.TabIndex = 83;
- this.groupBox12.TabStop = false;
- this.groupBox12.Text = "Statistiche";
- //
- // btnStopCreazione
- //
- this.btnStopCreazione.Location = new System.Drawing.Point(6, 20);
- this.btnStopCreazione.Name = "btnStopCreazione";
- this.btnStopCreazione.Size = new System.Drawing.Size(192, 40);
- this.btnStopCreazione.TabIndex = 82;
- this.btnStopCreazione.Text = "STOP CREAZIONE";
- this.btnStopCreazione.UseVisualStyleBackColor = true;
- this.btnStopCreazione.Click += new System.EventHandler(this.btnStopCreazione_Click);
- //
- // lblLog
- //
- this.lblLog.FormattingEnabled = true;
- this.lblLog.Location = new System.Drawing.Point(6, 68);
- this.lblLog.Name = "lblLog";
- this.lblLog.Size = new System.Drawing.Size(192, 95);
- this.lblLog.TabIndex = 83;
- //
- // txtFileInfo
- //
- this.txtFileInfo.Enabled = false;
- this.txtFileInfo.Location = new System.Drawing.Point(6, 170);
- this.txtFileInfo.Multiline = true;
- this.txtFileInfo.Name = "txtFileInfo";
- this.txtFileInfo.Size = new System.Drawing.Size(192, 109);
- this.txtFileInfo.TabIndex = 84;
- //
- // panelTesto
- //
- this.panelTesto.Controls.Add(this.GroupBox5);
- this.panelTesto.Controls.Add(this.GroupBox10);
- this.panelTesto.Controls.Add(this.GroupBox9);
- this.panelTesto.Controls.Add(this.GroupBox4);
- this.panelTesto.Location = new System.Drawing.Point(3, 28);
- this.panelTesto.Name = "panelTesto";
- this.panelTesto.Size = new System.Drawing.Size(504, 312);
- this.panelTesto.TabIndex = 85;
- //
- // panelMiniature
- //
- this.panelMiniature.Controls.Add(this.GroupBox1);
- this.panelMiniature.Location = new System.Drawing.Point(6, 36);
- this.panelMiniature.Name = "panelMiniature";
- this.panelMiniature.Size = new System.Drawing.Size(501, 304);
- this.panelMiniature.TabIndex = 27;
- //
- // MainForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(756, 427);
- this.Controls.Add(this.groupBox12);
- this.Controls.Add(this.TabControl1);
- this.Controls.Add(this.menuStrip1);
- this.Controls.Add(this.ProgressBar1);
- this.MainMenuStrip = this.menuStrip1;
- this.Name = "MainForm";
- this.Text = "Form1";
- this.Load += new System.EventHandler(this.Form1_Load);
- this.TabControl1.ResumeLayout(false);
- this.TabPage5.ResumeLayout(false);
- this.GroupBox11.ResumeLayout(false);
- this.GroupBox11.PerformLayout();
- this.GroupBox3.ResumeLayout(false);
- this.GroupBox3.PerformLayout();
- this.GroupBox8.ResumeLayout(false);
- this.GroupBox8.PerformLayout();
- this.GroupBox7.ResumeLayout(false);
- this.GroupBox7.PerformLayout();
- this.TabPage3.ResumeLayout(false);
- this.TabPage3.PerformLayout();
- this.GroupBox10.ResumeLayout(false);
- this.GroupBox10.PerformLayout();
- this.GroupBox9.ResumeLayout(false);
- this.GroupBox9.PerformLayout();
- this.GroupBox5.ResumeLayout(false);
- this.GroupBox5.PerformLayout();
- this.GroupBox4.ResumeLayout(false);
- this.GroupBox4.PerformLayout();
- this.TabPage2.ResumeLayout(false);
- this.GroupBox2.ResumeLayout(false);
- this.GroupBox2.PerformLayout();
- this.TabPage1.ResumeLayout(false);
- this.GroupBox1.ResumeLayout(false);
- this.GroupBox1.PerformLayout();
- this.Panel2.ResumeLayout(false);
- this.Panel2.PerformLayout();
- this.TabPage4.ResumeLayout(false);
- this.GroupBox6.ResumeLayout(false);
- this.GroupBox6.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox3)).EndInit();
- this.menuStrip1.ResumeLayout(false);
- this.menuStrip1.PerformLayout();
- this.groupBox12.ResumeLayout(false);
- this.groupBox12.PerformLayout();
- this.panelTesto.ResumeLayout(false);
- this.panelMiniature.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- internal System.Windows.Forms.ProgressBar ProgressBar1;
- internal System.Windows.Forms.CheckBox CheckBox22;
- internal System.Windows.Forms.Label Label43;
- internal System.Windows.Forms.TabControl TabControl1;
- internal System.Windows.Forms.TabPage TabPage5;
- internal System.Windows.Forms.GroupBox GroupBox11;
- internal System.Windows.Forms.Label Label8;
- internal System.Windows.Forms.TextBox TextBox8;
- internal System.Windows.Forms.Label Label7;
- internal System.Windows.Forms.TextBox TextBox7;
- internal System.Windows.Forms.GroupBox GroupBox3;
- internal System.Windows.Forms.CheckBox chkAggiornaSottodirectory;
- internal System.Windows.Forms.Button Button3;
- internal System.Windows.Forms.Button Button2;
- internal System.Windows.Forms.Label Label1;
- internal System.Windows.Forms.Label Label2;
- internal System.Windows.Forms.TextBox txtSorgente;
- internal System.Windows.Forms.TextBox txtDestinazione;
- internal System.Windows.Forms.GroupBox GroupBox8;
- internal System.Windows.Forms.RadioButton rdbNumFiles;
- internal System.Windows.Forms.RadioButton rdbNumProgressiva;
- internal System.Windows.Forms.TextBox txtCifreContatore;
- internal System.Windows.Forms.Label Label34;
- internal System.Windows.Forms.TextBox txtSuffissoCartelle;
- internal System.Windows.Forms.Label Label33;
- internal System.Windows.Forms.Label Label31;
- internal System.Windows.Forms.CheckBox chkCreaSottocartelle;
- internal System.Windows.Forms.TextBox txtFilePerCartella;
- internal System.Windows.Forms.Label Label32;
- internal System.Windows.Forms.GroupBox GroupBox7;
- internal System.Windows.Forms.CheckBox chkSovrascriviFile;
- internal System.Windows.Forms.CheckBox chkRotazioneAutomatica;
- internal System.Windows.Forms.CheckBox chkForzaJpg;
- internal System.Windows.Forms.TabPage TabPage3;
- internal System.Windows.Forms.CheckBox CheckBox2;
- internal System.Windows.Forms.GroupBox GroupBox10;
- internal System.Windows.Forms.Label Label42;
- internal System.Windows.Forms.Label Label41;
- internal System.Windows.Forms.TextBox TextBox31;
- internal System.Windows.Forms.TextBox TextBox30;
- internal System.Windows.Forms.GroupBox GroupBox9;
- internal System.Windows.Forms.CheckBox CheckBox17;
- internal System.Windows.Forms.CheckBox CheckBox16;
- internal System.Windows.Forms.GroupBox GroupBox5;
- internal System.Windows.Forms.TextBox TextBox34;
- internal System.Windows.Forms.Button Button8;
- internal System.Windows.Forms.Label Label36;
- internal System.Windows.Forms.TextBox TextBox25;
- internal System.Windows.Forms.Label Label35;
- internal System.Windows.Forms.ComboBox ComboBox3;
- internal System.Windows.Forms.TextBox TextBox11;
- internal System.Windows.Forms.Label Label12;
- internal System.Windows.Forms.Label Label11;
- internal System.Windows.Forms.CheckBox CheckBox3;
- internal System.Windows.Forms.GroupBox GroupBox4;
- internal System.Windows.Forms.Label Label40;
- internal System.Windows.Forms.TextBox TextBox29;
- internal System.Windows.Forms.TextBox TextBox18;
- internal System.Windows.Forms.Label Label26;
- internal System.Windows.Forms.DateTimePicker DateTimePicker1;
- internal System.Windows.Forms.CheckBox CheckBox8;
- internal System.Windows.Forms.TextBox TextBox9;
- internal System.Windows.Forms.CheckBox CheckBox7;
- internal System.Windows.Forms.Label Label4;
- internal System.Windows.Forms.TextBox TextBox4;
- internal System.Windows.Forms.Label Label9;
- internal System.Windows.Forms.Label Label13;
- internal System.Windows.Forms.ComboBox ComboBox1;
- internal System.Windows.Forms.ComboBox ComboBox2;
- internal System.Windows.Forms.Label Label14;
- internal System.Windows.Forms.TextBox TextBox12;
- internal System.Windows.Forms.Label Label15;
- internal System.Windows.Forms.TabPage TabPage2;
- internal System.Windows.Forms.GroupBox GroupBox2;
- internal System.Windows.Forms.Label Label45;
- internal System.Windows.Forms.TextBox TextBox32;
- internal System.Windows.Forms.TextBox TextBox26;
- internal System.Windows.Forms.Label Label37;
- internal System.Windows.Forms.Label Label38;
- internal System.Windows.Forms.TextBox TextBox27;
- internal System.Windows.Forms.Label Label39;
- internal System.Windows.Forms.TextBox TextBox28;
- internal System.Windows.Forms.CheckBox CheckBox15;
- internal System.Windows.Forms.TabPage TabPage1;
- internal System.Windows.Forms.GroupBox GroupBox1;
- internal System.Windows.Forms.Label Label46;
- internal System.Windows.Forms.TextBox TextBox33;
- internal System.Windows.Forms.Panel Panel2;
- internal System.Windows.Forms.RadioButton RadioButton3;
- internal System.Windows.Forms.RadioButton RadioButton7;
- internal System.Windows.Forms.RadioButton RadioButton4;
- internal System.Windows.Forms.RadioButton RadioButton6;
- internal System.Windows.Forms.RadioButton RadioButton5;
- internal System.Windows.Forms.Label Label5;
- internal System.Windows.Forms.TextBox TextBox5;
- internal System.Windows.Forms.Label Label6;
- internal System.Windows.Forms.TextBox TextBox6;
- internal System.Windows.Forms.Label Label3;
- internal System.Windows.Forms.TextBox TextBox3;
- internal System.Windows.Forms.CheckBox CheckBox1;
- internal System.Windows.Forms.TabPage TabPage4;
- internal System.Windows.Forms.GroupBox GroupBox6;
- internal System.Windows.Forms.PictureBox PictureBox2;
- internal System.Windows.Forms.PictureBox PictureBox1;
- internal System.Windows.Forms.ComboBox ComboBox5;
- internal System.Windows.Forms.ComboBox ComboBox4;
- internal System.Windows.Forms.TextBox TextBox19;
- internal System.Windows.Forms.Label Label28;
- internal System.Windows.Forms.CheckBox CheckBox5;
- internal System.Windows.Forms.TextBox TextBox15;
- internal System.Windows.Forms.TextBox TextBox14;
- internal System.Windows.Forms.Label Label25;
- internal System.Windows.Forms.TextBox TextBox16;
- internal System.Windows.Forms.Label Label24;
- internal System.Windows.Forms.Label Label22;
- internal System.Windows.Forms.Label Label23;
- internal System.Windows.Forms.Button Button4;
- internal System.Windows.Forms.TextBox TextBox10;
- internal System.Windows.Forms.Label Label29;
- internal System.Windows.Forms.Label Label30;
- internal System.Windows.Forms.PictureBox PictureBox3;
- internal System.Windows.Forms.Label Label20;
- internal System.Windows.Forms.Label Label19;
- internal System.Windows.Forms.Label Label18;
- internal System.Windows.Forms.Label lblFotoTotaliNum;
- private System.Windows.Forms.MenuStrip menuStrip1;
- private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem caricaImpostazioniToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem salvaImpostazioniToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem creaCatalogoToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem aiutoToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem informazioniToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem esciToolStripMenuItem;
- private System.Windows.Forms.GroupBox groupBox12;
- private System.Windows.Forms.Button btnStopCreazione;
- private System.Windows.Forms.ListBox lblLog;
- private System.Windows.Forms.TextBox txtFileInfo;
- private System.Windows.Forms.Panel panelTesto;
- private System.Windows.Forms.Panel panelMiniature;
-
- }
-}
-
diff --git a/ImageCatalogCS/MainForm.cs b/ImageCatalogCS/MainForm.cs
deleted file mode 100644
index c11509f..0000000
--- a/ImageCatalogCS/MainForm.cs
+++ /dev/null
@@ -1,548 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using System.IO;
-using System.Drawing.Text;
-using System.Threading;
-
-public delegate void XyThreadAdd(string Info);
-
-namespace ImageCatalogCS
-{
- public partial class MainForm : Form
- {
- private bool stopAttivo;
- private bool waterSelectColor = false;
-
- //pool
- private XYThreadPool myPool = new XYThreadPool();
-
- private int contaImmaginiThread;
-
- private int maxThreads = 15;
- private int minThreads = 5;
-
- public MainForm()
- {
- InitializeComponent();
- }
-
- private void setDefaults()
- {
- txtSorgente.Text = "";
- txtDestinazione.Text = "";
- TextBox3.Text = "tn_";
- TextBox4.Text = "";
- TextBox5.Text = "350";
- TextBox6.Text = "350";
- TextBox27.Text = "2240";
- TextBox28.Text = "2240";
- TextBox9.Text = "0";
- TextBox11.Text = "20";
- TextBox12.Text = "8";
- //TextBox13.Text = ""
- TextBox10.Text = "";
- TextBox14.Text = "430";
- TextBox15.Text = "430";
- TextBox16.Text = "290";
- txtFilePerCartella.Text = "99";
- TextBox19.Text = "100";
- txtSuffissoCartelle.Text = "";
- txtCifreContatore.Text = "2";
- TextBox25.Text = "50";
- TextBox26.Text = "";
- TextBox7.Text = Convert.ToString(15);
- TextBox8.Text = Convert.ToString(5);
- TextBox34.Text = "Yellow";
- TextBox30.Text = "20";
- TextBox31.Text = "6";
- TextBox32.Text = "85";
- TextBox33.Text = "30";
-
-
- ComboBox1.Items.Add("Alto");
- ComboBox1.Items.Add("Basso");
- ComboBox1.SelectedIndex = 1;
-
- ComboBox2.Items.Add("Sinistra");
- ComboBox2.Items.Add("Centro");
- ComboBox2.Items.Add("Destra");
- ComboBox2.SelectedIndex = 1;
-
- // Create a obejct of InstalledFontCollection
- InstalledFontCollection InstalledFonts = new InstalledFontCollection();
- // Gets the array of FontFamily objects associated with this FontCollection.
- FontFamily[] fontfamilies = InstalledFonts.Families;
-
- // Populates font combobox with the font name
-
- foreach (FontFamily fontFamily in fontfamilies)
- {
- ComboBox3.Items.Add(fontFamily.Name);
- }
-
- ComboBox3.Text = ComboBox3.Items[0].ToString();
-
- ComboBox4.Items.Add("Sinistra");
- ComboBox4.Items.Add("Centro");
- ComboBox4.Items.Add("Destra");
- ComboBox4.SelectedIndex = 2;
-
- ComboBox5.Items.Add("Alto");
- ComboBox5.Items.Add("Centro");
- ComboBox5.Items.Add("Basso");
- ComboBox5.SelectedIndex = 2;
- }
-
- private void Form1_Load(object sender, EventArgs e)
- {
- Application.EnableVisualStyles();
- setDefaults();
- }
-
- private void btnCreaCatalogo_Click(object sender, EventArgs e)
- {
- DateTime timestart;
- DateTime timeStop;
-
- timestart = DateTime.Now;
-
- txtFileInfo.Text = string.Empty;
- lblFotoTotaliNum.Text = "0";
- Label18.Text = "0";
- Label43.Text = "-s";
-
- maxThreads = Convert.ToInt32(TextBox7.Text);
- minThreads = Convert.ToInt32(TextBox18.Text);
-
- //setPicSettings(txtSorgente.Text, txtDestinazione.Text);
- makeSettingsFromForm();
- ProgressBar1.Minimum = 0;
- ProgressBar1.Step = 1;
- ProgressBar1.Value = 0;
-
- System.Threading.Thread t1 = new System.Threading.Thread(creaCatalogoThread);
-
-
- }
-
- private void creaCatalogoThread()
-{
- System.DateTime timeStart = DateTime.Now;
- myPool.StopThreadPool();
- myPool.StartThreadPool(minThreads, maxThreads);
- contaImmaginiThread = 0;
-
- //creaImmaginiWithThreadMod(txtSorgente.Text, txtDestinazione.Text)
- //creaimmaginiWithThreadDict(txtSorgente.Text, txtDestinazione.Text);
- ThreadPoolWorkItem ThAttivo = null;
- //int i = 0;
-
- // fine
-
-
-}
-
- private int getNumerazione()
- {
- int numerazione = 0;
- if (rdbNumProgressiva.Checked)
- {
- numerazione = (int)FileHelper.numerazione.Progressiva;
- }
- else
- {
- numerazione = (int)FileHelper.numerazione.Files;
- }
- return numerazione;
- }
-
- private void creaimmaginiWithThreadDict(string SourcePath, string DestPath)
-{
- Dictionary dirSourceDest = new Dictionary();
-
- if (chkAggiornaSottodirectory.Checked & chkCreaSottocartelle.Checked) {
- FileHelper helper = new FileHelper(Convert.ToInt32(txtFilePerCartella.Text), txtSuffissoCartelle.Text, Convert.ToInt32(txtCifreContatore.Text), getNumerazione());
- //getfilesrecursive
- dirSourceDest = helper.GetFilesRecursive(new DirectoryInfo(SourcePath), new DirectoryInfo(DestPath), "*.jpg");
-
- } else if (chkAggiornaSottodirectory.Checked & !chkCreaSottocartelle.Checked) {
-
- }
- //else if ()
-
- //= getDirsDict(SourcePath, DestPath)
-
- KeyValuePair pair = default(KeyValuePair);
-
- foreach (KeyValuePair pair_loopVariable in dirSourceDest) {
- pair = pair_loopVariable;
- //setLabel10Text("File: " + pair.Key.Name);
- string b = (Convert.ToInt32(Label18.Text) + 1).ToString();
-
- ImageCreator ClsCreaImmagine = new ImageCreator(pair.Key, pair.Value);
- contaImmaginiThread += 1;
- myPool.InsertWorkItem(pair.Key.Name, new XyThreadAdd(ClsCreaImmagine.CreaImmagineThread), new object[1] { pair.Key.Name }, true);
-
- }
-
-}
-
- private Dictionary makeSettingsFromForm()
- {
- Dictionary settingsDict = new Dictionary();
- settingsDict.Add("sourceDirRoot", new DirectoryInfo(txtSorgente.Text));
- settingsDict.Add("destDirRoot", new DirectoryInfo(txtDestinazione.Text));
-
- settingsDict.Add("DirDividiDestinazione", chkCreaSottocartelle.Checked);
- settingsDict.Add("DirDividiNumFile", txtFilePerCartella.Text);
- settingsDict.Add("DirDividiSuffisso", txtSuffissoCartelle.Text);
- settingsDict.Add("DirDividiNumCifre", txtCifreContatore.Text);
-
- settingsDict.Add("DirDividiTipoNumerazione", rdbNumProgressiva.Checked ? "Progressiva" : "Files");
-
- // if (rdbNumProgressiva.Checked)
- // settingsDict.Add("DirDividiTipoNumerazione", "Progressiva");
- //else
- // settingsDict.Add("DirDividiTipoNumerazione", "Files");
-
- // Checkbox
- settingsDict.Add("creaMiniature", CheckBox1.Checked);
- settingsDict.Add("aggiungiTesto", CheckBox2.Checked);
- settingsDict.Add("grassetto", CheckBox3.Checked);
- settingsDict.Add("logoAggiungi", CheckBox5.Checked);
- settingsDict.Add("usaOrarioTestoApplicare", CheckBox8.Checked);
- //settingsDict.Add("usaOrarioMiniatura", CheckBox12.Checked);
- settingsDict.Add("fotoGrandeDimOrigina", CheckBox15.Checked);
-
- settingsDict.Add("dimStandard", Convert.ToInt32(TextBox11.Text));
- settingsDict.Add("dimStandardMiniatura", Convert.ToInt32(TextBox25.Text));
-
-
-
-
- settingsDict.Add("usaRotazioneAutomatica", chkRotazioneAutomatica.Checked);
- settingsDict.Add("usaForzaJpg", chkForzaJpg.Checked);
-
- settingsDict.Add("testoNome", CheckBox17.Checked);
- settingsDict.Add("nomeData", CheckBox16.Checked);
-
- settingsDict.Add("testoFirmaStart", TextBox4.Text);
- settingsDict.Add("testoFirmaStartV", TextBox29.Text);
-
- settingsDict.Add("dataPartenza", DateTimePicker1.Value);
- settingsDict.Add("testoOrario", TextBox18.Text);
-
- settingsDict.Add("altezzaSmall", Convert.ToInt32(TextBox6.Text));
- settingsDict.Add("larghezzaSmall", Convert.ToInt32(TextBox5.Text));
-
-
- settingsDict.Add("aggiungiScritteMiniature", RadioButton3.Checked);
- settingsDict.Add("aggTempoGaraMin", RadioButton5.Checked);
- settingsDict.Add("aggNumTempMin", RadioButton7.Checked);
-
- settingsDict.Add("dimVert", Convert.ToUInt32(TextBox30.Text));
- settingsDict.Add("margVert", Convert.ToInt32(TextBox31.Text));
-
- settingsDict.Add("suffisso", TextBox3.Text);
- settingsDict.Add("trasparenza", Convert.ToInt32(TextBox9.Text));
- settingsDict.Add("ilFont", ComboBox3.SelectedItem.ToString());
-
-
- settingsDict.Add("posizione", ComboBox1.SelectedItem.ToString());
- settingsDict.Add("allineamento", ComboBox2.SelectedItem.ToString());
- settingsDict.Add("margine", Convert.ToInt32(TextBox12.Text));
-
- settingsDict.Add("logoAltezza", Convert.ToInt32(TextBox14.Text));
- settingsDict.Add("logoLarghezza", Convert.ToInt32(TextBox15.Text));
-
- settingsDict.Add("fontColoreRGB", ColorTranslator.FromHtml(TextBox34.Text));
-
-
- settingsDict.Add("logoNomeFile", TextBox10.Text);
- settingsDict.Add("logoTrasparenza", TextBox19.Text);
- settingsDict.Add("logoMargine", TextBox16.Text);
- settingsDict.Add("logoPosizioneH", ComboBox4.Text);
- settingsDict.Add("logoPosizioneV", ComboBox5.Text);
-
-
- settingsDict.Add("altezzaBig", Convert.ToInt32(TextBox27.Text));
- settingsDict.Add("larghezzaBig", Convert.ToInt32(TextBox28.Text));
- settingsDict.Add("dimMin", Convert.ToInt32(TextBox25.Text));
-
- settingsDict.Add("testoMin", RadioButton6.Checked);
-
- settingsDict.Add("jpegQuality", Convert.ToInt32(TextBox32.Text));
- settingsDict.Add("jpegQualityMin", Convert.ToInt32(TextBox33.Text));
-
- return settingsDict;
- }
-
- private void setPicSettings(string SourcePath, string DestPath)
- {
- DirectoryInfo SourceDir = new DirectoryInfo(SourcePath);
- DirectoryInfo DestDirStart = new DirectoryInfo(DestPath);
- DirectoryInfo DestDir = null;
-
- PicSettings.directorySorgente = txtSorgente.Text;
- PicSettings.directoryDestinazione = txtDestinazione.Text;
-
-
- PicSettings.dimStandard = Convert.ToInt32(TextBox11.Text);
- PicSettings.dimStandardMiniatura = Convert.ToInt32(TextBox25.Text);
-
- //PicSettings.UsaOrarioMiniatura = CheckBox12.Checked;
- PicSettings.UsaOrarioTestoApplicare = CheckBox8.Checked;
- PicSettings.UsaTempoGaraTestoApplicare = CheckBox7.Checked;
-
- PicSettings.UsaRotazioneAutomatica = chkRotazioneAutomatica.Checked;
- PicSettings.UsaForzaJpg = chkForzaJpg.Checked;
-
- if (CheckBox17.Checked)
- {
- PicSettings.TestoNome = true;
- }
- else
- {
- PicSettings.TestoNome = false;
-
- }
-
- if (CheckBox16.Checked)
- {
- PicSettings.NomeData = true;
- }
- else
- {
- PicSettings.NomeData = false;
- }
- PicSettings.TestoFirmaStart = TextBox4.Text;
- PicSettings.TestoFirmaStartV = TextBox29.Text;
-
- PicSettings.DataPartenza = DateTimePicker1.Value;
- PicSettings.TestoOrario = TextBox18.Text;
-
- PicSettings.AltezzaSmall = Convert.ToInt32(TextBox6.Text);
- PicSettings.LarghezzaSmall = Convert.ToInt32(TextBox5.Text);
-
- PicSettings.CreaMiniature = CheckBox1.Checked;
- PicSettings.AggiungiScritteMiniature = RadioButton3.Checked;
- PicSettings.AggTempoGaraMin = RadioButton5.Checked;
- PicSettings.AggNumTempMin = RadioButton7.Checked;
-
-
- PicSettings.dimVert = Convert.ToInt32(TextBox30.Text);
- PicSettings.margVert = Convert.ToInt32(TextBox31.Text);
-
- //PicSettings.NomeFileChild = childFile.Name
- PicSettings.Suffisso = TextBox3.Text;
- //PicSettings.Codice = TextBox13.Text
-
- PicSettings.Trasparenza = Convert.ToInt32(TextBox9.Text);
- PicSettings.IlFont = ComboBox3.SelectedItem.ToString();
- PicSettings.Grassetto = CheckBox3.Checked;
-
- PicSettings.Posizione = ComboBox1.SelectedItem.ToString();
- PicSettings.Allineamento = ComboBox2.SelectedItem.ToString();
- PicSettings.Margine = Convert.ToInt32(TextBox12.Text);
-
- PicSettings.LogoAltezza = Convert.ToInt32(TextBox14.Text);
- PicSettings.LogoLarghezza = Convert.ToInt32(TextBox15.Text);
-
- PicSettings.fontColoreRGB = ColorTranslator.FromHtml(TextBox34.Text);
-
- PicSettings.LogoAggiungi = CheckBox5.Checked;
- PicSettings.LogoNomeFile = TextBox10.Text;
- PicSettings.LogoTrasparenza = TextBox19.Text;
- PicSettings.LogoMargine = TextBox16.Text;
- PicSettings.LogoPosizioneH = ComboBox4.Text;
- PicSettings.LogoPosizioneV = ComboBox5.Text;
-
- PicSettings.FotoGrandeDimOrigina = CheckBox15.Checked;
- PicSettings.AltezzaBig = Convert.ToInt32(TextBox27.Text);
- PicSettings.LarghezzaBig = Convert.ToInt32(TextBox28.Text);
- PicSettings.DimMin = Convert.ToInt32(TextBox25.Text);
-
- PicSettings.TestoMin = RadioButton6.Checked;
-
- PicSettings.jpegQuality = Convert.ToInt64(TextBox32.Text);
- PicSettings.jpegQualityMin = Convert.ToInt64(TextBox33.Text);
-
- PicSettings.mainForm = this;
-
-
- }
-
- private void makeSettingsFromFile()
- {
- OpenFileDialog openFileDialog = new OpenFileDialog();
- openFileDialog.Filter = "Setup (*.xml)|*.xml|All valid files (*.*)|*.*";
- openFileDialog.FilterIndex = 0;
- openFileDialog.RestoreDirectory = true;
-
- Dictionary settingsDict = new Dictionary(StringComparer.OrdinalIgnoreCase);
-
- if (DialogResult.OK == openFileDialog.ShowDialog())
- {
- XMLSettings xmlSettings = new XMLSettings(openFileDialog.FileName);
- settingsDict = xmlSettings.getParametriDict();
-
-
- settingsDict = bindSettings(settingsDict);
- setLogoMiniature();
- this.Text = string.Format("Image Catalog - {0}", openFileDialog.FileName);
-
-
- }
- }
-
- private void setLogoMiniature()
- {
- if (File.Exists(TextBox10.Text))
- {
-
- PictureBox1.Image = Image.FromFile(TextBox10.Text);
- if (PictureBox1.Image.Height >= PictureBox1.Image.Width)
- {
- PictureBox1.Height = 160;
- PictureBox1.Width = Convert.ToInt32(160 * PictureBox1.Image.Width / PictureBox1.Image.Height);
- }
- else
- {
- PictureBox1.Width = 224;
- PictureBox1.Height = Convert.ToInt32(224 * PictureBox1.Image.Height / PictureBox1.Image.Width);
- }
- }
- }
-
- private Dictionary bindSettings(Dictionary dict)
- {
-
- txtSorgente.Text = dict["dirSorgente"].ToString();
- txtDestinazione.Text = dict["dirDestinazione"].ToString();
- chkAggiornaSottodirectory.Checked = Convert.ToBoolean(dict["DirSottoDirectory"]);
-
- chkCreaSottocartelle.Checked = Convert.ToBoolean(dict["dirDividiDestinazione"]);
- txtFilePerCartella.Text = dict["dirDividiNumFile"].ToString();
- txtSuffissoCartelle.Text = dict["dirDividiSuffisso"].ToString();
- txtCifreContatore.Text = dict["dirDividiNumCifre"].ToString();
-
- if (dict["dirDividiTipoNumerazione"].ToString().ToUpper() == "PROGRESSIVA")
- rdbNumProgressiva.Checked = true;
- else
- rdbNumFiles.Checked = true;
-
- CheckBox1.Checked = Convert.ToBoolean(dict["miniatureCrea"]);
- TextBox3.Text = dict["miniatureSuffisso"].ToString();
- TextBox5.Text = dict["miniatureAltezza"].ToString();
- TextBox6.Text = dict["miniatureLarghezza"].ToString();
- RadioButton3.Checked = Convert.ToBoolean(dict["miniatureAddScritta"]);
- RadioButton4.Checked = Convert.ToBoolean(dict["miniatureAddOrario"]);
-
- TextBox27.Text = dict["fotoAltezza"].ToString();
- TextBox28.Text = dict["fotoLarghezza"].ToString();
-
- TextBox11.Text = dict["fontDimensione"].ToString();
- TextBox25.Text = dict["fontDimensioneMiniatura"].ToString();
- CheckBox3.Checked = Convert.ToBoolean(dict["fontBold"]);
- ComboBox3.Text = dict["fontNome"].ToString();
-
- TextBox4.Text = dict["testoTesto"].ToString();
- TextBox9.Text = dict["testoTrasparente"].ToString();
- TextBox12.Text = dict["testoMargine"].ToString();
- ComboBox1.Text = dict["testoPosizione"].ToString();
- ComboBox2.Text = dict["testoAllineamento"].ToString();
-
- TextBox10.Text = dict["marchioFile"].ToString();
- TextBox14.Text = dict["marchioAltezza"].ToString();
- TextBox15.Text = dict["marchioLarghezza"].ToString();
- TextBox16.Text = dict["marchioMargine"].ToString();
- ComboBox4.Text = dict["marchioAllOrizzontale"].ToString();
- ComboBox5.Text = dict["marchioAllVerticale"].ToString();
- TextBox19.Text = dict["marchioTrasparenza"].ToString();
- CheckBox5.Checked = Convert.ToBoolean(dict["MarchioAggiungi"]);
-
- CheckBox7.Checked = Convert.ToBoolean(dict["tempoGara"]);
- CheckBox8.Checked = Convert.ToBoolean(dict["orario"]);
- TextBox18.Text = dict["etichettaOrario"].ToString();
-
- chkForzaJpg.Checked = Convert.ToBoolean(dict["generaleForzaJpg"]);
- chkRotazioneAutomatica.Checked = Convert.ToBoolean(dict["generaleRotazioneAutomatica"]);
-
- TextBox30.Text = dict["grandezzaVerticale"].ToString();
- TextBox31.Text = dict["margineVerticale"].ToString();
- CheckBox15.Checked = Convert.ToBoolean(dict["dimensioniOriginali"]);
- TextBox29.Text = dict["testoVerticale"].ToString();
- RadioButton6.Checked = Convert.ToBoolean(dict["nomeMiniatura"]);
- CheckBox16.Checked = Convert.ToBoolean(dict["dataFoto"]);
- CheckBox17.Checked = Convert.ToBoolean(dict["numeroFoto"]);
-
-
- RadioButton5.Checked = Convert.ToBoolean(dict["tempoSmall"]);
- RadioButton7.Checked = Convert.ToBoolean(dict["numTempoSmall"]);
-
- TextBox32.Text = dict["compressioneJpeg"].ToString();
- TextBox33.Text = dict["compressioneJpegMiniatura"].ToString();
-
- TextBox34.Text = dict["coloreTestoRGB"].ToString();
-
-
-
- return dict;
- }
-
-
-
-
- private void caricaImpostazioniToolStripMenuItem_Click(object sender, EventArgs e)
- {
- makeSettingsFromFile();
- }
-
- private void btnStopCreazione_Click(object sender, EventArgs e)
- {
-
- }
-
- private void informazioniToolStripMenuItem_Click(object sender, EventArgs e)
- {
- AboutForm about = new AboutForm();
- about.Show();
- }
-
- private void CheckBox2_CheckedChanged(object sender, EventArgs e)
- {
- if (CheckBox2.Checked)
- panelTesto.Enabled = true;
- else
- panelTesto.Enabled = false;
- }
-
- private void CheckBox1_CheckedChanged(object sender, EventArgs e)
- {
- if (CheckBox1.Checked)
- panelMiniature.Enabled = true;
- else
- panelMiniature.Enabled = false;
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-}
diff --git a/ImageCatalogCS/MainForm.resx b/ImageCatalogCS/MainForm.resx
deleted file mode 100644
index d5494e3..0000000
--- a/ImageCatalogCS/MainForm.resx
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
\ No newline at end of file
diff --git a/ImageCatalogCS/PicSettings.cs b/ImageCatalogCS/PicSettings.cs
deleted file mode 100644
index 9f930c8..0000000
--- a/ImageCatalogCS/PicSettings.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ImageCatalogCS
-{
- static class PicSettings
- {
- // Root
- public static string directorySorgente { get; set; }
- public static string directoryDestinazione { get; set; }
-
- public static int dimVert { get; set; }
- public static int margVert { get; set; }
-
- public static int dimStandard { get; set; }
- public static int dimStandardMiniatura { get; set; }
-
- public static bool NomeData { get; set; }
- public static bool TestoNome { get; set; }
- public static bool UsaOrarioMiniatura { get; set; }
- public static bool UsaOrarioTestoApplicare { get; set; }
- public static bool UsaTempoGaraTestoApplicare { get; set; }
- public static string TestoFirmaStart { get; set; }
- public static string TestoFirmaStartV { get; set; }
- public static DateTime DataPartenza { get; set; }
-
- public static string TestoOrario { get; set; }
- public static bool UsaRotazioneAutomatica { get; set; }
-
- public static bool UsaForzaJpg { get; set; }
- public static int LarghezzaSmall { get; set; }
-
- public static int AltezzaSmall { get; set; }
- public static bool CreaMiniature { get; set; }
- public static bool AggiungiScritteMiniature { get; set; }
- public static bool AggTempoGaraMin { get; set; }
-
- public static bool AggNumTempMin { get; set; }
- public static string Suffisso { get; set; }
-
- public static string Codice { get; set; }
- public static int Trasparenza { get; set; }
- public static string IlFont { get; set; }
-
- public static bool Grassetto { get; set; }
- public static string Posizione { get; set; }
- public static string Allineamento { get; set; }
-
- public static int Margine { get; set; }
- public static int LogoAltezza { get; set; }
-
- public static int LogoLarghezza { get; set; }
-
- public static Color fontColoreRGB { get; set; }
- public static bool LogoAggiungi { get; set; }
- public static string LogoNomeFile { get; set; }
- public static string LogoTrasparenza { get; set; }
- public static string LogoMargine { get; set; }
- public static string LogoPosizioneH { get; set; }
-
- public static string LogoPosizioneV { get; set; }
- public static bool FotoGrandeDimOrigina { get; set; }
- public static int AltezzaBig { get; set; }
- public static int LarghezzaBig { get; set; }
- public static DirectoryInfo DestDir { get; set; }
-
- public static int DimMin { get; set; }
-
- public static bool TestoMin { get; set; }
- public static bool SecretDefault { get; set; }
- public static bool SecretBig { get; set; }
-
- public static bool SecretSmall { get; set; }
- public static string SecretPathSmall { get; set; }
-
- public static string SecretPathBig { get; set; }
- public static long jpegQuality { get; set; }
-
- public static long jpegQualityMin { get; set; }
- public static bool FotoRuotaADestra { get; set; } // Default False
-
- public static bool FotoRuotaASinistra { get; set; } // Default False
-
- public static string TempMinText { get; set; } // Default ""
- public static MainForm mainForm { get; set; }
- }
-}
diff --git a/ImageCatalogCS/Program.cs b/ImageCatalogCS/Program.cs
deleted file mode 100644
index 9c2ec36..0000000
--- a/ImageCatalogCS/Program.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace ImageCatalogCS
-{
- static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new MainForm());
- }
- }
-}
diff --git a/ImageCatalogCS/Properties/AssemblyInfo.cs b/ImageCatalogCS/Properties/AssemblyInfo.cs
deleted file mode 100644
index 97f38c2..0000000
--- a/ImageCatalogCS/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ImageCatalogCS")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ImageCatalogCS")]
-[assembly: AssemblyCopyright("Copyright © 2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("00b0a7a5-0de0-48e6-b0c9-ec214aa338dd")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ImageCatalogCS/Properties/Resources.Designer.cs b/ImageCatalogCS/Properties/Resources.Designer.cs
deleted file mode 100644
index 6af1fd8..0000000
--- a/ImageCatalogCS/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace ImageCatalogCS.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ImageCatalogCS.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/ImageCatalogCS/Properties/Resources.resx b/ImageCatalogCS/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/ImageCatalogCS/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/ImageCatalogCS/Properties/Settings.Designer.cs b/ImageCatalogCS/Properties/Settings.Designer.cs
deleted file mode 100644
index 0e29f59..0000000
--- a/ImageCatalogCS/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace ImageCatalogCS.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.11.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/ImageCatalogCS/Properties/Settings.settings b/ImageCatalogCS/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/ImageCatalogCS/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/ImageCatalogCS/Temperature.cs b/ImageCatalogCS/Temperature.cs
deleted file mode 100644
index a56ed82..0000000
--- a/ImageCatalogCS/Temperature.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Management;
-
-
-
-namespace ImageCatalogCS
-{
- public class Temperature
- {
- public double CurrentValue { get; set; }
- public string InstanceName { get; set; }
- public static List Temperatures
- {
- get
- {
- List result = new List();
- ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
- foreach (ManagementObject obj in searcher.Get())
- {
- Double temp = Convert.ToDouble(obj["CurrentTemperature"].ToString());
- temp = (temp - 2732) / 10.0;
- result.Add(new Temperature { CurrentValue = temp, InstanceName = obj["InstanceName"].ToString() });
- }
- return result;
-
- }
- }
- }
-}
diff --git a/ImageCatalogCS/XMLSettings.cs b/ImageCatalogCS/XMLSettings.cs
deleted file mode 100644
index 2443542..0000000
--- a/ImageCatalogCS/XMLSettings.cs
+++ /dev/null
@@ -1,208 +0,0 @@
-using Microsoft.VisualBasic;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-using System.IO;
-
-public class XMLSettings
-{
-
-
- private DataSet _ElencoParametri;
-
- private string _NomeFileSetup;
- public XMLSettings(string FileSetup)
- {
- _ElencoParametri = new DataSet();
- _NomeFileSetup = FileSetup;
-
- if (!string.IsNullOrEmpty(FileSetup))
- {
- CaricaParametriSetup();
- }
- }
-
- public XMLSettings()
- {
- _ElencoParametri = new DataSet();
- _NomeFileSetup = "";
- }
-
- public void CaricaParametriSetup()
- {
- _ElencoParametri = LeggiXmlDataSet("Setup", _NomeFileSetup, "Nome");
- }
-
- public void SalvaParametriSetup()
- {
- if (System.IO.File.Exists(_NomeFileSetup) == true)
- {
- File.Delete(_NomeFileSetup);
- }
- _ElencoParametri.WriteXml(_NomeFileSetup);
- }
-
- public Dictionary getParametriDict()
- {
- CaricaParametriSetup();
- Dictionary dictParam = new Dictionary(StringComparer.OrdinalIgnoreCase);
-
- //DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
- //DataTable table = _ElencoParametri.Tables["Setup"];
-
- foreach (DataRow row in _ElencoParametri.Tables["Setup"].Rows)
- {
- dictParam.Add(row["Nome"].ToString(), row["Valore"]);
- }
-
- return dictParam;
- }
-
- public string LeggiParametroString(string NomeParametro)
- {
- string Risposta = "";
-
- try
- {
- DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
-
- DataRow LaRiga = null;
- foreach (DataRow LaRiga_loopVariable in LElenco)
- {
- LaRiga = LaRiga_loopVariable;
- Risposta = LaRiga["Valore"].ToString();
- }
- }
- catch
- {
- Risposta = "";
- }
-
- return Risposta;
- }
-
- public bool LeggiParametroBoolean(string NomeParametro)
- {
- string Risposta = "";
-
- try
- {
- DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
-
- DataRow LaRiga = null;
- foreach (DataRow LaRiga_loopVariable in LElenco)
- {
- LaRiga = LaRiga_loopVariable;
- Risposta = LaRiga["Valore"].ToString();
- }
- }
- catch
- {
- Risposta = "";
- }
-
- switch (Risposta.ToUpper())
- {
- case "TRUE":
- case "OK":
- case "SI":
- case "1":
- case "YES":
- case "VERO":
- return true;
- default:
- return false;
- }
- }
-
- public void AggiornaParametro(string NomeParametro, object ValoreParametro)
- {
- try
- {
- if (_ElencoParametri.Tables["Setup"] == null)
- {
- DataTable TabellaTmp = new DataTable("Setup");
- DataRow RigaTmp = null;
-
- DataColumn LaColonna = null;
- LaColonna = TabellaTmp.Columns.Add("Nome", System.Type.GetType("System.String"));
- LaColonna = TabellaTmp.Columns.Add("Valore", System.Type.GetType("System.String"));
-
- //* Aggiunge alla tabella tutte le righe
- RigaTmp = TabellaTmp.NewRow();
- RigaTmp["Nome"] = NomeParametro;
- RigaTmp["Valore"] = ValoreParametro;
- TabellaTmp.Rows.Add(RigaTmp);
-
- _ElencoParametri.Tables.Add(TabellaTmp);
- }
- else
- {
- DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
-
- if (LElenco.Length == 0)
- {
- DataRow LaRiga = null;
- LaRiga = _ElencoParametri.Tables["Setup"].NewRow();
- LaRiga["Nome"] = NomeParametro;
- LaRiga["Valore"] = ValoreParametro;
- _ElencoParametri.Tables["Setup"].Rows.Add(LaRiga);
- }
- else
- {
- LElenco[0]["Valore"] = ValoreParametro;
- }
- }
-
- }
- catch
- {
- }
- }
-
-
- private DataTable LeggiXmlDataTable(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
- {
- //* Crea e Legge il dataset dal file xml
- System.Data.DataSet DataSetXml = new System.Data.DataSet();
- DataSetXml.ReadXml(NomeFileXml);
-
- //* Aggiunge il campo chiave
- if (!string.IsNullOrEmpty(NomeColonnaChiave))
- {
- DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
- }
-
- //* Restituisce la risposta
- return DataSetXml.Tables[NomeTabella];
- }
-
- private static DataSet LeggiXmlDataSet(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
- {
- //* Crea e Legge il dataset dal file xml
- DataSet DataSetXml = new DataSet();
- DataSetXml.ReadXml(NomeFileXml);
-
- //* Aggiunge il campo chiave
- if (!string.IsNullOrEmpty(NomeColonnaChiave))
- {
- DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
- }
-
- //* Restituisce la risposta
- return DataSetXml;
- }
-
-
-
-
- public string NomeFileSetup
- {
- get { return _NomeFileSetup; }
- set { _NomeFileSetup = value; }
- }
-
-
-}
\ No newline at end of file
diff --git a/ImageCatalogCS/XYThreadPool.cs b/ImageCatalogCS/XYThreadPool.cs
deleted file mode 100644
index 005b30c..0000000
--- a/ImageCatalogCS/XYThreadPool.cs
+++ /dev/null
@@ -1,251 +0,0 @@
-using Microsoft.VisualBasic;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Data;
-using System.Diagnostics;
-
-using System.Threading;
-
-public delegate void ThreadErrorHandlerDelegate(ThreadPoolWorkItem oWorkItem, Exception oError);
-
-public class ThreadPoolWorkItem
-{
- public bool m_bStoreOutput = false;
- public string m_sName = "";
- public Delegate m_pMethod = null;
- public object[] m_pInput = null;
- public object m_oOutput = null;
- public Exception m_oException = null;
- public ThreadPoolWorkItem()
- {
- }
- public ThreadPoolWorkItem(string sName, Delegate pMethod, object[] pInput, bool bStoreOutput)
- {
- m_sName = sName;
- m_pMethod = pMethod;
- m_pInput = pInput;
- m_bStoreOutput = bStoreOutput;
- }
-}
-
-public class XYThreadPool
-{
- private Hashtable m_htThreads = new Hashtable(256);
- private int m_nMinThreadCount = 5;
- private int m_nMaxThreadCount = 10;
- private int m_nShutdownPause = 200;
- private int m_nServerPause = 25;
- private bool m_bContinue = false;
- private static Exception m_oException = null;
- private Queue m_qInput = new Queue(1024);
- private Queue m_qOutput = new Queue(1024);
- private Delegate m_delegateThreadErrorHandler = new ThreadErrorHandlerDelegate(OnThreadError);
- private void ThreadProc()
- {
- while (m_bContinue)
- {
- object obj = null;
- Monitor.Enter(this);
- if (m_qInput.Count > 0)
- obj = m_qInput.Dequeue();
- Monitor.Exit(this);
- if (obj == null)
- {
- bool bQuit = false;
- Monitor.Enter(this);
- if (m_htThreads.Count > m_nMinThreadCount)
- {
- m_htThreads.Remove(Thread.CurrentThread.Name);
- bQuit = true;
- }
- Monitor.Exit(this);
- if (bQuit)
- return;
- Thread.Sleep(10 * m_nServerPause);
- }
- else
- {
- ThreadPoolWorkItem oWorkItem = (ThreadPoolWorkItem)obj;
- //oWorkItem.m_oOutput = oWorkItem.m_pMethod.DynamicInvoke(oWorkItem.m_pInput)
- try
- {
- oWorkItem.m_oOutput = oWorkItem.m_pMethod.DynamicInvoke(oWorkItem.m_pInput);
- }
- catch (Exception oBug)
- {
- if ((m_delegateThreadErrorHandler != null))
- {
- try
- {
- object[] pInput = {
- oWorkItem,
- oBug
- };
- m_delegateThreadErrorHandler.DynamicInvoke(pInput);
- }
- catch
- {
- }
- }
- }
- if (oWorkItem.m_bStoreOutput)
- {
- Monitor.Enter(m_qOutput);
- m_qOutput.Enqueue(oWorkItem);
- Monitor.Exit(m_qOutput);
- }
- Thread.Sleep(m_nServerPause);
- }
- }
- }
- private static void OnThreadError(ThreadPoolWorkItem oWorkItem, Exception oError)
- {
- if (oWorkItem == null)
- {
- m_oException = oError;
- }
- else
- {
- oWorkItem.m_oException = oError;
- }
- }
- public void SetThreadErrorHandler(ThreadErrorHandlerDelegate pMethod)
- {
- Monitor.Enter(this);
- m_delegateThreadErrorHandler = pMethod;
- Monitor.Exit(this);
- }
- public void SetServerPause(int nMilliseconds)
- {
- Monitor.Enter(this);
- if (nMilliseconds > 9 & nMilliseconds < 101)
- m_nServerPause = nMilliseconds;
- Monitor.Exit(this);
- }
- public void SetShutdownPause(int nMilliseconds)
- {
- Monitor.Enter(this);
- m_nShutdownPause = nMilliseconds;
- Monitor.Exit(this);
- }
- public Exception GetException()
- {
- return m_oException;
- }
- public void InsertWorkItem(ThreadPoolWorkItem oWorkItem)
- {
- try
- {
- Monitor.Enter(this);
- m_qInput.Enqueue(oWorkItem);
- if (m_bContinue && m_qInput.Count > m_htThreads.Count && m_htThreads.Count < m_nMaxThreadCount)
- {
- Thread th = new Thread(ThreadProc);
- th.Name = Guid.NewGuid().ToString();
- m_htThreads.Add(th.Name, th);
- th.Start();
- }
- }
- catch (Exception oBug)
- {
- m_oException = oBug;
- }
- finally
- {
- Monitor.Exit(this);
- }
- }
- public void InsertWorkItem(string sName, Delegate pMethod, object[] pArgs, bool bStoreOutput)
- {
- InsertWorkItem(new ThreadPoolWorkItem(sName, pMethod, pArgs, bStoreOutput));
- }
- public ThreadPoolWorkItem ExtractWorkItem()
- {
- object oWorkItem = null;
- Monitor.Enter(m_qOutput);
- if (m_qOutput.Count > 0)
- oWorkItem = m_qOutput.Dequeue();
- Monitor.Exit(m_qOutput);
- if (oWorkItem == null)
- return null;
- return (ThreadPoolWorkItem)oWorkItem;
- }
- public bool StartThreadPool(int nMinThreadCount = 5, int nMaxThreadCount = 10)
- {
- try
- {
- Monitor.Enter(this);
- if (m_bContinue == false)
- {
- m_bContinue = true;
- if (nMinThreadCount > 0)
- {
- m_nMinThreadCount = nMinThreadCount;
- }
- if (nMaxThreadCount > m_nMinThreadCount)
- {
- m_nMaxThreadCount = nMaxThreadCount;
- }
- else
- {
- m_nMaxThreadCount = 2 * m_nMinThreadCount;
- }
- int i = 0;
- for (i = 1; i <= m_nMinThreadCount; i++)
- {
- Thread th = new Thread(ThreadProc);
- th.Name = Guid.NewGuid().ToString();
- m_htThreads.Add(th.Name, th);
- th.Start();
- }
- }
- return true;
- }
- catch (Exception oBug)
- {
- m_bContinue = false;
- m_oException = oBug;
- return false;
- }
- finally
- {
- Monitor.Exit(this);
- }
- }
- public void StopThreadPool()
- {
- Monitor.Enter(this);
- m_bContinue = false;
- Thread.Sleep(Math.Max(200, m_nShutdownPause));
- if ((m_nShutdownPause > 0))
- {
- IDictionaryEnumerator dict = m_htThreads.GetEnumerator();
- while (dict.MoveNext())
- {
- Thread th = (Thread)dict.Value;
- if (th.IsAlive)
- {
- try
- {
- th.Abort();
- }
- catch
- {
- }
- }
- }
- }
- m_htThreads.Clear();
- m_qInput.Clear();
- // m_qOutput.Clear()
- Monitor.Exit(this);
- }
- public int GetThreadCount()
- {
- Monitor.Enter(this);
- int nCount = m_htThreads.Count;
- Monitor.Exit(this);
- return nCount;
- }
-}
\ No newline at end of file
diff --git a/ImageCatalogParallel/App.config b/ImageCatalogParallel/App.config
deleted file mode 100644
index 193aecc..0000000
--- a/ImageCatalogParallel/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ImageCatalogParallel/Form1.Designer.cs b/ImageCatalogParallel/Form1.Designer.cs
deleted file mode 100644
index d598f89..0000000
--- a/ImageCatalogParallel/Form1.Designer.cs
+++ /dev/null
@@ -1,1809 +0,0 @@
-
-namespace ImageCatalogParallel
-{
- partial class Form1
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.TabPage1 = new System.Windows.Forms.TabPage();
- this.Panel1 = new System.Windows.Forms.Panel();
- this.CheckBox18 = new System.Windows.Forms.CheckBox();
- this.CheckBox4 = new System.Windows.Forms.CheckBox();
- this.CheckBox12 = new System.Windows.Forms.CheckBox();
- this.GroupBox1 = new System.Windows.Forms.GroupBox();
- this.Label46 = new System.Windows.Forms.Label();
- this.TextBox33 = new System.Windows.Forms.TextBox();
- this.Panel2 = new System.Windows.Forms.Panel();
- this.RadioButton3 = new System.Windows.Forms.RadioButton();
- this.RadioButton7 = new System.Windows.Forms.RadioButton();
- this.RadioButton4 = new System.Windows.Forms.RadioButton();
- this.RadioButton6 = new System.Windows.Forms.RadioButton();
- this.RadioButton5 = new System.Windows.Forms.RadioButton();
- this.Label5 = new System.Windows.Forms.Label();
- this.TextBox5 = new System.Windows.Forms.TextBox();
- this.Label6 = new System.Windows.Forms.Label();
- this.TextBox6 = new System.Windows.Forms.TextBox();
- this.Label3 = new System.Windows.Forms.Label();
- this.TextBox3 = new System.Windows.Forms.TextBox();
- this.CheckBox1 = new System.Windows.Forms.CheckBox();
- this.Label37 = new System.Windows.Forms.Label();
- this.Label38 = new System.Windows.Forms.Label();
- this.Label45 = new System.Windows.Forms.Label();
- this.TextBox32 = new System.Windows.Forms.TextBox();
- this.TextBox26 = new System.Windows.Forms.TextBox();
- this.TextBox27 = new System.Windows.Forms.TextBox();
- this.Label39 = new System.Windows.Forms.Label();
- this.CheckBox15 = new System.Windows.Forms.CheckBox();
- this.Label40 = new System.Windows.Forms.Label();
- this.TextBox29 = new System.Windows.Forms.TextBox();
- this.TextBox18 = new System.Windows.Forms.TextBox();
- this.Label26 = new System.Windows.Forms.Label();
- this.DateTimePicker1 = new System.Windows.Forms.DateTimePicker();
- this.CheckBox8 = new System.Windows.Forms.CheckBox();
- this.TextBox9 = new System.Windows.Forms.TextBox();
- this.CheckBox7 = new System.Windows.Forms.CheckBox();
- this.Label4 = new System.Windows.Forms.Label();
- this.TextBox4 = new System.Windows.Forms.TextBox();
- this.Label9 = new System.Windows.Forms.Label();
- this.TextBox28 = new System.Windows.Forms.TextBox();
- this.TabPage2 = new System.Windows.Forms.TabPage();
- this.GroupBox2 = new System.Windows.Forms.GroupBox();
- this.Label27 = new System.Windows.Forms.Label();
- this.Button7 = new System.Windows.Forms.Button();
- this.Button5 = new System.Windows.Forms.Button();
- this.PictureBox2 = new System.Windows.Forms.PictureBox();
- this.PictureBox1 = new System.Windows.Forms.PictureBox();
- this.ComboBox5 = new System.Windows.Forms.ComboBox();
- this.ComboBox4 = new System.Windows.Forms.ComboBox();
- this.Label19 = new System.Windows.Forms.Label();
- this.Label18 = new System.Windows.Forms.Label();
- this.lblFotoTotaliNum = new System.Windows.Forms.Label();
- this.Label10 = new System.Windows.Forms.Label();
- this.TextBox19 = new System.Windows.Forms.TextBox();
- this.Label28 = new System.Windows.Forms.Label();
- this.CheckBox5 = new System.Windows.Forms.CheckBox();
- this.TextBox15 = new System.Windows.Forms.TextBox();
- this.TextBox14 = new System.Windows.Forms.TextBox();
- this.Label25 = new System.Windows.Forms.Label();
- this.TextBox16 = new System.Windows.Forms.TextBox();
- this.btnCreaCatalogoAsync = new System.Windows.Forms.Button();
- this.Label20 = new System.Windows.Forms.Label();
- this.btnCreaCatalogo = new System.Windows.Forms.Button();
- this.Label24 = new System.Windows.Forms.Label();
- this.Label22 = new System.Windows.Forms.Label();
- this.Label23 = new System.Windows.Forms.Label();
- this.TextBox10 = new System.Windows.Forms.TextBox();
- this.Label29 = new System.Windows.Forms.Label();
- this.Label30 = new System.Windows.Forms.Label();
- this.PictureBox3 = new System.Windows.Forms.PictureBox();
- this.GroupBox6 = new System.Windows.Forms.GroupBox();
- this.Button4 = new System.Windows.Forms.Button();
- this.TabPage4 = new System.Windows.Forms.TabPage();
- this.Label13 = new System.Windows.Forms.Label();
- this.rdbNumFiles = new System.Windows.Forms.RadioButton();
- this.rdbNumProgressiva = new System.Windows.Forms.RadioButton();
- this.txtCifreContatore = new System.Windows.Forms.TextBox();
- this.Label34 = new System.Windows.Forms.Label();
- this.txtSuffissoCartelle = new System.Windows.Forms.TextBox();
- this.Label33 = new System.Windows.Forms.Label();
- this.Label31 = new System.Windows.Forms.Label();
- this.txtFilePerCartella = new System.Windows.Forms.TextBox();
- this.GroupBox8 = new System.Windows.Forms.GroupBox();
- this.chkCreaSottocartelle = new System.Windows.Forms.CheckBox();
- this.Label32 = new System.Windows.Forms.Label();
- this.chkAggiornaSottodirectory = new System.Windows.Forms.CheckBox();
- this.GroupBox3 = new System.Windows.Forms.GroupBox();
- this.Button3 = new System.Windows.Forms.Button();
- this.Button2 = new System.Windows.Forms.Button();
- this.Label1 = new System.Windows.Forms.Label();
- this.Label2 = new System.Windows.Forms.Label();
- this.txtSorgente = new System.Windows.Forms.TextBox();
- this.txtDestinazione = new System.Windows.Forms.TextBox();
- this.ProgressBar1 = new System.Windows.Forms.ProgressBar();
- this.CheckBox22 = new System.Windows.Forms.CheckBox();
- this.Label43 = new System.Windows.Forms.Label();
- this.TabControl1 = new System.Windows.Forms.TabControl();
- this.TabPage5 = new System.Windows.Forms.TabPage();
- this.GroupBox11 = new System.Windows.Forms.GroupBox();
- this.Panel3 = new System.Windows.Forms.Panel();
- this.rdbNuovoMetodo = new System.Windows.Forms.RadioButton();
- this.rdbVecchioMetodo = new System.Windows.Forms.RadioButton();
- this.Label8 = new System.Windows.Forms.Label();
- this.TextBox8 = new System.Windows.Forms.TextBox();
- this.Label7 = new System.Windows.Forms.Label();
- this.TextBox7 = new System.Windows.Forms.TextBox();
- this.GroupBox7 = new System.Windows.Forms.GroupBox();
- this.chkSovrascriviFile = new System.Windows.Forms.CheckBox();
- this.chkRotazioneAutomatica = new System.Windows.Forms.CheckBox();
- this.chkForzaJpg = new System.Windows.Forms.CheckBox();
- this.TabPage3 = new System.Windows.Forms.TabPage();
- this.CheckBox2 = new System.Windows.Forms.CheckBox();
- this.GroupBox10 = new System.Windows.Forms.GroupBox();
- this.Label42 = new System.Windows.Forms.Label();
- this.Label41 = new System.Windows.Forms.Label();
- this.TextBox31 = new System.Windows.Forms.TextBox();
- this.TextBox30 = new System.Windows.Forms.TextBox();
- this.GroupBox9 = new System.Windows.Forms.GroupBox();
- this.CheckBox17 = new System.Windows.Forms.CheckBox();
- this.CheckBox16 = new System.Windows.Forms.CheckBox();
- this.GroupBox5 = new System.Windows.Forms.GroupBox();
- this.TextBox34 = new System.Windows.Forms.TextBox();
- this.Button8 = new System.Windows.Forms.Button();
- this.Label36 = new System.Windows.Forms.Label();
- this.TextBox25 = new System.Windows.Forms.TextBox();
- this.Label35 = new System.Windows.Forms.Label();
- this.ComboBox3 = new System.Windows.Forms.ComboBox();
- this.TextBox11 = new System.Windows.Forms.TextBox();
- this.Label12 = new System.Windows.Forms.Label();
- this.Label11 = new System.Windows.Forms.Label();
- this.CheckBox3 = new System.Windows.Forms.CheckBox();
- this.GroupBox4 = new System.Windows.Forms.GroupBox();
- this.ComboBox1 = new System.Windows.Forms.ComboBox();
- this.ComboBox2 = new System.Windows.Forms.ComboBox();
- this.Label14 = new System.Windows.Forms.Label();
- this.TextBox12 = new System.Windows.Forms.TextBox();
- this.Label15 = new System.Windows.Forms.Label();
- this.Button6 = new System.Windows.Forms.Button();
- this.TabPage1.SuspendLayout();
- this.Panel1.SuspendLayout();
- this.GroupBox1.SuspendLayout();
- this.Panel2.SuspendLayout();
- this.TabPage2.SuspendLayout();
- this.GroupBox2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox3)).BeginInit();
- this.GroupBox6.SuspendLayout();
- this.TabPage4.SuspendLayout();
- this.GroupBox8.SuspendLayout();
- this.GroupBox3.SuspendLayout();
- this.TabControl1.SuspendLayout();
- this.TabPage5.SuspendLayout();
- this.GroupBox11.SuspendLayout();
- this.Panel3.SuspendLayout();
- this.GroupBox7.SuspendLayout();
- this.TabPage3.SuspendLayout();
- this.GroupBox10.SuspendLayout();
- this.GroupBox9.SuspendLayout();
- this.GroupBox5.SuspendLayout();
- this.GroupBox4.SuspendLayout();
- this.SuspendLayout();
- //
- // TabPage1
- //
- this.TabPage1.Controls.Add(this.Panel1);
- this.TabPage1.Controls.Add(this.GroupBox1);
- this.TabPage1.Location = new System.Drawing.Point(4, 22);
- this.TabPage1.Name = "TabPage1";
- this.TabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage1.Size = new System.Drawing.Size(513, 351);
- this.TabPage1.TabIndex = 0;
- this.TabPage1.Text = "Miniature";
- this.TabPage1.UseVisualStyleBackColor = true;
- //
- // Panel1
- //
- this.Panel1.Controls.Add(this.CheckBox18);
- this.Panel1.Controls.Add(this.CheckBox4);
- this.Panel1.Controls.Add(this.CheckBox12);
- this.Panel1.Location = new System.Drawing.Point(52, 236);
- this.Panel1.Name = "Panel1";
- this.Panel1.Size = new System.Drawing.Size(304, 73);
- this.Panel1.TabIndex = 26;
- this.Panel1.Visible = false;
- //
- // CheckBox18
- //
- this.CheckBox18.AutoSize = true;
- this.CheckBox18.Location = new System.Drawing.Point(140, 3);
- this.CheckBox18.Name = "CheckBox18";
- this.CheckBox18.Size = new System.Drawing.Size(84, 17);
- this.CheckBox18.TabIndex = 36;
- this.CheckBox18.Text = "Numero foto";
- this.CheckBox18.UseVisualStyleBackColor = true;
- //
- // CheckBox4
- //
- this.CheckBox4.ForeColor = System.Drawing.Color.Black;
- this.CheckBox4.Location = new System.Drawing.Point(10, 3);
- this.CheckBox4.Name = "CheckBox4";
- this.CheckBox4.Size = new System.Drawing.Size(104, 17);
- this.CheckBox4.TabIndex = 34;
- this.CheckBox4.Text = "Aggiungi scritta";
- //
- // CheckBox12
- //
- this.CheckBox12.ForeColor = System.Drawing.Color.Black;
- this.CheckBox12.Location = new System.Drawing.Point(10, 19);
- this.CheckBox12.Name = "CheckBox12";
- this.CheckBox12.Size = new System.Drawing.Size(104, 21);
- this.CheckBox12.TabIndex = 35;
- this.CheckBox12.Text = "Aggiungi orario";
- //
- // GroupBox1
- //
- this.GroupBox1.Controls.Add(this.Label46);
- this.GroupBox1.Controls.Add(this.TextBox33);
- this.GroupBox1.Controls.Add(this.Panel2);
- this.GroupBox1.Controls.Add(this.Label5);
- this.GroupBox1.Controls.Add(this.TextBox5);
- this.GroupBox1.Controls.Add(this.Label6);
- this.GroupBox1.Controls.Add(this.TextBox6);
- this.GroupBox1.Controls.Add(this.Label3);
- this.GroupBox1.Controls.Add(this.TextBox3);
- this.GroupBox1.Controls.Add(this.CheckBox1);
- this.GroupBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox1.Location = new System.Drawing.Point(6, 5);
- this.GroupBox1.Name = "GroupBox1";
- this.GroupBox1.Size = new System.Drawing.Size(350, 210);
- this.GroupBox1.TabIndex = 25;
- this.GroupBox1.TabStop = false;
- this.GroupBox1.Text = "Miniature";
- //
- // Label46
- //
- this.Label46.AutoSize = true;
- this.Label46.Location = new System.Drawing.Point(198, 43);
- this.Label46.Name = "Label46";
- this.Label46.Size = new System.Drawing.Size(40, 13);
- this.Label46.TabIndex = 21;
- this.Label46.Text = "Qualità ";
- //
- // TextBox33
- //
- this.TextBox33.Location = new System.Drawing.Point(244, 40);
- this.TextBox33.Name = "TextBox33";
- this.TextBox33.Size = new System.Drawing.Size(100, 20);
- this.TextBox33.TabIndex = 20;
- //
- // Panel2
- //
- this.Panel2.Controls.Add(this.RadioButton3);
- this.Panel2.Controls.Add(this.RadioButton7);
- this.Panel2.Controls.Add(this.RadioButton4);
- this.Panel2.Controls.Add(this.RadioButton6);
- this.Panel2.Controls.Add(this.RadioButton5);
- this.Panel2.Location = new System.Drawing.Point(56, 114);
- this.Panel2.Name = "Panel2";
- this.Panel2.Size = new System.Drawing.Size(235, 90);
- this.Panel2.TabIndex = 19;
- //
- // RadioButton3
- //
- this.RadioButton3.AutoSize = true;
- this.RadioButton3.Location = new System.Drawing.Point(15, 16);
- this.RadioButton3.Name = "RadioButton3";
- this.RadioButton3.Size = new System.Drawing.Size(99, 17);
- this.RadioButton3.TabIndex = 14;
- this.RadioButton3.TabStop = true;
- this.RadioButton3.Text = "Aggiungi Scritta";
- this.RadioButton3.UseVisualStyleBackColor = true;
- //
- // RadioButton7
- //
- this.RadioButton7.AutoSize = true;
- this.RadioButton7.Location = new System.Drawing.Point(129, 40);
- this.RadioButton7.Name = "RadioButton7";
- this.RadioButton7.Size = new System.Drawing.Size(95, 17);
- this.RadioButton7.TabIndex = 18;
- this.RadioButton7.TabStop = true;
- this.RadioButton7.Text = "numero+tempo";
- this.RadioButton7.UseVisualStyleBackColor = true;
- //
- // RadioButton4
- //
- this.RadioButton4.AutoSize = true;
- this.RadioButton4.Location = new System.Drawing.Point(15, 40);
- this.RadioButton4.Name = "RadioButton4";
- this.RadioButton4.Size = new System.Drawing.Size(95, 17);
- this.RadioButton4.TabIndex = 15;
- this.RadioButton4.TabStop = true;
- this.RadioButton4.Text = "Aggiungi orario";
- this.RadioButton4.UseVisualStyleBackColor = true;
- //
- // RadioButton6
- //
- this.RadioButton6.AutoSize = true;
- this.RadioButton6.Location = new System.Drawing.Point(129, 16);
- this.RadioButton6.Name = "RadioButton6";
- this.RadioButton6.Size = new System.Drawing.Size(83, 17);
- this.RadioButton6.TabIndex = 17;
- this.RadioButton6.TabStop = true;
- this.RadioButton6.Text = "Numero foto";
- this.RadioButton6.UseVisualStyleBackColor = true;
- //
- // RadioButton5
- //
- this.RadioButton5.AutoSize = true;
- this.RadioButton5.Location = new System.Drawing.Point(15, 65);
- this.RadioButton5.Name = "RadioButton5";
- this.RadioButton5.Size = new System.Drawing.Size(84, 17);
- this.RadioButton5.TabIndex = 16;
- this.RadioButton5.TabStop = true;
- this.RadioButton5.Text = "Tempo Gara";
- this.RadioButton5.UseVisualStyleBackColor = true;
- //
- // Label5
- //
- this.Label5.AutoSize = true;
- this.Label5.ForeColor = System.Drawing.Color.Black;
- this.Label5.Location = new System.Drawing.Point(24, 88);
- this.Label5.Name = "Label5";
- this.Label5.Size = new System.Drawing.Size(41, 13);
- this.Label5.TabIndex = 12;
- this.Label5.Text = "Altezza";
- //
- // TextBox5
- //
- this.TextBox5.Location = new System.Drawing.Point(72, 64);
- this.TextBox5.Name = "TextBox5";
- this.TextBox5.Size = new System.Drawing.Size(88, 20);
- this.TextBox5.TabIndex = 10;
- this.TextBox5.Text = "TextBox5";
- //
- // Label6
- //
- this.Label6.AutoSize = true;
- this.Label6.ForeColor = System.Drawing.Color.Black;
- this.Label6.Location = new System.Drawing.Point(8, 64);
- this.Label6.Name = "Label6";
- this.Label6.Size = new System.Drawing.Size(56, 13);
- this.Label6.TabIndex = 13;
- this.Label6.Text = "Larghezza";
- //
- // TextBox6
- //
- this.TextBox6.Location = new System.Drawing.Point(72, 88);
- this.TextBox6.Name = "TextBox6";
- this.TextBox6.Size = new System.Drawing.Size(88, 20);
- this.TextBox6.TabIndex = 11;
- this.TextBox6.Text = "TextBox6";
- //
- // Label3
- //
- this.Label3.AutoSize = true;
- this.Label3.ForeColor = System.Drawing.Color.Black;
- this.Label3.Location = new System.Drawing.Point(24, 40);
- this.Label3.Name = "Label3";
- this.Label3.Size = new System.Drawing.Size(44, 13);
- this.Label3.TabIndex = 7;
- this.Label3.Text = "Suffisso";
- //
- // TextBox3
- //
- this.TextBox3.Location = new System.Drawing.Point(72, 40);
- this.TextBox3.Name = "TextBox3";
- this.TextBox3.Size = new System.Drawing.Size(88, 20);
- this.TextBox3.TabIndex = 6;
- this.TextBox3.Text = "TextBox3";
- //
- // CheckBox1
- //
- this.CheckBox1.ForeColor = System.Drawing.Color.Black;
- this.CheckBox1.Location = new System.Drawing.Point(72, 16);
- this.CheckBox1.Name = "CheckBox1";
- this.CheckBox1.Size = new System.Drawing.Size(104, 24);
- this.CheckBox1.TabIndex = 5;
- this.CheckBox1.Text = "Crea miniature";
- //
- // Label37
- //
- this.Label37.ForeColor = System.Drawing.Color.Black;
- this.Label37.Location = new System.Drawing.Point(168, 48);
- this.Label37.Name = "Label37";
- this.Label37.Size = new System.Drawing.Size(48, 16);
- this.Label37.TabIndex = 19;
- this.Label37.Text = "Suffisso";
- this.Label37.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
- // Label38
- //
- this.Label38.AutoSize = true;
- this.Label38.ForeColor = System.Drawing.Color.Black;
- this.Label38.Location = new System.Drawing.Point(24, 24);
- this.Label38.Name = "Label38";
- this.Label38.Size = new System.Drawing.Size(41, 13);
- this.Label38.TabIndex = 16;
- this.Label38.Text = "Altezza";
- //
- // Label45
- //
- this.Label45.AutoSize = true;
- this.Label45.Location = new System.Drawing.Point(11, 86);
- this.Label45.Name = "Label45";
- this.Label45.Size = new System.Drawing.Size(40, 13);
- this.Label45.TabIndex = 22;
- this.Label45.Text = "Qualità ";
- //
- // TextBox32
- //
- this.TextBox32.Location = new System.Drawing.Point(72, 80);
- this.TextBox32.Name = "TextBox32";
- this.TextBox32.Size = new System.Drawing.Size(72, 20);
- this.TextBox32.TabIndex = 21;
- this.TextBox32.Text = "100";
- //
- // TextBox26
- //
- this.TextBox26.Location = new System.Drawing.Point(224, 48);
- this.TextBox26.Name = "TextBox26";
- this.TextBox26.Size = new System.Drawing.Size(56, 20);
- this.TextBox26.TabIndex = 20;
- this.TextBox26.Text = "TextBox26";
- //
- // TextBox27
- //
- this.TextBox27.Location = new System.Drawing.Point(72, 24);
- this.TextBox27.Name = "TextBox27";
- this.TextBox27.Size = new System.Drawing.Size(72, 20);
- this.TextBox27.TabIndex = 14;
- this.TextBox27.Text = "TextBox27";
- //
- // Label39
- //
- this.Label39.AutoSize = true;
- this.Label39.ForeColor = System.Drawing.Color.Black;
- this.Label39.Location = new System.Drawing.Point(8, 48);
- this.Label39.Name = "Label39";
- this.Label39.Size = new System.Drawing.Size(56, 13);
- this.Label39.TabIndex = 17;
- this.Label39.Text = "Larghezza";
- //
- // CheckBox15
- //
- this.CheckBox15.Checked = true;
- this.CheckBox15.CheckState = System.Windows.Forms.CheckState.Checked;
- this.CheckBox15.ForeColor = System.Drawing.Color.Black;
- this.CheckBox15.Location = new System.Drawing.Point(168, 16);
- this.CheckBox15.Name = "CheckBox15";
- this.CheckBox15.Size = new System.Drawing.Size(120, 32);
- this.CheckBox15.TabIndex = 18;
- this.CheckBox15.Text = "Mantieni dimensioni originali";
- //
- // Label40
- //
- this.Label40.AutoSize = true;
- this.Label40.Location = new System.Drawing.Point(8, 52);
- this.Label40.Name = "Label40";
- this.Label40.Size = new System.Drawing.Size(48, 13);
- this.Label40.TabIndex = 40;
- this.Label40.Text = "Verticale";
- //
- // TextBox29
- //
- this.TextBox29.Location = new System.Drawing.Point(72, 49);
- this.TextBox29.Multiline = true;
- this.TextBox29.Name = "TextBox29";
- this.TextBox29.Size = new System.Drawing.Size(408, 44);
- this.TextBox29.TabIndex = 39;
- //
- // TextBox18
- //
- this.TextBox18.Location = new System.Drawing.Point(232, 156);
- this.TextBox18.Name = "TextBox18";
- this.TextBox18.Size = new System.Drawing.Size(100, 20);
- this.TextBox18.TabIndex = 38;
- //
- // Label26
- //
- this.Label26.AutoSize = true;
- this.Label26.ForeColor = System.Drawing.Color.Black;
- this.Label26.Location = new System.Drawing.Point(344, 156);
- this.Label26.Name = "Label26";
- this.Label26.Size = new System.Drawing.Size(48, 13);
- this.Label26.TabIndex = 37;
- this.Label26.Text = "partenza";
- //
- // DateTimePicker1
- //
- this.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Time;
- this.DateTimePicker1.Location = new System.Drawing.Point(392, 156);
- this.DateTimePicker1.Name = "DateTimePicker1";
- this.DateTimePicker1.Size = new System.Drawing.Size(88, 20);
- this.DateTimePicker1.TabIndex = 36;
- //
- // CheckBox8
- //
- this.CheckBox8.ForeColor = System.Drawing.Color.Black;
- this.CheckBox8.Location = new System.Drawing.Point(72, 156);
- this.CheckBox8.Name = "CheckBox8";
- this.CheckBox8.Size = new System.Drawing.Size(56, 16);
- this.CheckBox8.TabIndex = 35;
- this.CheckBox8.Text = "Orario";
- //
- // TextBox9
- //
- this.TextBox9.Location = new System.Drawing.Point(120, 108);
- this.TextBox9.Name = "TextBox9";
- this.TextBox9.Size = new System.Drawing.Size(56, 20);
- this.TextBox9.TabIndex = 20;
- this.TextBox9.Text = "TextBox9";
- //
- // CheckBox7
- //
- this.CheckBox7.ForeColor = System.Drawing.Color.Black;
- this.CheckBox7.Location = new System.Drawing.Point(136, 156);
- this.CheckBox7.Name = "CheckBox7";
- this.CheckBox7.Size = new System.Drawing.Size(88, 16);
- this.CheckBox7.TabIndex = 34;
- this.CheckBox7.Text = "Tempo gara";
- //
- // Label4
- //
- this.Label4.AutoSize = true;
- this.Label4.ForeColor = System.Drawing.Color.Black;
- this.Label4.Location = new System.Drawing.Point(8, 24);
- this.Label4.Name = "Label4";
- this.Label4.Size = new System.Drawing.Size(59, 13);
- this.Label4.TabIndex = 9;
- this.Label4.Text = "Orizzontale";
- //
- // TextBox4
- //
- this.TextBox4.Location = new System.Drawing.Point(72, 24);
- this.TextBox4.Name = "TextBox4";
- this.TextBox4.Size = new System.Drawing.Size(408, 20);
- this.TextBox4.TabIndex = 8;
- this.TextBox4.Text = "TextBox4";
- //
- // Label9
- //
- this.Label9.AutoSize = true;
- this.Label9.ForeColor = System.Drawing.Color.Black;
- this.Label9.Location = new System.Drawing.Point(8, 108);
- this.Label9.Name = "Label9";
- this.Label9.Size = new System.Drawing.Size(110, 13);
- this.Label9.TabIndex = 19;
- this.Label9.Text = "Trasparenza (0-100%)";
- //
- // TextBox28
- //
- this.TextBox28.Location = new System.Drawing.Point(72, 48);
- this.TextBox28.Name = "TextBox28";
- this.TextBox28.Size = new System.Drawing.Size(72, 20);
- this.TextBox28.TabIndex = 15;
- this.TextBox28.Text = "TextBox28";
- //
- // TabPage2
- //
- this.TabPage2.Controls.Add(this.GroupBox2);
- this.TabPage2.Location = new System.Drawing.Point(4, 22);
- this.TabPage2.Name = "TabPage2";
- this.TabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage2.Size = new System.Drawing.Size(513, 351);
- this.TabPage2.TabIndex = 5;
- this.TabPage2.Text = "Foto";
- this.TabPage2.UseVisualStyleBackColor = true;
- //
- // GroupBox2
- //
- this.GroupBox2.Controls.Add(this.Label45);
- this.GroupBox2.Controls.Add(this.TextBox32);
- this.GroupBox2.Controls.Add(this.TextBox26);
- this.GroupBox2.Controls.Add(this.Label37);
- this.GroupBox2.Controls.Add(this.Label38);
- this.GroupBox2.Controls.Add(this.TextBox27);
- this.GroupBox2.Controls.Add(this.Label39);
- this.GroupBox2.Controls.Add(this.TextBox28);
- this.GroupBox2.Controls.Add(this.CheckBox15);
- this.GroupBox2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox2.Location = new System.Drawing.Point(3, 6);
- this.GroupBox2.Name = "GroupBox2";
- this.GroupBox2.Size = new System.Drawing.Size(304, 156);
- this.GroupBox2.TabIndex = 36;
- this.GroupBox2.TabStop = false;
- this.GroupBox2.Text = "Foto grande";
- //
- // Label27
- //
- this.Label27.Location = new System.Drawing.Point(591, 378);
- this.Label27.Name = "Label27";
- this.Label27.Size = new System.Drawing.Size(145, 20);
- this.Label27.TabIndex = 78;
- this.Label27.Text = "Versione 2.2 2021";
- this.Label27.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
- // Button7
- //
- this.Button7.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Button7.Location = new System.Drawing.Point(539, 120);
- this.Button7.Name = "Button7";
- this.Button7.Size = new System.Drawing.Size(197, 40);
- this.Button7.TabIndex = 77;
- this.Button7.Text = "stop creazione";
- //
- // Button5
- //
- this.Button5.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Button5.Location = new System.Drawing.Point(539, 43);
- this.Button5.Name = "Button5";
- this.Button5.Size = new System.Drawing.Size(197, 32);
- this.Button5.TabIndex = 76;
- this.Button5.Text = "Salva impostazioni";
- //
- // PictureBox2
- //
- this.PictureBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.PictureBox2.Location = new System.Drawing.Point(144, 192);
- this.PictureBox2.Name = "PictureBox2";
- this.PictureBox2.Size = new System.Drawing.Size(24, 24);
- this.PictureBox2.TabIndex = 44;
- this.PictureBox2.TabStop = false;
- this.PictureBox2.Visible = false;
- //
- // PictureBox1
- //
- this.PictureBox1.Cursor = System.Windows.Forms.Cursors.Cross;
- this.PictureBox1.Location = new System.Drawing.Point(256, 56);
- this.PictureBox1.Name = "PictureBox1";
- this.PictureBox1.Size = new System.Drawing.Size(224, 160);
- this.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.PictureBox1.TabIndex = 43;
- this.PictureBox1.TabStop = false;
- //
- // ComboBox5
- //
- this.ComboBox5.Location = new System.Drawing.Point(144, 168);
- this.ComboBox5.Name = "ComboBox5";
- this.ComboBox5.Size = new System.Drawing.Size(96, 21);
- this.ComboBox5.TabIndex = 42;
- this.ComboBox5.Text = "ComboBox5";
- //
- // ComboBox4
- //
- this.ComboBox4.Location = new System.Drawing.Point(144, 144);
- this.ComboBox4.Name = "ComboBox4";
- this.ComboBox4.Size = new System.Drawing.Size(96, 21);
- this.ComboBox4.TabIndex = 41;
- this.ComboBox4.Text = "ComboBox4";
- //
- // Label19
- //
- this.Label19.AutoSize = true;
- this.Label19.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label19.Location = new System.Drawing.Point(544, 275);
- this.Label19.Name = "Label19";
- this.Label19.Size = new System.Drawing.Size(80, 16);
- this.Label19.TabIndex = 74;
- this.Label19.Text = "foto totali: ";
- //
- // Label18
- //
- this.Label18.AutoSize = true;
- this.Label18.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label18.Location = new System.Drawing.Point(648, 294);
- this.Label18.Name = "Label18";
- this.Label18.Size = new System.Drawing.Size(19, 20);
- this.Label18.TabIndex = 73;
- this.Label18.Text = "0";
- //
- // lblFotoTotaliNum
- //
- this.lblFotoTotaliNum.AutoSize = true;
- this.lblFotoTotaliNum.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.lblFotoTotaliNum.Location = new System.Drawing.Point(648, 275);
- this.lblFotoTotaliNum.Name = "lblFotoTotaliNum";
- this.lblFotoTotaliNum.Size = new System.Drawing.Size(19, 20);
- this.lblFotoTotaliNum.TabIndex = 72;
- this.lblFotoTotaliNum.Text = "0";
- //
- // Label10
- //
- this.Label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label10.Location = new System.Drawing.Point(539, 163);
- this.Label10.Name = "Label10";
- this.Label10.Size = new System.Drawing.Size(197, 72);
- this.Label10.TabIndex = 71;
- this.Label10.Text = "file";
- //
- // TextBox19
- //
- this.TextBox19.Location = new System.Drawing.Point(144, 96);
- this.TextBox19.Name = "TextBox19";
- this.TextBox19.Size = new System.Drawing.Size(96, 20);
- this.TextBox19.TabIndex = 40;
- this.TextBox19.Text = "TextBox19";
- //
- // Label28
- //
- this.Label28.ForeColor = System.Drawing.Color.Black;
- this.Label28.Location = new System.Drawing.Point(17, 97);
- this.Label28.Name = "Label28";
- this.Label28.Size = new System.Drawing.Size(120, 16);
- this.Label28.TabIndex = 39;
- this.Label28.Text = "Trasparenza (0-100%)";
- this.Label28.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // CheckBox5
- //
- this.CheckBox5.ForeColor = System.Drawing.Color.Black;
- this.CheckBox5.Location = new System.Drawing.Point(0, 26);
- this.CheckBox5.Name = "CheckBox5";
- this.CheckBox5.Size = new System.Drawing.Size(72, 20);
- this.CheckBox5.TabIndex = 38;
- this.CheckBox5.Text = "Aggiungi";
- //
- // TextBox15
- //
- this.TextBox15.Location = new System.Drawing.Point(144, 72);
- this.TextBox15.Name = "TextBox15";
- this.TextBox15.Size = new System.Drawing.Size(96, 20);
- this.TextBox15.TabIndex = 19;
- this.TextBox15.Text = "TextBox15";
- //
- // TextBox14
- //
- this.TextBox14.Location = new System.Drawing.Point(144, 48);
- this.TextBox14.Name = "TextBox14";
- this.TextBox14.Size = new System.Drawing.Size(96, 20);
- this.TextBox14.TabIndex = 18;
- this.TextBox14.Text = "TextBox14";
- //
- // Label25
- //
- this.Label25.AutoSize = true;
- this.Label25.ForeColor = System.Drawing.Color.Black;
- this.Label25.Location = new System.Drawing.Point(17, 168);
- this.Label25.Name = "Label25";
- this.Label25.Size = new System.Drawing.Size(95, 13);
- this.Label25.TabIndex = 36;
- this.Label25.Text = "Posizione verticale";
- this.Label25.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TextBox16
- //
- this.TextBox16.Location = new System.Drawing.Point(144, 120);
- this.TextBox16.Name = "TextBox16";
- this.TextBox16.Size = new System.Drawing.Size(96, 20);
- this.TextBox16.TabIndex = 35;
- this.TextBox16.Text = "TextBox16";
- //
- // btnCreaCatalogoAsync
- //
- this.btnCreaCatalogoAsync.Location = new System.Drawing.Point(647, 78);
- this.btnCreaCatalogoAsync.Name = "btnCreaCatalogoAsync";
- this.btnCreaCatalogoAsync.Size = new System.Drawing.Size(89, 38);
- this.btnCreaCatalogoAsync.TabIndex = 83;
- this.btnCreaCatalogoAsync.Text = "Crea 2";
- this.btnCreaCatalogoAsync.UseVisualStyleBackColor = true;
- //
- // Label20
- //
- this.Label20.AutoSize = true;
- this.Label20.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Label20.Location = new System.Drawing.Point(544, 294);
- this.Label20.Name = "Label20";
- this.Label20.Size = new System.Drawing.Size(104, 16);
- this.Label20.TabIndex = 75;
- this.Label20.Text = "foto generate:";
- //
- // btnCreaCatalogo
- //
- this.btnCreaCatalogo.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.btnCreaCatalogo.Location = new System.Drawing.Point(539, 77);
- this.btnCreaCatalogo.Name = "btnCreaCatalogo";
- this.btnCreaCatalogo.Size = new System.Drawing.Size(107, 39);
- this.btnCreaCatalogo.TabIndex = 69;
- this.btnCreaCatalogo.Text = "crea catalogo";
- //
- // Label24
- //
- this.Label24.AutoSize = true;
- this.Label24.ForeColor = System.Drawing.Color.Black;
- this.Label24.Location = new System.Drawing.Point(19, 123);
- this.Label24.Name = "Label24";
- this.Label24.Size = new System.Drawing.Size(88, 13);
- this.Label24.TabIndex = 34;
- this.Label24.Text = "Margine (pixel/%)";
- this.Label24.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label22
- //
- this.Label22.AutoSize = true;
- this.Label22.ForeColor = System.Drawing.Color.Black;
- this.Label22.Location = new System.Drawing.Point(19, 51);
- this.Label22.Name = "Label22";
- this.Label22.Size = new System.Drawing.Size(41, 13);
- this.Label22.TabIndex = 20;
- this.Label22.Text = "Altezza";
- this.Label22.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label23
- //
- this.Label23.AutoSize = true;
- this.Label23.ForeColor = System.Drawing.Color.Black;
- this.Label23.Location = new System.Drawing.Point(19, 75);
- this.Label23.Name = "Label23";
- this.Label23.Size = new System.Drawing.Size(56, 13);
- this.Label23.TabIndex = 21;
- this.Label23.Text = "Larghezza";
- this.Label23.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TextBox10
- //
- this.TextBox10.Location = new System.Drawing.Point(144, 24);
- this.TextBox10.Name = "TextBox10";
- this.TextBox10.Size = new System.Drawing.Size(312, 20);
- this.TextBox10.TabIndex = 6;
- this.TextBox10.Text = "TextBox10";
- //
- // Label29
- //
- this.Label29.AutoSize = true;
- this.Label29.ForeColor = System.Drawing.Color.Black;
- this.Label29.Location = new System.Drawing.Point(17, 147);
- this.Label29.Name = "Label29";
- this.Label29.Size = new System.Drawing.Size(105, 13);
- this.Label29.TabIndex = 36;
- this.Label29.Text = "Posizione orizzontale";
- this.Label29.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label30
- //
- this.Label30.AutoSize = true;
- this.Label30.ForeColor = System.Drawing.Color.Black;
- this.Label30.Location = new System.Drawing.Point(19, 203);
- this.Label30.Name = "Label30";
- this.Label30.Size = new System.Drawing.Size(93, 13);
- this.Label30.TabIndex = 36;
- this.Label30.Text = "Colore trasparente";
- this.Label30.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.Label30.Visible = false;
- //
- // PictureBox3
- //
- this.PictureBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.PictureBox3.Location = new System.Drawing.Point(216, 192);
- this.PictureBox3.Name = "PictureBox3";
- this.PictureBox3.Size = new System.Drawing.Size(24, 24);
- this.PictureBox3.TabIndex = 44;
- this.PictureBox3.TabStop = false;
- this.PictureBox3.Visible = false;
- //
- // GroupBox6
- //
- this.GroupBox6.Controls.Add(this.PictureBox2);
- this.GroupBox6.Controls.Add(this.PictureBox1);
- this.GroupBox6.Controls.Add(this.ComboBox5);
- this.GroupBox6.Controls.Add(this.ComboBox4);
- this.GroupBox6.Controls.Add(this.TextBox19);
- this.GroupBox6.Controls.Add(this.Label28);
- this.GroupBox6.Controls.Add(this.CheckBox5);
- this.GroupBox6.Controls.Add(this.TextBox15);
- this.GroupBox6.Controls.Add(this.TextBox14);
- this.GroupBox6.Controls.Add(this.Label25);
- this.GroupBox6.Controls.Add(this.TextBox16);
- this.GroupBox6.Controls.Add(this.Label24);
- this.GroupBox6.Controls.Add(this.Label22);
- this.GroupBox6.Controls.Add(this.Label23);
- this.GroupBox6.Controls.Add(this.Button4);
- this.GroupBox6.Controls.Add(this.TextBox10);
- this.GroupBox6.Controls.Add(this.Label29);
- this.GroupBox6.Controls.Add(this.Label30);
- this.GroupBox6.Controls.Add(this.PictureBox3);
- this.GroupBox6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox6.Location = new System.Drawing.Point(6, 6);
- this.GroupBox6.Name = "GroupBox6";
- this.GroupBox6.Size = new System.Drawing.Size(496, 224);
- this.GroupBox6.TabIndex = 42;
- this.GroupBox6.TabStop = false;
- this.GroupBox6.Text = "Logo";
- //
- // Button4
- //
- this.Button4.Location = new System.Drawing.Point(464, 24);
- this.Button4.Name = "Button4";
- this.Button4.Size = new System.Drawing.Size(24, 20);
- this.Button4.TabIndex = 8;
- this.Button4.Text = "...";
- //
- // TabPage4
- //
- this.TabPage4.Controls.Add(this.GroupBox6);
- this.TabPage4.Location = new System.Drawing.Point(4, 22);
- this.TabPage4.Name = "TabPage4";
- this.TabPage4.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage4.Size = new System.Drawing.Size(513, 351);
- this.TabPage4.TabIndex = 3;
- this.TabPage4.Text = "Logo";
- this.TabPage4.UseVisualStyleBackColor = true;
- //
- // Label13
- //
- this.Label13.AutoSize = true;
- this.Label13.ForeColor = System.Drawing.Color.Black;
- this.Label13.Location = new System.Drawing.Point(16, 132);
- this.Label13.Name = "Label13";
- this.Label13.Size = new System.Drawing.Size(52, 13);
- this.Label13.TabIndex = 29;
- this.Label13.Text = "Posizione";
- //
- // rdbNumFiles
- //
- this.rdbNumFiles.ForeColor = System.Drawing.Color.Black;
- this.rdbNumFiles.Location = new System.Drawing.Point(32, 128);
- this.rdbNumFiles.Name = "rdbNumFiles";
- this.rdbNumFiles.Size = new System.Drawing.Size(136, 16);
- this.rdbNumFiles.TabIndex = 38;
- this.rdbNumFiles.Text = "Numerazione files";
- //
- // rdbNumProgressiva
- //
- this.rdbNumProgressiva.Checked = true;
- this.rdbNumProgressiva.ForeColor = System.Drawing.Color.Black;
- this.rdbNumProgressiva.Location = new System.Drawing.Point(32, 112);
- this.rdbNumProgressiva.Name = "rdbNumProgressiva";
- this.rdbNumProgressiva.Size = new System.Drawing.Size(152, 16);
- this.rdbNumProgressiva.TabIndex = 37;
- this.rdbNumProgressiva.TabStop = true;
- this.rdbNumProgressiva.Text = "Numerazione progressiva";
- //
- // txtCifreContatore
- //
- this.txtCifreContatore.Location = new System.Drawing.Point(128, 88);
- this.txtCifreContatore.Name = "txtCifreContatore";
- this.txtCifreContatore.Size = new System.Drawing.Size(56, 20);
- this.txtCifreContatore.TabIndex = 34;
- this.txtCifreContatore.Text = "4";
- //
- // Label34
- //
- this.Label34.ForeColor = System.Drawing.Color.Black;
- this.Label34.Location = new System.Drawing.Point(8, 88);
- this.Label34.Name = "Label34";
- this.Label34.Size = new System.Drawing.Size(112, 16);
- this.Label34.TabIndex = 33;
- this.Label34.Text = "Num. cifre contatore";
- this.Label34.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
- //
- // txtSuffissoCartelle
- //
- this.txtSuffissoCartelle.Location = new System.Drawing.Point(56, 64);
- this.txtSuffissoCartelle.Name = "txtSuffissoCartelle";
- this.txtSuffissoCartelle.Size = new System.Drawing.Size(128, 20);
- this.txtSuffissoCartelle.TabIndex = 32;
- this.txtSuffissoCartelle.Text = "TextBox20";
- //
- // Label33
- //
- this.Label33.ForeColor = System.Drawing.Color.Black;
- this.Label33.Location = new System.Drawing.Point(6, 67);
- this.Label33.Name = "Label33";
- this.Label33.Size = new System.Drawing.Size(48, 16);
- this.Label33.TabIndex = 31;
- this.Label33.Text = "Suffisso";
- //
- // Label31
- //
- this.Label31.ForeColor = System.Drawing.Color.Black;
- this.Label31.Location = new System.Drawing.Point(24, 40);
- this.Label31.Name = "Label31";
- this.Label31.Size = new System.Drawing.Size(32, 16);
- this.Label31.TabIndex = 30;
- this.Label31.Text = "ogni";
- //
- // txtFilePerCartella
- //
- this.txtFilePerCartella.Location = new System.Drawing.Point(56, 40);
- this.txtFilePerCartella.Name = "txtFilePerCartella";
- this.txtFilePerCartella.Size = new System.Drawing.Size(64, 20);
- this.txtFilePerCartella.TabIndex = 27;
- this.txtFilePerCartella.Text = "99";
- //
- // GroupBox8
- //
- this.GroupBox8.Controls.Add(this.rdbNumFiles);
- this.GroupBox8.Controls.Add(this.rdbNumProgressiva);
- this.GroupBox8.Controls.Add(this.txtCifreContatore);
- this.GroupBox8.Controls.Add(this.Label34);
- this.GroupBox8.Controls.Add(this.txtSuffissoCartelle);
- this.GroupBox8.Controls.Add(this.Label33);
- this.GroupBox8.Controls.Add(this.Label31);
- this.GroupBox8.Controls.Add(this.chkCreaSottocartelle);
- this.GroupBox8.Controls.Add(this.txtFilePerCartella);
- this.GroupBox8.Controls.Add(this.Label32);
- this.GroupBox8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox8.Location = new System.Drawing.Point(204, 113);
- this.GroupBox8.Name = "GroupBox8";
- this.GroupBox8.Size = new System.Drawing.Size(192, 152);
- this.GroupBox8.TabIndex = 47;
- this.GroupBox8.TabStop = false;
- this.GroupBox8.Text = "Sottocartelle";
- //
- // chkCreaSottocartelle
- //
- this.chkCreaSottocartelle.ForeColor = System.Drawing.Color.Black;
- this.chkCreaSottocartelle.Location = new System.Drawing.Point(56, 16);
- this.chkCreaSottocartelle.Name = "chkCreaSottocartelle";
- this.chkCreaSottocartelle.Size = new System.Drawing.Size(112, 16);
- this.chkCreaSottocartelle.TabIndex = 29;
- this.chkCreaSottocartelle.Text = "crea sottocartelle";
- //
- // Label32
- //
- this.Label32.ForeColor = System.Drawing.Color.Black;
- this.Label32.Location = new System.Drawing.Point(128, 40);
- this.Label32.Name = "Label32";
- this.Label32.Size = new System.Drawing.Size(24, 16);
- this.Label32.TabIndex = 28;
- this.Label32.Text = "file";
- //
- // chkAggiornaSottodirectory
- //
- this.chkAggiornaSottodirectory.ForeColor = System.Drawing.Color.Black;
- this.chkAggiornaSottodirectory.Location = new System.Drawing.Point(80, 64);
- this.chkAggiornaSottodirectory.Name = "chkAggiornaSottodirectory";
- this.chkAggiornaSottodirectory.Size = new System.Drawing.Size(152, 24);
- this.chkAggiornaSottodirectory.TabIndex = 25;
- this.chkAggiornaSottodirectory.Text = "aggiorna le sottodirectory";
- //
- // GroupBox3
- //
- this.GroupBox3.Controls.Add(this.chkAggiornaSottodirectory);
- this.GroupBox3.Controls.Add(this.Button3);
- this.GroupBox3.Controls.Add(this.Button2);
- this.GroupBox3.Controls.Add(this.Label1);
- this.GroupBox3.Controls.Add(this.Label2);
- this.GroupBox3.Controls.Add(this.txtSorgente);
- this.GroupBox3.Controls.Add(this.txtDestinazione);
- this.GroupBox3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox3.Location = new System.Drawing.Point(6, 6);
- this.GroupBox3.Name = "GroupBox3";
- this.GroupBox3.Size = new System.Drawing.Size(496, 101);
- this.GroupBox3.TabIndex = 35;
- this.GroupBox3.TabStop = false;
- this.GroupBox3.Text = "Directory";
- //
- // Button3
- //
- this.Button3.Location = new System.Drawing.Point(462, 40);
- this.Button3.Name = "Button3";
- this.Button3.Size = new System.Drawing.Size(24, 20);
- this.Button3.TabIndex = 6;
- this.Button3.Text = "...";
- //
- // Button2
- //
- this.Button2.Location = new System.Drawing.Point(462, 16);
- this.Button2.Name = "Button2";
- this.Button2.Size = new System.Drawing.Size(24, 20);
- this.Button2.TabIndex = 5;
- this.Button2.Text = "...";
- //
- // Label1
- //
- this.Label1.AutoSize = true;
- this.Label1.ForeColor = System.Drawing.Color.Black;
- this.Label1.Location = new System.Drawing.Point(6, 19);
- this.Label1.Name = "Label1";
- this.Label1.Size = new System.Drawing.Size(50, 13);
- this.Label1.TabIndex = 3;
- this.Label1.Text = "Sorgente";
- //
- // Label2
- //
- this.Label2.AutoSize = true;
- this.Label2.ForeColor = System.Drawing.Color.Black;
- this.Label2.Location = new System.Drawing.Point(6, 43);
- this.Label2.Name = "Label2";
- this.Label2.Size = new System.Drawing.Size(68, 13);
- this.Label2.TabIndex = 4;
- this.Label2.Text = "Destinazione";
- //
- // txtSorgente
- //
- this.txtSorgente.Location = new System.Drawing.Point(80, 16);
- this.txtSorgente.Name = "txtSorgente";
- this.txtSorgente.Size = new System.Drawing.Size(376, 20);
- this.txtSorgente.TabIndex = 0;
- this.txtSorgente.Text = "TextBox1";
- //
- // txtDestinazione
- //
- this.txtDestinazione.Location = new System.Drawing.Point(80, 40);
- this.txtDestinazione.Name = "txtDestinazione";
- this.txtDestinazione.Size = new System.Drawing.Size(376, 20);
- this.txtDestinazione.TabIndex = 1;
- this.txtDestinazione.Text = "TextBox2";
- //
- // ProgressBar1
- //
- this.ProgressBar1.Location = new System.Drawing.Point(539, 243);
- this.ProgressBar1.Name = "ProgressBar1";
- this.ProgressBar1.Size = new System.Drawing.Size(197, 23);
- this.ProgressBar1.TabIndex = 82;
- //
- // CheckBox22
- //
- this.CheckBox22.AutoSize = true;
- this.CheckBox22.Location = new System.Drawing.Point(544, 358);
- this.CheckBox22.Name = "CheckBox22";
- this.CheckBox22.Size = new System.Drawing.Size(104, 17);
- this.CheckBox22.TabIndex = 81;
- this.CheckBox22.Text = "Arresta il sistema";
- this.CheckBox22.UseVisualStyleBackColor = true;
- //
- // Label43
- //
- this.Label43.AutoSize = true;
- this.Label43.Location = new System.Drawing.Point(541, 342);
- this.Label43.Name = "Label43";
- this.Label43.Size = new System.Drawing.Size(25, 13);
- this.Label43.TabIndex = 80;
- this.Label43.Text = "000";
- this.Label43.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TabControl1
- //
- this.TabControl1.Controls.Add(this.TabPage5);
- this.TabControl1.Controls.Add(this.TabPage3);
- this.TabControl1.Controls.Add(this.TabPage2);
- this.TabControl1.Controls.Add(this.TabPage1);
- this.TabControl1.Controls.Add(this.TabPage4);
- this.TabControl1.Location = new System.Drawing.Point(12, 12);
- this.TabControl1.Name = "TabControl1";
- this.TabControl1.SelectedIndex = 0;
- this.TabControl1.Size = new System.Drawing.Size(526, 377);
- this.TabControl1.TabIndex = 79;
- //
- // TabPage5
- //
- this.TabPage5.Controls.Add(this.GroupBox11);
- this.TabPage5.Controls.Add(this.GroupBox3);
- this.TabPage5.Controls.Add(this.GroupBox8);
- this.TabPage5.Controls.Add(this.GroupBox7);
- this.TabPage5.Location = new System.Drawing.Point(4, 22);
- this.TabPage5.Name = "TabPage5";
- this.TabPage5.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage5.Size = new System.Drawing.Size(518, 351);
- this.TabPage5.TabIndex = 4;
- this.TabPage5.Text = "Generale";
- this.TabPage5.UseVisualStyleBackColor = true;
- //
- // GroupBox11
- //
- this.GroupBox11.Controls.Add(this.Panel3);
- this.GroupBox11.Controls.Add(this.Label8);
- this.GroupBox11.Controls.Add(this.TextBox8);
- this.GroupBox11.Controls.Add(this.Label7);
- this.GroupBox11.Controls.Add(this.TextBox7);
- this.GroupBox11.Location = new System.Drawing.Point(7, 209);
- this.GroupBox11.Name = "GroupBox11";
- this.GroupBox11.Size = new System.Drawing.Size(191, 132);
- this.GroupBox11.TabIndex = 48;
- this.GroupBox11.TabStop = false;
- this.GroupBox11.Text = "Avanzate (ATTENZIONE)";
- //
- // Panel3
- //
- this.Panel3.Controls.Add(this.rdbNuovoMetodo);
- this.Panel3.Controls.Add(this.rdbVecchioMetodo);
- this.Panel3.Location = new System.Drawing.Point(7, 73);
- this.Panel3.Name = "Panel3";
- this.Panel3.Size = new System.Drawing.Size(178, 53);
- this.Panel3.TabIndex = 4;
- //
- // rdbNuovoMetodo
- //
- this.rdbNuovoMetodo.AutoSize = true;
- this.rdbNuovoMetodo.Checked = true;
- this.rdbNuovoMetodo.Location = new System.Drawing.Point(8, 28);
- this.rdbNuovoMetodo.Name = "rdbNuovoMetodo";
- this.rdbNuovoMetodo.Size = new System.Drawing.Size(95, 17);
- this.rdbNuovoMetodo.TabIndex = 1;
- this.rdbNuovoMetodo.TabStop = true;
- this.rdbNuovoMetodo.Text = "Nuovo metodo";
- this.rdbNuovoMetodo.UseVisualStyleBackColor = true;
- //
- // rdbVecchioMetodo
- //
- this.rdbVecchioMetodo.AutoSize = true;
- this.rdbVecchioMetodo.Location = new System.Drawing.Point(8, 4);
- this.rdbVecchioMetodo.Name = "rdbVecchioMetodo";
- this.rdbVecchioMetodo.Size = new System.Drawing.Size(102, 17);
- this.rdbVecchioMetodo.TabIndex = 0;
- this.rdbVecchioMetodo.Text = "Vecchio metodo";
- this.rdbVecchioMetodo.UseVisualStyleBackColor = true;
- //
- // Label8
- //
- this.Label8.AutoSize = true;
- this.Label8.Location = new System.Drawing.Point(64, 26);
- this.Label8.Name = "Label8";
- this.Label8.Size = new System.Drawing.Size(111, 13);
- this.Label8.TabIndex = 3;
- this.Label8.Text = "Chunk Size (0 = MAX)";
- //
- // TextBox8
- //
- this.TextBox8.Location = new System.Drawing.Point(7, 20);
- this.TextBox8.Name = "TextBox8";
- this.TextBox8.Size = new System.Drawing.Size(47, 20);
- this.TextBox8.TabIndex = 2;
- this.TextBox8.Text = "0";
- //
- // Label7
- //
- this.Label7.AutoSize = true;
- this.Label7.Location = new System.Drawing.Point(61, 48);
- this.Label7.Name = "Label7";
- this.Label7.Size = new System.Drawing.Size(108, 13);
- this.Label7.TabIndex = 1;
- this.Label7.Text = "Threads (0 = CPU *2)";
- //
- // TextBox7
- //
- this.TextBox7.Location = new System.Drawing.Point(7, 46);
- this.TextBox7.Name = "TextBox7";
- this.TextBox7.Size = new System.Drawing.Size(47, 20);
- this.TextBox7.TabIndex = 0;
- this.TextBox7.Text = "0";
- //
- // GroupBox7
- //
- this.GroupBox7.Controls.Add(this.chkSovrascriviFile);
- this.GroupBox7.Controls.Add(this.chkRotazioneAutomatica);
- this.GroupBox7.Controls.Add(this.chkForzaJpg);
- this.GroupBox7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox7.Location = new System.Drawing.Point(6, 113);
- this.GroupBox7.Name = "GroupBox7";
- this.GroupBox7.Size = new System.Drawing.Size(192, 88);
- this.GroupBox7.TabIndex = 45;
- this.GroupBox7.TabStop = false;
- this.GroupBox7.Text = "Generale";
- //
- // chkSovrascriviFile
- //
- this.chkSovrascriviFile.AutoSize = true;
- this.chkSovrascriviFile.Location = new System.Drawing.Point(16, 61);
- this.chkSovrascriviFile.Name = "chkSovrascriviFile";
- this.chkSovrascriviFile.Size = new System.Drawing.Size(94, 17);
- this.chkSovrascriviFile.TabIndex = 2;
- this.chkSovrascriviFile.Text = "Sovrascrivi file";
- this.chkSovrascriviFile.UseVisualStyleBackColor = true;
- //
- // chkRotazioneAutomatica
- //
- this.chkRotazioneAutomatica.ForeColor = System.Drawing.Color.Black;
- this.chkRotazioneAutomatica.Location = new System.Drawing.Point(16, 39);
- this.chkRotazioneAutomatica.Name = "chkRotazioneAutomatica";
- this.chkRotazioneAutomatica.Size = new System.Drawing.Size(136, 16);
- this.chkRotazioneAutomatica.TabIndex = 1;
- this.chkRotazioneAutomatica.Text = "Rotazione automatica";
- //
- // chkForzaJpg
- //
- this.chkForzaJpg.Checked = true;
- this.chkForzaJpg.CheckState = System.Windows.Forms.CheckState.Checked;
- this.chkForzaJpg.ForeColor = System.Drawing.Color.Black;
- this.chkForzaJpg.Location = new System.Drawing.Point(16, 18);
- this.chkForzaJpg.Name = "chkForzaJpg";
- this.chkForzaJpg.Size = new System.Drawing.Size(80, 16);
- this.chkForzaJpg.TabIndex = 0;
- this.chkForzaJpg.Text = "Forza Jpg";
- //
- // TabPage3
- //
- this.TabPage3.Controls.Add(this.CheckBox2);
- this.TabPage3.Controls.Add(this.GroupBox10);
- this.TabPage3.Controls.Add(this.GroupBox9);
- this.TabPage3.Controls.Add(this.GroupBox5);
- this.TabPage3.Controls.Add(this.GroupBox4);
- this.TabPage3.Location = new System.Drawing.Point(4, 22);
- this.TabPage3.Name = "TabPage3";
- this.TabPage3.Padding = new System.Windows.Forms.Padding(3);
- this.TabPage3.Size = new System.Drawing.Size(513, 351);
- this.TabPage3.TabIndex = 2;
- this.TabPage3.Text = "Testo";
- this.TabPage3.UseVisualStyleBackColor = true;
- //
- // CheckBox2
- //
- this.CheckBox2.AutoSize = true;
- this.CheckBox2.Location = new System.Drawing.Point(7, 8);
- this.CheckBox2.Name = "CheckBox2";
- this.CheckBox2.Size = new System.Drawing.Size(93, 17);
- this.CheckBox2.TabIndex = 40;
- this.CheckBox2.Text = "Aggiungi testo";
- this.CheckBox2.UseVisualStyleBackColor = true;
- //
- // GroupBox10
- //
- this.GroupBox10.Controls.Add(this.Label42);
- this.GroupBox10.Controls.Add(this.Label41);
- this.GroupBox10.Controls.Add(this.TextBox31);
- this.GroupBox10.Controls.Add(this.TextBox30);
- this.GroupBox10.Location = new System.Drawing.Point(316, 78);
- this.GroupBox10.Name = "GroupBox10";
- this.GroupBox10.Size = new System.Drawing.Size(186, 73);
- this.GroupBox10.TabIndex = 39;
- this.GroupBox10.TabStop = false;
- this.GroupBox10.Text = "Testo foto verticali";
- //
- // Label42
- //
- this.Label42.AutoSize = true;
- this.Label42.Location = new System.Drawing.Point(7, 46);
- this.Label42.Name = "Label42";
- this.Label42.Size = new System.Drawing.Size(45, 13);
- this.Label42.TabIndex = 3;
- this.Label42.Text = "Margine";
- //
- // Label41
- //
- this.Label41.AutoSize = true;
- this.Label41.Location = new System.Drawing.Point(7, 25);
- this.Label41.Name = "Label41";
- this.Label41.Size = new System.Drawing.Size(108, 13);
- this.Label41.TabIndex = 2;
- this.Label41.Text = "Dimensione Carattere";
- //
- // TextBox31
- //
- this.TextBox31.Location = new System.Drawing.Point(131, 46);
- this.TextBox31.Name = "TextBox31";
- this.TextBox31.Size = new System.Drawing.Size(39, 20);
- this.TextBox31.TabIndex = 1;
- //
- // TextBox30
- //
- this.TextBox30.Location = new System.Drawing.Point(131, 22);
- this.TextBox30.Name = "TextBox30";
- this.TextBox30.Size = new System.Drawing.Size(39, 20);
- this.TextBox30.TabIndex = 0;
- //
- // GroupBox9
- //
- this.GroupBox9.Controls.Add(this.CheckBox17);
- this.GroupBox9.Controls.Add(this.CheckBox16);
- this.GroupBox9.Location = new System.Drawing.Point(316, 31);
- this.GroupBox9.Name = "GroupBox9";
- this.GroupBox9.Size = new System.Drawing.Size(186, 45);
- this.GroupBox9.TabIndex = 38;
- this.GroupBox9.TabStop = false;
- this.GroupBox9.Text = "Slide show";
- //
- // CheckBox17
- //
- this.CheckBox17.AutoSize = true;
- this.CheckBox17.Location = new System.Drawing.Point(96, 18);
- this.CheckBox17.Name = "CheckBox17";
- this.CheckBox17.Size = new System.Drawing.Size(84, 17);
- this.CheckBox17.TabIndex = 1;
- this.CheckBox17.Text = "Numero foto";
- this.CheckBox17.UseVisualStyleBackColor = true;
- //
- // CheckBox16
- //
- this.CheckBox16.AutoSize = true;
- this.CheckBox16.Location = new System.Drawing.Point(6, 19);
- this.CheckBox16.Name = "CheckBox16";
- this.CheckBox16.Size = new System.Drawing.Size(49, 17);
- this.CheckBox16.TabIndex = 0;
- this.CheckBox16.Text = "Data";
- this.CheckBox16.UseVisualStyleBackColor = true;
- //
- // GroupBox5
- //
- this.GroupBox5.Controls.Add(this.TextBox34);
- this.GroupBox5.Controls.Add(this.Button8);
- this.GroupBox5.Controls.Add(this.Label36);
- this.GroupBox5.Controls.Add(this.TextBox25);
- this.GroupBox5.Controls.Add(this.Label35);
- this.GroupBox5.Controls.Add(this.ComboBox3);
- this.GroupBox5.Controls.Add(this.TextBox11);
- this.GroupBox5.Controls.Add(this.Label12);
- this.GroupBox5.Controls.Add(this.Label11);
- this.GroupBox5.Controls.Add(this.CheckBox3);
- this.GroupBox5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox5.Location = new System.Drawing.Point(6, 31);
- this.GroupBox5.Name = "GroupBox5";
- this.GroupBox5.Size = new System.Drawing.Size(304, 120);
- this.GroupBox5.TabIndex = 37;
- this.GroupBox5.TabStop = false;
- this.GroupBox5.Text = "Carattere";
- //
- // TextBox34
- //
- this.TextBox34.Location = new System.Drawing.Point(160, 91);
- this.TextBox34.Name = "TextBox34";
- this.TextBox34.Size = new System.Drawing.Size(56, 20);
- this.TextBox34.TabIndex = 36;
- this.TextBox34.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
- //
- // Button8
- //
- this.Button8.ForeColor = System.Drawing.Color.Black;
- this.Button8.Location = new System.Drawing.Point(222, 89);
- this.Button8.Name = "Button8";
- this.Button8.Size = new System.Drawing.Size(74, 24);
- this.Button8.TabIndex = 35;
- this.Button8.Text = "Scegli...";
- //
- // Label36
- //
- this.Label36.ForeColor = System.Drawing.Color.Black;
- this.Label36.Location = new System.Drawing.Point(8, 60);
- this.Label36.Name = "Label36";
- this.Label36.Size = new System.Drawing.Size(120, 19);
- this.Label36.TabIndex = 34;
- this.Label36.Text = "Dimensione miniatura";
- this.Label36.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // TextBox25
- //
- this.TextBox25.Location = new System.Drawing.Point(160, 59);
- this.TextBox25.Name = "TextBox25";
- this.TextBox25.Size = new System.Drawing.Size(56, 20);
- this.TextBox25.TabIndex = 33;
- this.TextBox25.Text = "TextBox25";
- //
- // Label35
- //
- this.Label35.ForeColor = System.Drawing.Color.Black;
- this.Label35.Location = new System.Drawing.Point(8, 93);
- this.Label35.Name = "Label35";
- this.Label35.Size = new System.Drawing.Size(72, 16);
- this.Label35.TabIndex = 32;
- this.Label35.Text = "Colore RGB";
- this.Label35.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // ComboBox3
- //
- this.ComboBox3.Location = new System.Drawing.Point(96, 8);
- this.ComboBox3.Name = "ComboBox3";
- this.ComboBox3.Size = new System.Drawing.Size(120, 21);
- this.ComboBox3.TabIndex = 28;
- this.ComboBox3.Text = "ComboBox3";
- //
- // TextBox11
- //
- this.TextBox11.Location = new System.Drawing.Point(160, 35);
- this.TextBox11.Name = "TextBox11";
- this.TextBox11.Size = new System.Drawing.Size(56, 20);
- this.TextBox11.TabIndex = 27;
- this.TextBox11.Text = "TextBox11";
- //
- // Label12
- //
- this.Label12.AutoSize = true;
- this.Label12.ForeColor = System.Drawing.Color.Black;
- this.Label12.Location = new System.Drawing.Point(8, 38);
- this.Label12.Name = "Label12";
- this.Label12.Size = new System.Drawing.Size(62, 13);
- this.Label12.TabIndex = 26;
- this.Label12.Text = "Dimensione";
- this.Label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // Label11
- //
- this.Label11.AutoSize = true;
- this.Label11.ForeColor = System.Drawing.Color.Black;
- this.Label11.Location = new System.Drawing.Point(56, 8);
- this.Label11.Name = "Label11";
- this.Label11.Size = new System.Drawing.Size(28, 13);
- this.Label11.TabIndex = 22;
- this.Label11.Text = "Font";
- //
- // CheckBox3
- //
- this.CheckBox3.ForeColor = System.Drawing.Color.Black;
- this.CheckBox3.Location = new System.Drawing.Point(224, 8);
- this.CheckBox3.Name = "CheckBox3";
- this.CheckBox3.Size = new System.Drawing.Size(72, 24);
- this.CheckBox3.TabIndex = 24;
- this.CheckBox3.Text = "Grassetto";
- //
- // GroupBox4
- //
- this.GroupBox4.Controls.Add(this.Label40);
- this.GroupBox4.Controls.Add(this.TextBox29);
- this.GroupBox4.Controls.Add(this.TextBox18);
- this.GroupBox4.Controls.Add(this.Label26);
- this.GroupBox4.Controls.Add(this.DateTimePicker1);
- this.GroupBox4.Controls.Add(this.CheckBox8);
- this.GroupBox4.Controls.Add(this.TextBox9);
- this.GroupBox4.Controls.Add(this.CheckBox7);
- this.GroupBox4.Controls.Add(this.Label4);
- this.GroupBox4.Controls.Add(this.TextBox4);
- this.GroupBox4.Controls.Add(this.Label9);
- this.GroupBox4.Controls.Add(this.Label13);
- this.GroupBox4.Controls.Add(this.ComboBox1);
- this.GroupBox4.Controls.Add(this.ComboBox2);
- this.GroupBox4.Controls.Add(this.Label14);
- this.GroupBox4.Controls.Add(this.TextBox12);
- this.GroupBox4.Controls.Add(this.Label15);
- this.GroupBox4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.GroupBox4.Location = new System.Drawing.Point(6, 157);
- this.GroupBox4.Name = "GroupBox4";
- this.GroupBox4.Size = new System.Drawing.Size(496, 186);
- this.GroupBox4.TabIndex = 36;
- this.GroupBox4.TabStop = false;
- this.GroupBox4.Text = "Testo da applicare";
- //
- // ComboBox1
- //
- this.ComboBox1.Location = new System.Drawing.Point(72, 132);
- this.ComboBox1.Name = "ComboBox1";
- this.ComboBox1.Size = new System.Drawing.Size(104, 21);
- this.ComboBox1.TabIndex = 28;
- this.ComboBox1.Text = "ComboBox1";
- //
- // ComboBox2
- //
- this.ComboBox2.Location = new System.Drawing.Point(376, 132);
- this.ComboBox2.Name = "ComboBox2";
- this.ComboBox2.Size = new System.Drawing.Size(104, 21);
- this.ComboBox2.TabIndex = 31;
- this.ComboBox2.Text = "ComboBox2";
- //
- // Label14
- //
- this.Label14.AutoSize = true;
- this.Label14.ForeColor = System.Drawing.Color.Black;
- this.Label14.Location = new System.Drawing.Point(304, 132);
- this.Label14.Name = "Label14";
- this.Label14.Size = new System.Drawing.Size(67, 13);
- this.Label14.TabIndex = 30;
- this.Label14.Text = "Allineamento";
- //
- // TextBox12
- //
- this.TextBox12.Location = new System.Drawing.Point(376, 108);
- this.TextBox12.Name = "TextBox12";
- this.TextBox12.Size = new System.Drawing.Size(104, 20);
- this.TextBox12.TabIndex = 33;
- this.TextBox12.Text = "TextBox12";
- //
- // Label15
- //
- this.Label15.AutoSize = true;
- this.Label15.ForeColor = System.Drawing.Color.Black;
- this.Label15.Location = new System.Drawing.Point(296, 108);
- this.Label15.Name = "Label15";
- this.Label15.Size = new System.Drawing.Size(75, 13);
- this.Label15.TabIndex = 32;
- this.Label15.Text = "Margine (pixel)";
- //
- // Button6
- //
- this.Button6.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.Button6.Location = new System.Drawing.Point(539, 12);
- this.Button6.Name = "Button6";
- this.Button6.Size = new System.Drawing.Size(197, 32);
- this.Button6.TabIndex = 70;
- this.Button6.Text = "Carica impostazioni";
- //
- // Form1
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 450);
- this.Controls.Add(this.Label27);
- this.Controls.Add(this.Button7);
- this.Controls.Add(this.Button5);
- this.Controls.Add(this.Label19);
- this.Controls.Add(this.Label18);
- this.Controls.Add(this.lblFotoTotaliNum);
- this.Controls.Add(this.Label10);
- this.Controls.Add(this.btnCreaCatalogoAsync);
- this.Controls.Add(this.Label20);
- this.Controls.Add(this.btnCreaCatalogo);
- this.Controls.Add(this.ProgressBar1);
- this.Controls.Add(this.CheckBox22);
- this.Controls.Add(this.Label43);
- this.Controls.Add(this.TabControl1);
- this.Controls.Add(this.Button6);
- this.Name = "Form1";
- this.Text = "Form1";
- this.TabPage1.ResumeLayout(false);
- this.Panel1.ResumeLayout(false);
- this.Panel1.PerformLayout();
- this.GroupBox1.ResumeLayout(false);
- this.GroupBox1.PerformLayout();
- this.Panel2.ResumeLayout(false);
- this.Panel2.PerformLayout();
- this.TabPage2.ResumeLayout(false);
- this.GroupBox2.ResumeLayout(false);
- this.GroupBox2.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.PictureBox3)).EndInit();
- this.GroupBox6.ResumeLayout(false);
- this.GroupBox6.PerformLayout();
- this.TabPage4.ResumeLayout(false);
- this.GroupBox8.ResumeLayout(false);
- this.GroupBox8.PerformLayout();
- this.GroupBox3.ResumeLayout(false);
- this.GroupBox3.PerformLayout();
- this.TabControl1.ResumeLayout(false);
- this.TabPage5.ResumeLayout(false);
- this.GroupBox11.ResumeLayout(false);
- this.GroupBox11.PerformLayout();
- this.Panel3.ResumeLayout(false);
- this.Panel3.PerformLayout();
- this.GroupBox7.ResumeLayout(false);
- this.GroupBox7.PerformLayout();
- this.TabPage3.ResumeLayout(false);
- this.TabPage3.PerformLayout();
- this.GroupBox10.ResumeLayout(false);
- this.GroupBox10.PerformLayout();
- this.GroupBox9.ResumeLayout(false);
- this.GroupBox9.PerformLayout();
- this.GroupBox5.ResumeLayout(false);
- this.GroupBox5.PerformLayout();
- this.GroupBox4.ResumeLayout(false);
- this.GroupBox4.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- internal System.Windows.Forms.TabPage TabPage1;
- internal System.Windows.Forms.Panel Panel1;
- internal System.Windows.Forms.CheckBox CheckBox18;
- internal System.Windows.Forms.CheckBox CheckBox4;
- internal System.Windows.Forms.CheckBox CheckBox12;
- internal System.Windows.Forms.GroupBox GroupBox1;
- internal System.Windows.Forms.Label Label46;
- internal System.Windows.Forms.TextBox TextBox33;
- internal System.Windows.Forms.Panel Panel2;
- internal System.Windows.Forms.RadioButton RadioButton3;
- internal System.Windows.Forms.RadioButton RadioButton7;
- internal System.Windows.Forms.RadioButton RadioButton4;
- internal System.Windows.Forms.RadioButton RadioButton6;
- internal System.Windows.Forms.RadioButton RadioButton5;
- internal System.Windows.Forms.Label Label5;
- internal System.Windows.Forms.TextBox TextBox5;
- internal System.Windows.Forms.Label Label6;
- internal System.Windows.Forms.TextBox TextBox6;
- internal System.Windows.Forms.Label Label3;
- internal System.Windows.Forms.TextBox TextBox3;
- internal System.Windows.Forms.CheckBox CheckBox1;
- internal System.Windows.Forms.Label Label37;
- internal System.Windows.Forms.Label Label38;
- internal System.Windows.Forms.Label Label45;
- internal System.Windows.Forms.TextBox TextBox32;
- internal System.Windows.Forms.TextBox TextBox26;
- internal System.Windows.Forms.TextBox TextBox27;
- internal System.Windows.Forms.Label Label39;
- internal System.Windows.Forms.CheckBox CheckBox15;
- internal System.Windows.Forms.Label Label40;
- internal System.Windows.Forms.TextBox TextBox29;
- internal System.Windows.Forms.TextBox TextBox18;
- internal System.Windows.Forms.Label Label26;
- internal System.Windows.Forms.DateTimePicker DateTimePicker1;
- internal System.Windows.Forms.CheckBox CheckBox8;
- internal System.Windows.Forms.TextBox TextBox9;
- internal System.Windows.Forms.CheckBox CheckBox7;
- internal System.Windows.Forms.Label Label4;
- internal System.Windows.Forms.TextBox TextBox4;
- internal System.Windows.Forms.Label Label9;
- internal System.Windows.Forms.TextBox TextBox28;
- internal System.Windows.Forms.TabPage TabPage2;
- internal System.Windows.Forms.GroupBox GroupBox2;
- internal System.Windows.Forms.Label Label27;
- internal System.Windows.Forms.Button Button7;
- internal System.Windows.Forms.Button Button5;
- internal System.Windows.Forms.PictureBox PictureBox2;
- internal System.Windows.Forms.PictureBox PictureBox1;
- internal System.Windows.Forms.ComboBox ComboBox5;
- internal System.Windows.Forms.ComboBox ComboBox4;
- internal System.Windows.Forms.Label Label19;
- internal System.Windows.Forms.Label Label18;
- internal System.Windows.Forms.Label lblFotoTotaliNum;
- internal System.Windows.Forms.Label Label10;
- internal System.Windows.Forms.TextBox TextBox19;
- internal System.Windows.Forms.Label Label28;
- internal System.Windows.Forms.CheckBox CheckBox5;
- internal System.Windows.Forms.TextBox TextBox15;
- internal System.Windows.Forms.TextBox TextBox14;
- internal System.Windows.Forms.Label Label25;
- internal System.Windows.Forms.TextBox TextBox16;
- internal System.Windows.Forms.Button btnCreaCatalogoAsync;
- internal System.Windows.Forms.Label Label20;
- internal System.Windows.Forms.Button btnCreaCatalogo;
- internal System.Windows.Forms.Label Label24;
- internal System.Windows.Forms.Label Label22;
- internal System.Windows.Forms.Label Label23;
- internal System.Windows.Forms.TextBox TextBox10;
- internal System.Windows.Forms.Label Label29;
- internal System.Windows.Forms.Label Label30;
- internal System.Windows.Forms.PictureBox PictureBox3;
- internal System.Windows.Forms.GroupBox GroupBox6;
- internal System.Windows.Forms.Button Button4;
- internal System.Windows.Forms.TabPage TabPage4;
- internal System.Windows.Forms.Label Label13;
- internal System.Windows.Forms.RadioButton rdbNumFiles;
- internal System.Windows.Forms.RadioButton rdbNumProgressiva;
- internal System.Windows.Forms.TextBox txtCifreContatore;
- internal System.Windows.Forms.Label Label34;
- internal System.Windows.Forms.TextBox txtSuffissoCartelle;
- internal System.Windows.Forms.Label Label33;
- internal System.Windows.Forms.Label Label31;
- internal System.Windows.Forms.TextBox txtFilePerCartella;
- internal System.Windows.Forms.GroupBox GroupBox8;
- internal System.Windows.Forms.CheckBox chkCreaSottocartelle;
- internal System.Windows.Forms.Label Label32;
- internal System.Windows.Forms.CheckBox chkAggiornaSottodirectory;
- internal System.Windows.Forms.GroupBox GroupBox3;
- internal System.Windows.Forms.Button Button3;
- internal System.Windows.Forms.Button Button2;
- internal System.Windows.Forms.Label Label1;
- internal System.Windows.Forms.Label Label2;
- internal System.Windows.Forms.TextBox txtSorgente;
- internal System.Windows.Forms.TextBox txtDestinazione;
- internal System.Windows.Forms.ProgressBar ProgressBar1;
- internal System.Windows.Forms.CheckBox CheckBox22;
- internal System.Windows.Forms.Label Label43;
- internal System.Windows.Forms.TabControl TabControl1;
- internal System.Windows.Forms.TabPage TabPage5;
- internal System.Windows.Forms.GroupBox GroupBox11;
- internal System.Windows.Forms.Panel Panel3;
- internal System.Windows.Forms.RadioButton rdbNuovoMetodo;
- internal System.Windows.Forms.RadioButton rdbVecchioMetodo;
- internal System.Windows.Forms.Label Label8;
- internal System.Windows.Forms.TextBox TextBox8;
- internal System.Windows.Forms.Label Label7;
- internal System.Windows.Forms.TextBox TextBox7;
- internal System.Windows.Forms.GroupBox GroupBox7;
- internal System.Windows.Forms.CheckBox chkSovrascriviFile;
- internal System.Windows.Forms.CheckBox chkRotazioneAutomatica;
- internal System.Windows.Forms.CheckBox chkForzaJpg;
- internal System.Windows.Forms.TabPage TabPage3;
- internal System.Windows.Forms.CheckBox CheckBox2;
- internal System.Windows.Forms.GroupBox GroupBox10;
- internal System.Windows.Forms.Label Label42;
- internal System.Windows.Forms.Label Label41;
- internal System.Windows.Forms.TextBox TextBox31;
- internal System.Windows.Forms.TextBox TextBox30;
- internal System.Windows.Forms.GroupBox GroupBox9;
- internal System.Windows.Forms.CheckBox CheckBox17;
- internal System.Windows.Forms.CheckBox CheckBox16;
- internal System.Windows.Forms.GroupBox GroupBox5;
- internal System.Windows.Forms.TextBox TextBox34;
- internal System.Windows.Forms.Button Button8;
- internal System.Windows.Forms.Label Label36;
- internal System.Windows.Forms.TextBox TextBox25;
- internal System.Windows.Forms.Label Label35;
- internal System.Windows.Forms.ComboBox ComboBox3;
- internal System.Windows.Forms.TextBox TextBox11;
- internal System.Windows.Forms.Label Label12;
- internal System.Windows.Forms.Label Label11;
- internal System.Windows.Forms.CheckBox CheckBox3;
- internal System.Windows.Forms.GroupBox GroupBox4;
- internal System.Windows.Forms.ComboBox ComboBox1;
- internal System.Windows.Forms.ComboBox ComboBox2;
- internal System.Windows.Forms.Label Label14;
- internal System.Windows.Forms.TextBox TextBox12;
- internal System.Windows.Forms.Label Label15;
- internal System.Windows.Forms.Button Button6;
- }
-}
-
diff --git a/ImageCatalogParallel/Form1.cs b/ImageCatalogParallel/Form1.cs
deleted file mode 100644
index 458f104..0000000
--- a/ImageCatalogParallel/Form1.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace ImageCatalogParallel
-{
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/ImageCatalogParallel/Form1.resx b/ImageCatalogParallel/Form1.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/ImageCatalogParallel/Form1.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/ImageCatalogParallel/ImageCatalogParallel.csproj b/ImageCatalogParallel/ImageCatalogParallel.csproj
deleted file mode 100644
index b507943..0000000
--- a/ImageCatalogParallel/ImageCatalogParallel.csproj
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {0F42DA5C-2788-48BD-BACA-01625C3CFFBB}
- WinExe
- ImageCatalogParallel
- ImageCatalogParallel
- v4.8
- 512
- true
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- Form1.cs
-
-
-
-
- Form1.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ImageCatalogParallel/Program.cs b/ImageCatalogParallel/Program.cs
deleted file mode 100644
index 0a1fd3d..0000000
--- a/ImageCatalogParallel/Program.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace ImageCatalogParallel
-{
- static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
- }
- }
-}
diff --git a/ImageCatalogParallel/Properties/AssemblyInfo.cs b/ImageCatalogParallel/Properties/AssemblyInfo.cs
deleted file mode 100644
index 757c842..0000000
--- a/ImageCatalogParallel/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("ImageCatalogParallel")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ImageCatalogParallel")]
-[assembly: AssemblyCopyright("Copyright © 2021")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("0f42da5c-2788-48bd-baca-01625c3cffbb")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ImageCatalogParallel/Properties/Resources.Designer.cs b/ImageCatalogParallel/Properties/Resources.Designer.cs
deleted file mode 100644
index a23847e..0000000
--- a/ImageCatalogParallel/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-
-namespace ImageCatalogParallel.Properties
-{
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ImageCatalogParallel.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
- return resourceCulture;
- }
- set
- {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/ImageCatalogParallel/Properties/Resources.resx b/ImageCatalogParallel/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/ImageCatalogParallel/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/ImageCatalogParallel/Properties/Settings.Designer.cs b/ImageCatalogParallel/Properties/Settings.Designer.cs
deleted file mode 100644
index 28069fb..0000000
--- a/ImageCatalogParallel/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-
-namespace ImageCatalogParallel.Properties
-{
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/ImageCatalogParallel/Properties/Settings.settings b/ImageCatalogParallel/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/ImageCatalogParallel/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/MaddoShared.ImageSharpTests/Helpers/CreatorFactory.cs b/MaddoShared.ImageSharpTests/Helpers/CreatorFactory.cs
new file mode 100644
index 0000000..cb25390
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Helpers/CreatorFactory.cs
@@ -0,0 +1,44 @@
+using System.IO;
+using Microsoft.Extensions.Logging.Abstractions;
+using SixLabors.ImageSharp.PixelFormats;
+
+namespace MaddoShared.ImageSharpTests.Helpers
+{
+ public static class CreatorFactory
+ {
+ public static MaddoShared.PicSettings CreateDefaultPicSettings()
+ {
+ return new MaddoShared.PicSettings
+ {
+ DimStandard = 48,
+ DimStandardMiniatura = 12,
+ LarghezzaSmall = 150,
+ AltezzaSmall = 150,
+ LarghezzaBig = 800,
+ AltezzaBig = 600,
+ Trasparenza = 0,
+ IlFont = "Arial",
+ Grassetto = false,
+ Posizione = "CENTRO",
+ Allineamento = "CENTRO",
+ Margine = 10,
+ MargVert = 10,
+ TestoMin = false,
+ AggNumTempMin = false,
+ CreaMiniature = false,
+ LogoAggiungi = false,
+ LogoAltezza = 100,
+ LogoLarghezza = 100,
+ LogoMargine = "0",
+ JpegQuality = 90,
+ JpegQualityMin = 75,
+ };
+ }
+
+ public static MaddoShared.ImageCreatorImageSharp CreateImageCreator(MaddoShared.PicSettings settings)
+ {
+ var logger = NullLogger.Instance;
+ return new MaddoShared.ImageCreatorImageSharp(settings, logger);
+ }
+ }
+}
diff --git a/MaddoShared.ImageSharpTests/Helpers/PixelInspector.cs b/MaddoShared.ImageSharpTests/Helpers/PixelInspector.cs
new file mode 100644
index 0000000..5642ec7
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Helpers/PixelInspector.cs
@@ -0,0 +1,40 @@
+using System;
+using SixLabors.ImageSharp;
+using SixLabors.ImageSharp.PixelFormats;
+
+namespace MaddoShared.ImageSharpTests.Helpers
+{
+ public static class PixelInspector
+ {
+ public static int CountNonBackgroundPixels(string path, int x, int y, int width, int height, Rgba32 background, int tolerance = 0)
+ {
+ using var img = SixLabors.ImageSharp.Image.Load(path);
+ var bx = Math.Max(0, x);
+ var by = Math.Max(0, y);
+ var bw = Math.Min(width, img.Width - bx);
+ var bh = Math.Min(height, img.Height - by);
+ if (bw <= 0 || bh <= 0) return 0;
+
+ int count = 0;
+ img.ProcessPixelRows(accessor =>
+ {
+ for (int yy = by; yy < by + bh; yy++)
+ {
+ var row = accessor.GetRowSpan(yy);
+ for (int xx = bx; xx < bx + bw; xx++)
+ {
+ var p = row[xx];
+ if (!IsApproximatelyEqual(p, background, tolerance)) count++;
+ }
+ }
+ });
+
+ return count;
+ }
+
+ private static bool IsApproximatelyEqual(Rgba32 a, Rgba32 b, int tol)
+ {
+ return Math.Abs(a.R - b.R) <= tol && Math.Abs(a.G - b.G) <= tol && Math.Abs(a.B - b.B) <= tol && Math.Abs(a.A - b.A) <= tol;
+ }
+ }
+}
diff --git a/MaddoShared.ImageSharpTests/Helpers/TempWorkspace.cs b/MaddoShared.ImageSharpTests/Helpers/TempWorkspace.cs
new file mode 100644
index 0000000..fba6bd8
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Helpers/TempWorkspace.cs
@@ -0,0 +1,33 @@
+using System;
+using System.IO;
+
+namespace MaddoShared.ImageSharpTests.Helpers
+{
+ public sealed class TempWorkspace : IDisposable
+ {
+ public DirectoryInfo Root { get; }
+ public DirectoryInfo SourceDir { get; }
+ public DirectoryInfo DestDir { get; }
+
+ public TempWorkspace()
+ {
+ var root = Path.Combine(Path.GetTempPath(), "MaddoShared.ImageSharpTests", Guid.NewGuid().ToString("N"));
+ Root = Directory.CreateDirectory(root);
+ SourceDir = Directory.CreateDirectory(Path.Combine(Root.FullName, "Source"));
+ DestDir = Directory.CreateDirectory(Path.Combine(Root.FullName, "Dest"));
+ }
+
+ public void Dispose()
+ {
+ try
+ {
+ if (Root.Exists)
+ Root.Delete(true);
+ }
+ catch
+ {
+ // best-effort cleanup
+ }
+ }
+ }
+}
diff --git a/MaddoShared.ImageSharpTests/Helpers/TestImageFactory.cs b/MaddoShared.ImageSharpTests/Helpers/TestImageFactory.cs
new file mode 100644
index 0000000..4f15dd8
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Helpers/TestImageFactory.cs
@@ -0,0 +1,45 @@
+using System.IO;
+using SixLabors.ImageSharp;
+using SixLabors.ImageSharp.PixelFormats;
+using SixLabors.ImageSharp.Processing;
+using SixLabors.ImageSharp.Formats.Jpeg;
+using SixLabors.ImageSharp.Metadata.Profiles.Exif;
+
+namespace MaddoShared.ImageSharpTests.Helpers
+{
+ public static class TestImageFactory
+ {
+ public static string CreateSolidJpeg(string directory, string fileName, int width, int height, Rgba32 color)
+ {
+ Directory.CreateDirectory(directory);
+ var path = Path.Combine(directory, fileName);
+ using var img = new Image(width, height, color);
+ var encoder = new JpegEncoder { Quality = 90 };
+ img.Save(path, encoder);
+ return path;
+ }
+
+ public static string CreateSolidPng(string directory, string fileName, int width, int height, Rgba32 color)
+ {
+ Directory.CreateDirectory(directory);
+ var path = Path.Combine(directory, fileName);
+ using var img = new Image(width, height, color);
+ img.SaveAsPng(path);
+ return path;
+ }
+
+ public static string CreateJpegWithExifOrientation(string directory, string fileName, int width, int height, Rgba32 color, ushort orientation)
+ {
+ Directory.CreateDirectory(directory);
+ var path = Path.Combine(directory, fileName);
+ using var img = new Image(width, height, color);
+ // Add EXIF orientation
+ var profile = new ExifProfile();
+ profile.SetValue(ExifTag.Orientation, orientation);
+ img.Metadata.ExifProfile = profile;
+ var encoder = new JpegEncoder { Quality = 90 };
+ img.Save(path, encoder);
+ return path;
+ }
+ }
+}
diff --git a/MaddoShared.ImageSharpTests/MaddoShared.ImageSharpTests.csproj b/MaddoShared.ImageSharpTests/MaddoShared.ImageSharpTests.csproj
new file mode 100644
index 0000000..52f36f6
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/MaddoShared.ImageSharpTests.csproj
@@ -0,0 +1,27 @@
+
+
+
+ net10.0
+ latest
+ enable
+ enable
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MaddoShared.ImageSharpTests/Tests/ImageResizingTests.cs b/MaddoShared.ImageSharpTests/Tests/ImageResizingTests.cs
new file mode 100644
index 0000000..ddc75ce
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Tests/ImageResizingTests.cs
@@ -0,0 +1,44 @@
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using SixLabors.ImageSharp.PixelFormats;
+using MaddoShared.ImageSharpTests.Helpers;
+using Shouldly;
+
+namespace MaddoShared.ImageSharpTests.Tests
+{
+ [TestClass]
+ public class ImageResizingTests
+ {
+ [TestMethod]
+ public async Task BigImageResizesRespectSettings()
+ {
+ using var ws = new TempWorkspace();
+
+ // create a large input image
+ var inputPath = TestImageFactory.CreateSolidJpeg(ws.SourceDir.FullName, "input.jpg", 1600, 1200, new Rgba32(200, 200, 200, 255));
+
+ var pic = CreatorFactory.CreateDefaultPicSettings();
+ pic.LarghezzaBig = 800;
+ pic.AltezzaBig = 600;
+ pic.CreaMiniature = false;
+
+ var svc = CreatorFactory.CreateImageCreator(pic);
+
+ var state = new MaddoShared.ImageState
+ {
+ WorkFile = new FileInfo(inputPath),
+ DestDir = ws.DestDir,
+ SourceDir = ws.SourceDir
+ };
+
+ await svc.CreateImageAsync(state, null);
+
+ var outPath = Path.Combine(ws.DestDir.FullName, state.NomeFileBig);
+ using var outImg = SixLabors.ImageSharp.Image.Load(outPath);
+
+ outImg.Width.ShouldBe(800);
+ outImg.Height.ShouldBe(600);
+ }
+ }
+}
diff --git a/MaddoShared.ImageSharpTests/Tests/TextPositioningTests.cs b/MaddoShared.ImageSharpTests/Tests/TextPositioningTests.cs
new file mode 100644
index 0000000..c93460e
--- /dev/null
+++ b/MaddoShared.ImageSharpTests/Tests/TextPositioningTests.cs
@@ -0,0 +1,51 @@
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using SixLabors.ImageSharp.PixelFormats;
+using MaddoShared.ImageSharpTests.Helpers;
+using Shouldly;
+
+namespace MaddoShared.ImageSharpTests.Tests
+{
+ [TestClass]
+ public class TextPositioningTests
+ {
+ [TestMethod]
+ public async Task TextAtBottom_IncreasesNonBackgroundPixelCountInBottomBand()
+ {
+ using var ws = new TempWorkspace();
+
+ // create white background input
+ var inputPath = TestImageFactory.CreateSolidJpeg(ws.SourceDir.FullName, "input.jpg", 800, 600, new Rgba32(255, 255, 255, 255));
+
+ var pic = CreatorFactory.CreateDefaultPicSettings();
+ pic.Posizione = "BASSO";
+ pic.DimStandard = 48; // big text
+ pic.TestoFirmaStart = "SAMPLE TEXT";
+ pic.CreaMiniature = false;
+
+ var svc = CreatorFactory.CreateImageCreator(pic);
+
+ var state = new MaddoShared.ImageState
+ {
+ WorkFile = new FileInfo(inputPath),
+ DestDir = ws.DestDir,
+ SourceDir = ws.SourceDir
+ };
+
+ await svc.CreateImageAsync(state, null);
+
+ var outPath = Path.Combine(ws.DestDir.FullName, state.NomeFileBig);
+
+ // bottom band (lower 25% of image)
+ var bottomY = (int)(600 * 0.75);
+ var bottomCount = PixelInspector.CountNonBackgroundPixels(outPath, 0, bottomY, 800, 600 - bottomY, new Rgba32(255, 255, 255, 255), tolerance: 10);
+
+ // top band (upper 25%)
+ var topCount = PixelInspector.CountNonBackgroundPixels(outPath, 0, 0, 800, (int)(600 * 0.25), new Rgba32(255, 255, 255, 255), tolerance: 10);
+
+ (bottomCount > 50).ShouldBeTrue($"Expected text pixels in bottom band, found {bottomCount}");
+ (bottomCount > topCount).ShouldBeTrue("Expected more non-background pixels at bottom than top");
+ }
+ }
+}
diff --git a/MaddoShared.Tests/DataModelCharacterizationTests.cs b/MaddoShared.Tests/DataModelCharacterizationTests.cs
new file mode 100644
index 0000000..7ce601e
--- /dev/null
+++ b/MaddoShared.Tests/DataModelCharacterizationTests.cs
@@ -0,0 +1,172 @@
+using System;
+using System.Threading.Tasks;
+using ImageCatalog_2;
+using ImageCatalog_2.Services;
+using MaddoShared;
+using Microsoft.Extensions.Logging;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using NSubstitute;
+using Shouldly;
+
+namespace MaddoShared.Tests;
+
+[TestClass]
+public class DataModelCharacterizationTests
+{
+ [TestMethod]
+ public void SelectSourceFolderCommand_RaisesEvent()
+ {
+ var model = CreateModel();
+ var raised = false;
+ model.SelectSourceFolderRequested += (_, _) => raised = true;
+
+ model.SelectSourceFolderCommand.Execute(null);
+
+ raised.ShouldBeTrue();
+ }
+
+ [TestMethod]
+ public async Task SaveSettingsToFileAsync_DelegatesToSettingsService()
+ {
+ var settingsService = Substitute.For();
+ settingsService
+ .SaveSettingsAsync(Arg.Any(), Arg.Any