From 27aa1cead755afa999366638f10f667e35179887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Sat, 5 Aug 2023 00:43:11 +0200 Subject: [PATCH] =?UTF-8?q?Generiere=20vier=20Fotos,=20gro=C3=9Fe=20Ansich?= =?UTF-8?q?t=20und=20Flippy=20Floppy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KIKunstKirstenKlöckner/Pages/AiArt.razor | 154 ++++++++++++++--- .../Pages/FlippingImage.razor | 162 ++++++++++++++++++ KIKunstKirstenKlöckner/wwwroot/css/site.css | 54 +++++- .../wwwroot/images/robot_painting.jpg | Bin 0 -> 41218 bytes 4 files changed, 343 insertions(+), 27 deletions(-) create mode 100644 KIKunstKirstenKlöckner/Pages/FlippingImage.razor create mode 100644 KIKunstKirstenKlöckner/wwwroot/images/robot_painting.jpg diff --git a/KIKunstKirstenKlöckner/Pages/AiArt.razor b/KIKunstKirstenKlöckner/Pages/AiArt.razor index 7cff2e6..1bbb3b5 100644 --- a/KIKunstKirstenKlöckner/Pages/AiArt.razor +++ b/KIKunstKirstenKlöckner/Pages/AiArt.razor @@ -11,18 +11,6 @@

Wunschbilder von KI nur für dich

