Foi adicionada a funcionalidade de upload de imagens PNG para um local de rede específico. No backend, a interface `IImageService` e o serviço `ImageService` foram atualizados com o método assíncrono `MoveFile`, que move arquivos para o destino desejado, criando diretórios se necessário e exibindo mensagens de erro em caso de falha. No frontend, foi adicionado um botão "Upload" à interface gráfica (`MainWindow.xaml`), vinculado ao comando `UploadImageCommand` no `MainWindowViewModel`. Este comando utiliza o método privado `UploadImageAsync` para abrir uma caixa de diálogo, permitir a seleção de um arquivo PNG e mover o arquivo utilizando o serviço de imagens. Feedback ao usuário é exibido para sucesso ou erro.
28 lines
803 B
C#
28 lines
803 B
C#
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Media.Imaging;
|
|
|
|
namespace BackgroundBuilder.Services
|
|
{
|
|
public interface IImageService
|
|
{
|
|
/// <summary>
|
|
/// Loads an image from disk.
|
|
/// </summary>
|
|
Task<BitmapImage> LoadAsync(string path);
|
|
|
|
/// <summary>
|
|
/// Renders the background + overlay and writes two PNGs:
|
|
/// • primaryPath: composite of background+overlay
|
|
/// • overlayPath (optional): overlay alone
|
|
/// Returns the actual paths written.
|
|
/// </summary>
|
|
Task SaveAsync(
|
|
FrameworkElement overlay,
|
|
BitmapImage background,
|
|
string primaryPath,
|
|
string? overlayPath = null);
|
|
Task MoveFile(string sourcePath);
|
|
}
|
|
}
|