Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
KI-Bildgenerierungsfeatures werden durch Microsoft Foundry auf Windows unterstützt, indem eine Reihe von künstlicher Intelligenz gestützten, Stable Diffusion-basierten (Open-Source-KI-Modell für die Verarbeitung von Bildern) APIs im Windows App SDK bereitgestellt werden. Diese APIs können in Ihren Windows-Apps verwendet werden, um Bilder und Fotos mithilfe von Eingabeaufforderungen in natürlicher Sprache und generierenden Modellen auf Geräten zu erstellen, zu transformieren und zu verbessern.
DIE AI Image Generation ist für Effizienz und Leistung auf Windows Copilot+ PCs optimiert.
Api-Details finden Sie in der API-Referenz für KI-Imageerstellungsfeatures.
Voraussetzungen
- Windows-Version: Windows 11, Version 24H2 (Build 26100) oder höher
- WinAppSDK version:Version 2.0 Experimental (2.0.0-Experimental3)
- Hardware: NPU-fähige PC empfohlen
Was kann ich mit der KI-Bildgenerierung tun?
Verwenden Sie ai Image Generation, um Eingabeaufforderungen in visuelle Artefakte umzuwandeln. Zu den unterstützten Features gehören:
Text-zu-Bild
Generieren Sie Bilder aus beschreibenden Textaufforderungen. Nützlich für Illustrationen, Entwurf, angepasste Hintergründe und konzeptionelle Visualisierung.
Bild-zu-Bild
Transformieren Sie ein vorhandenes Bild basierend auf textbezogenen Anleitungen, während die Struktur beibehalten wird. Hilfreich beim Styling, bei der Gestaltung und bei anderen Variationsmöglichkeiten.
Magische Füllung
Füllen Sie maskierte Bereiche eines Bilds mit KI-generierten Inhalten. Hilfreich beim Entfernen von Objekten, reparieren von Bereichen und intuitiver Bearbeitung (komplexe Überarbeitungen durch Textaufforderungen anstelle manueller Tools).
Malbuchstil
Konvertieren Sie Bilder in vereinfachte Konturen, die für ein Farbbuch oder eine ähnliche Bildungserfahrung verwendet werden können.
Neu entwerfen
Wenden Sie künstlerische oder visuelle Stile auf vorhandene Bilder an, während Sie die Struktur beibehalten. Nützlich für kreative Filter, künstlerische Effekte oder Themen-Transformationen.
Examples
Führen Sie die folgenden grundlegenden Schritte aus, wenn Sie die AI-Bildgenerierungs-APIs verwenden.
- Stellen Sie sicher, dass das Modell mit EnsureReadyAsync bereit ist.
- Erstellen Sie eine ImageGenerator-Instanz .
- Wählen Sie den entsprechenden Generierungsworkflow (Textaufforderung, Bildeingabe oder Maske) aus.
- Rufen Sie die entsprechende Generationsmethode auf.
- Empfangen Sie die Ausgabe als ImageBuffer zum Anzeigen, Bearbeiten oder Speichern.
Generieren eines Bilds aus einer Textaufforderung (Text-zu-Bild)
In diesem Beispiel wird gezeigt, wie Sie ein Bild aus einer Textaufforderung generieren. "Ein schöner Sonnenuntergang über einem Bergsee".
using Microsoft.Windows.AI.Imaging;
using Microsoft.Graphics.Imaging;
public async Task GenerateImageFromText()
{
// Check if models are ready
var readyState = ImageGenerator.GetReadyState();
if (readyState != AIFeatureReadyState.Ready)
{
// Download models if needed
var result = await ImageGenerator.EnsureReadyAsync();
if (result.Status != AIFeatureReadyResultState.Success)
{
Console.WriteLine("Failed to prepare models");
return;
}
}
// Create ImageGenerator instance
using var generator = await ImageGenerator.CreateAsync();
// Configure generation options
var options = new ImageGenerationOptions
{
MaxInferenceSteps = 6,
Creativity = 0.8,
Seed = 42
};
// Generate image
var result = generator.GenerateImageFromTextPrompt("A beautiful sunset over a mountain lake", options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
var imageBuffer = result.Image;
// Use the generated image (save to file, display, etc.)
await SaveImageBufferAsync(imageBuffer, "generated_image.png");
}
else
{
Console.WriteLine($"Image generation failed: {result.Status}");
}
}
Transformation eines Bildstils (Bild-zu-Bild)
In diesem Beispiel wird gezeigt, wie ein Foto basierend auf einer Textaufforderung in ein Ölbild umgewandelt wird. Insbesondere "Ölmalstil, dicke Pinselstriche, künstlerisch".
public async Task RestyleImage()
{
using var generator = await ImageGenerator.CreateAsync();
// Load input image
var inputImage = await LoadImageBufferAsync("photo.jpg");
var options = new ImageGenerationOptions();
var styleOptions = new ImageFromImageGenerationOptions
{
Style = ImageFromImageGenerationStyle.Restyle,
ColorPreservation = 0.7f
};
var result = generator.GenerateImageFromImageBuffer(
inputImage,
"oil painting style, thick brush strokes, artistic",
options,
styleOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
await SaveImageBufferAsync(result.Image, "restyled_image.png");
}
}
Transformieren eines Bildformats (Bild-zu-Bild-Komplex)
In diesem Beispiel wird gezeigt, wie ein Foto basierend auf einer Textaufforderung in ein Ölbild umgewandelt wird. Insbesondere "ein Ölgemälde, dicke Pinselstriche, reichhaltige Farbpalette, traditionelle Leinwand-Textur, realistische Beleuchtung, klassischer Kunststil, schichtige Farbe, hochdetailliert, dramatischer Kontrast, Impasto, strukturierte Leinwand".
using Microsoft.Windows.AI.Imaging;
public async Task CreateImageFromPrompt()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set ImageFromImageGenerationOptions fields
var imageFromImageOptions = new ImageFromImageGenerationOptions();
imageFromImageOptions.Style = ImageFromImageGenerationStyle.Restyle;
imageFromImageOptions.ColorPreservation = 0.5f; // range [0.0f, 1.0f]
// Load an input image buffer
using var inputImage = await Utils.LoadSampleImageBufferAsync("sdxl_input_horse.png");
var textPrompt = "An oil painting, thick brush strokes, rich color palette, traditional canvas texture, realistic lighting, classical fine art style, layered paint, high detail, dramatic contrast, impasto, textured canvas";
var result = model.GenerateImageFromImageBuffer(inputImage, textPrompt, options, imageFromImageOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
Magische Füllung mit Maske
In diesem Beispiel wird gezeigt, wie Sie eine Maske verwenden, um einen Bereich eines Bilds auszufüllen. Insbesondere "ein roter Sportwagen".
public async Task FillMaskedRegion()
{
using var generator = await ImageGenerator.CreateAsync();
var inputImage = await LoadImageBufferAsync("scene.jpg");
var maskImage = await LoadImageBufferAsync("mask.png"); // GRAY8 format
var options = new ImageGenerationOptions();
var result = generator.GenerateImageFromImageBufferAndMask(
inputImage,
maskImage,
"a red sports car",
options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
await SaveImageBufferAsync(result.Image, "filled_image.png");
}
}
Bild im Malbuchstil erstellen
In diesem Beispiel wird gezeigt, wie Sie ein Bild in einem Farbbuchstil generieren. Insbesondere eine "Katze im Raumschiff".
using Microsoft.Windows.AI.Imaging;
public async Task CreateImageFromPrompt()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set ImageFromTextGenerationOptions fields
var imageFromTextOptions = new ImageFromTextGenerationOptions();
imageFromTextOptions.Style = ImageFromTextGenerationStyle.ColoringBook;
var result = model.GenerateImageFromTextPrompt("Cat in spaceship", options, imageFromTextOptions);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
Generieren eines Bilds mit benutzerdefinierten ImageGenerationOptions-Parametern
In diesem Beispiel wird gezeigt, wie Sie ein Bild basierend auf einer Reihe von Inhaltsfiltern und Einschränkungen generieren. Insbesondere eine "Katze im Raumschiff" mit einem TextContentFilterSeverity von Niedrig und einem ImageContentFilterSeverity von Minimum.
using Microsoft.Windows.AI.Imaging;
using Microsoft.Windows.AI.ContentSafety;
public async Task CreateImageFromPromptAndCustomOptions()
{
using ImageGenerator model = await ImageGenerator.CreateAsync();
// Using default values
var options = new ImageGenerationOptions();
// Set custom ImageGenerationOptions fields
options.MaxInferenceSteps = 6;
options.Creativity = 0.8;
options.Seed = 1234;
ContentFilterOptions contentFilterOptions = new ContentFilterOptions();
contentFilterOptions.PromptMaxAllowedSeverityLevel = TextContentFilterSeverity(SeverityLevel.Low);
contentFilterOptions.ImageMaxAllowedSeverityLevel = ImageContentFilterSeverity(SeverityLevel.Minimium);
options.ContentFilterOptions = contentFilterOptions;
var result = model.GenerateImageFromTextPrompt("Cat in spaceship", options);
if (result.Status == ImageGeneratorResultStatus.Success)
{
// Image generated successfully
var imageBuffer = result.Image;
// Process the imageBuffer as needed, e.g., save to file or display
}
else
{
// Handle error cases based on result.Status
Console.WriteLine($"Image generation failed with status: {result.Status}");
}
}
Verantwortungsvolle KI
Wir haben eine Kombination der folgenden Schritte verwendet, um sicherzustellen, dass diese Imageerstellungs-APIs vertrauenswürdig, sicher und verantwortungsbewusst erstellt sind. Es wird empfohlen, die bewährten Methoden zu überprüfen, die bei der Implementierung von KI-Features in Ihrer App in der verantwortungsvollen generativen KI-Entwicklung unter Windows beschrieben sind.