diff --git a/KIKunstKirstenKlöckner/Pages/AiArt.razor b/KIKunstKirstenKlöckner/Pages/AiArt.razor index 51d0810..31105b9 100644 --- a/KIKunstKirstenKlöckner/Pages/AiArt.razor +++ b/KIKunstKirstenKlöckner/Pages/AiArt.razor @@ -355,6 +355,12 @@ string mapPath = $"./wwwroot/{imgUrl}"; await image.SaveAsJpegAsync(mapPath); + // Hier speichern wir die Daten in die 'info_texts.txt'-Datei + string infoTextsPath = Path.Combine(_environment.WebRootPath, "generated_images", "info_texts.txt"); + string desc = _imageDescription.Replace("\r\n", "").Replace("\n", "").Replace("\r", ""); + string newLine = $"{imgUrl}: {request}, {desc}\n"; + await File.AppendAllTextAsync(infoTextsPath, newLine); + return imgUrl; } else @@ -460,5 +466,8 @@ [Inject] private NavigationManager NavigationManager { get; set; } + [Inject] + private IWebHostEnvironment _environment { get; set; } + } diff --git a/KIKunstKirstenKlöckner/Pages/Gallery.razor b/KIKunstKirstenKlöckner/Pages/Gallery.razor index 14a1d2b..6693b61 100644 --- a/KIKunstKirstenKlöckner/Pages/Gallery.razor +++ b/KIKunstKirstenKlöckner/Pages/Gallery.razor @@ -103,11 +103,41 @@ } } - private void ShowImageInfo(string imagePath) + private async void ShowImageInfo(string imagePath) { selectedImage = imagePath; - infoText = "Info Text"; // Hier kannst du den gewünschten Infotext setzen popupStyle = "display: block;"; + infoText = await GetInfoTextForImageAsync(imagePath); + } + + + private async Task GetInfoTextForImageAsync(string imagePath) + { + // Bestimme den Ordnerpfad, in dem sich die Bilder und die info_texts.txt Datei befinden + string folderPath = Path.Combine(_environment.WebRootPath, "generated_images"); + + // Bestimme den Pfad zur info_texts.txt Datei + string infoTextsFilePath = Path.Combine(folderPath, "info_texts.txt"); + + // Ãœberprüfe, ob die Datei existiert + if (!File.Exists(infoTextsFilePath)) + return $"Kein Infotext für {imagePath} gefunden."; + + // Lies alle Zeilen der Datei + var lines = await File.ReadAllLinesAsync(infoTextsFilePath); + string adaptedImagePath = imagePath.Substring(1) + ":"; + + // Durchsuche jede Zeile nach dem gegebenen imagePath + foreach (var line in lines) + { + if (line.StartsWith(adaptedImagePath)) // Ãœberprüft, ob die Zeile mit dem Dateinamen des Bildes beginnt + { + // Trenne den Dateinamen und den Infotext und gib den Infotext zurück + return line.Split(new[] { ':' }, 2).LastOrDefault()?.Trim(); + } + } + + return $"Kein Infotext für {imagePath} gefunden."; } private void CloseImageInfo() diff --git a/KIKunstKirstenKlöckner/wwwroot/test_prompt2.txt b/KIKunstKirstenKlöckner/wwwroot/test_prompt2.txt new file mode 100644 index 0000000..83134ca --- /dev/null +++ b/KIKunstKirstenKlöckner/wwwroot/test_prompt2.txt @@ -0,0 +1,16 @@ +Du wirst gleich einen Titel für ein Bild bekommen. Bitte versuch diesen Titel in eine Bildidee für eine KI umzuwandeln. + +Hier sind Ideen, wie du den Titel umformen kannst: + +"Interpretieren Sie den Titel tiefsinnig und mehrschichtig, finden Sie Symbole und tiefere Bedeutungen. Nutzen Sie persönliche oder gesellschaftliche Filter für die Interpretation. Bringen Sie abstrakte Darstellungen, Symbole und Metaphern ein, die der Titel hervorruft. Bedenken Sie gesellschaftliche und kulturelle Themen sowie Themen wie Toleranz und Verantwortung. Fügen Sie Humor und Ironie hinzu, hinterfragen Sie traditionelle Themen kritisch. Reflektieren Sie Ihre Emotionen und Gedanken, stellen Sie sicher, dass Ihr Kunstwerk eine Aussage trifft. Lassen Sie Interpretation und Assoziationen zu, erforschen Sie neue Kontexte, seien Sie offen für Überraschungen und hinterfragen Sie das Gewohnte." + +Bitte generiere einen Englischen Prompt für eine Bild KI basierend auf diesen vorherigen Herangehensweisen. +Hier findest du Beispiele, wie der Promt aussehen soll: +"Portrait of an astronaut in space, detailed starry background, reflective helmet." +“Painting of a floating island with giant clock gears, populated with mythical creatures.” +“Landscape of a Japanese garden in autumn, with a bridge over a koi pond.” +“Painting representing the sound of jazz music, using pale colors and erratic shapes.” +Bitte nutze unbedingt für den Prompt maximal 20 Wörter! +Der Promt selber darf auf keinen Fall abstrakt sein, man muss durch den Promt ein genaues Bild vor Augen haben. + +Der Titel lautet: \ No newline at end of file