-@* - - - -*@ - - -@* -*@ - -@**@ - Nenne uns deinen Wunsch: @@ -72,6 +60,31 @@ await DoStuff(false))>Generate + + + + + + + + + + + + + + + + + @code { @@ -85,6 +98,17 @@ public string BusyMessage { get; set; } = "Initial Message"; + private string?[] _imageUrls = new string?[4]; + private ImageState[] _imageStates = new ImageState[4]; + + enum ImageState + { + //Hide = 0, + FadeOut, + FadeIn, + //Show, + } + // Busy dialog from markup async Task ShowBusyDialog() { @@ -95,6 +119,14 @@ , new DialogOptions() { ShowTitle = false, Style = "min-height:auto;min-width:auto;width:auto", CloseDialogOnEsc = false }); } + async Task ShowImageDialog(string imageUrl) + { + var result = await DialogService.OpenAsync("", ds => + @
+ +
, new DialogOptions() { CloseDialogOnOverlayClick = true }); + } + // Busy dialog from string async Task BusyDialog(string message) { @@ -258,9 +290,85 @@ } } + /// + /// Geneiert das Bild für den aktuellen + /// + public async Task GenerateImageAsync(string prompt, bool isRetry = false) + { + var postData = new + { + inputs = prompt, + options = new + { + // Cache deaktivieren, damit Huggingface für den selben Prompt unterschiedliche Ergebnisse liefert + use_cache = false, + // Erst wenn wir bereits in einem retry sind warten wir implizit auf das Model. (ignoriert quasi 503-Fehler) + wait_for_model = isRetry + } + }; + + JsonContent content = JsonContent.Create(postData); + + async Task FailedToDrawImage() + { + bool? retry = await DialogService.Confirm("Leider konnte das Bild nicht gemalt werden. Möchtest du es noch eimal versuchen?", "Ups, ein Fehler ist aufgetreten...", + new ConfirmOptions { OkButtonText = "Ja", CancelButtonText = "Nein" }); + + if (retry == true) + { + return await GenerateImageAsync(prompt, true); + } + + return null; + } + + try + { + var inferenceModelUrl = "https://api-inference.huggingface.co/models/Nacken/ki-kunst-kirsten-kloeckner-colab"; + + var response = await _client.PostAsync(inferenceModelUrl, content); + + if (response?.IsSuccessStatusCode == true) + { + await using Stream imageStream = await response.Content.ReadAsStreamAsync(); + + using Image image = await Image.LoadAsync(imageStream); + + string imgUrl = $"generated_images/{DateTime.Now:dd_MM_yyyy_hh_mm_s_fffffff}.jpg"; + + string mapPath = $"./wwwroot/{imgUrl}"; + await image.SaveAsJpegAsync(mapPath); + + return imgUrl; + } + else + { + Console.WriteLine($"Image conversion failed: {response}"); + + if (Debugger.IsAttached) + Debugger.Break(); + + return await FailedToDrawImage(); + } + } + catch (Exception exception) + { + Console.WriteLine($"Image request failed: {exception}"); + + if (Debugger.IsAttached) + Debugger.Break(); + + return await FailedToDrawImage(); + } + + return null; + } private async Task DoStuff(bool newPic) { + for (int i = 0; i < 4; i++) + _imageStates[i] = ImageState.FadeOut; + // Der Dialog blokiert so lange, wie der er offen ist, deshalb dürfen wir hier nicht warten, da wir sonst nie mit der Arbeit anfangen... //Task busyDialog = ShowBusyDialog(); _progressVisible = true; @@ -304,19 +412,14 @@ await UpdateBusyMessage("Kirstens Assistent hat eine Idee! Er wird sie nun malen..."); - Task makeImagesTask = GenerateImageAsync(); - - //CancellationTokenSource cancelFunnyMessages = new CancellationTokenSource(); - - //Task funnyMessagesTask = FunnyMessageSwitcher_ImageGen(cancelFunnyMessages.Token); - - // Wichtig, erst Bilder awaiten, dann die lustingen Sprüche, sonst warten wir ewig... - await makeImagesTask; - - //cancelFunnyMessages.Cancel(); - - //await funnyMessagesTask; - + // Vier Bilder generieren + for (int i = 0; i < 4; i++) + { + _imageUrls[i] = await GenerateImageAsync(_imagePrompt); + _imageStates[i] = ImageState.FadeIn; + await InvokeAsync(StateHasChanged); + } + _progressVisible = false; _buttonVisible = true; if (amountOfAddons > 0) @@ -333,3 +436,4 @@ } } + diff --git a/KIKunstKirstenKlöckner/Pages/FlippingImage.razor b/KIKunstKirstenKlöckner/Pages/FlippingImage.razor new file mode 100644 index 0000000..60c85c8 --- /dev/null +++ b/KIKunstKirstenKlöckner/Pages/FlippingImage.razor @@ -0,0 +1,162 @@ + + +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +@code { + [Parameter] + public bool Show { get; set; } + + [Parameter] + public bool HideImage { get; set; } + + [Parameter] + public string ImageUrl { get; set; } = "images/robot_painting.jpg"; + + public enum FlipDirection + { + Up, + Down, + Left, + Right + } + + private string _flipperClassName; + private string _backClassName; + private FlipDirection _flipTo; + + [Parameter] + public FlipDirection FlipTo + { + get => _flipTo; + set + { + _flipTo = value; + _flipperClassName = _flipTo switch + { + FlipDirection.Up => "flip-card_up", + FlipDirection.Down => "flip-card_down", + FlipDirection.Left => "flip-card_left", + FlipDirection.Right => "flip-card_right", + _ => throw new ArgumentOutOfRangeException()}; + _backClassName = _flipTo switch + { + FlipDirection.Up => "flip-card-back_up", + FlipDirection.Down => "flip-card-back_down", + FlipDirection.Left => "flip-card-back_left", + FlipDirection.Right => "flip-card-back_right", + _ => throw new ArgumentOutOfRangeException()}; + } + } + + [Parameter] + public double FlipDelay { get; set; } = 0.0; + + /// Gets or sets the click callback. + /// The click callback. + [Parameter] + public EventCallback Click { get; set; } +} diff --git a/KIKunstKirstenKlöckner/wwwroot/css/site.css b/KIKunstKirstenKlöckner/wwwroot/css/site.css index 96b0583..7404feb 100644 --- a/KIKunstKirstenKlöckner/wwwroot/css/site.css +++ b/KIKunstKirstenKlöckner/wwwroot/css/site.css @@ -63,6 +63,56 @@ a, .btn-link { color: white; } - .blazor-error-boundary::after { - content: "An error has occurred." +.blazor-error-boundary::after { + content: "An error has occurred." +} + +.fade-in-5 { + animation: fadeIn 5s; + animation-fill-mode: forwards; +} +.fade-out-5 { + animation: fadeOut 5s; + animation-fill-mode: forwards; +} + + +@keyframes fadeIn { + 0% { + opacity: 0; } + + 100% { + opacity: 1; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.flip-image { + animation: flip 0.6s; + animation-fill-mode: forwards; + -webkit-backface-visibility: hidden; + transition: transform 0.6s; + transform-style: preserve-3d; + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); + backface-visibility: hidden; +} + +@keyframes flip { + 0% { + transform: rotateY(0deg); + } + + 100% { + transform: rotateY(180deg); + } +} diff --git a/KIKunstKirstenKlöckner/wwwroot/images/robot_painting.jpg b/KIKunstKirstenKlöckner/wwwroot/images/robot_painting.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74a347e669c226846656d3181580836773cc548a GIT binary patch literal 41218 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 NHR=D$Q6PHo^}qGfr{w?u literal 0 HcmV?d00001