Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
AI Image Generation-funktioner stöds av Microsoft Foundry i Windows via en uppsättning AI-baserade API:er med stabil diffusion (AI-modell med öppen källkod som används för bearbetning av bilder) som levereras i Windows App SDK. Dessa API:er kan användas i dina Windows-appar för att skapa, transformera och förbättra bilder och foton med hjälp av naturliga språkfrågor och generativa modeller på enheten.
AI Image Generation är optimerad för effektivitet och prestanda på Windows Copilot+-datorer.
Api-information finns i API-referens för AI-avbildningsfunktioner.
Förutsättningar
- Windows-version: Windows 11, version 24H2 (version 26100) eller senare
- WinAppSDK-version:Version 2.0 Experimental (2.0.0-Experimental3)
- Hårdvara: NPU-aktiverad dator rekommenderas
Vad kan jag göra med AI Image Generation?
Använd AI Image Generation för att omvandla prompter till visuella artefakter. Funktioner som stöds är:
Text till bild
Generera bilder från beskrivande textprompter. Användbart för illustrationer, design, anpassade bakgrunder och konceptuell visualisering.
Bild-till-bild
Transformera en befintlig bild baserat på textvägledning samtidigt som strukturen bevaras. Användbart för styling, teman och andra varianter.
Magic Fill
Fyll maskerade regioner i en bild med AI-genererat innehåll. Användbart för att ta bort objekt, reparera regioner och intuitiv redigering (komplexa revisioner via textfrågor i stället för manuella verktyg).
Färgläggning av bokformat
Konvertera bilder till förenklade konturer som kan användas för en färgbok eller liknande utbildningsupplevelse.
Ändra stil
Använd konstnärliga eller visuella format på befintliga bilder samtidigt som strukturen bevaras. Användbart för kreativa filter, konstnärliga lägen eller tematransformeringar.
Examples
Följ dessa grundläggande steg när du använder API:er för AI Image Generation.
- Kontrollera att modellen är klar med EnsureReadyAsync.
- Skapa en ImageGenerator-instans .
- Välj lämpligt generationsarbetsflöde (textprompt, bildinmatning eller mask).
- Anropa motsvarande generationsmetod.
- Ta emot utdata som en ImageBuffer för visning, redigering eller sparande.
Generera en bild från en textprompt (text till bild)
Det här exemplet visar hur du genererar en bild från en textprompt. Mer specifikt, "En vacker solnedgång över en bergssjö".
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}");
}
}
Transformera ett bildformat (bild-till-bild)
Det här exemplet visar hur du omvandlar ett fotografi till en oljemålning baserat på en textprompt. Mer specifikt, "oljemålning stil, tjocka penseldrag, konstnärliga".
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");
}
}
Transformera ett bildformat (bild-till-bild-komplex)
Det här exemplet visar hur du omvandlar ett fotografi till en oljemålning baserat på en textprompt. Mer specifikt, "En oljemålning, tjocka penseldrag, rik färgpalett, traditionell arbetsytestruktur, realistisk belysning, klassisk konststil, lagerfärg, hög detaljrikedom, dramatisk kontrast, impasto, texturerad duk".
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}");
}
}
Magisk fyllning med mask
Det här exemplet visar hur du använder en mask för att fylla en region i en bild. Mer specifikt "en röd sportbil".
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");
}
}
Generera färgboksformatbild
Det här exemplet visar hur du genererar en bild i ett färgboksformat. Mer specifikt en "Katt i rymdskepp".
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}");
}
}
Generera avbildning med hjälp av anpassade ImageGenerationOptions-parametrar
Det här exemplet visar hur du genererar en bild baserat på en uppsättning innehållsfilter och begränsningar. Mer specifikt en "Katt i rymdskepp" med hjälp av en TextContentFilterSeverity på Låg och en ImageContentFilterSeverity på Minsta.
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}");
}
}
Ansvarsfull AI
Vi har använt en kombination av följande steg för att säkerställa att dessa bild-API:er är tillförlitliga, säkra och byggda på ett ansvarsfullt sätt. Vi rekommenderar att du granskar de metodtips som beskrivs i Ansvarsfull generativ AI-utveckling i Windows när du implementerar AI-funktioner i din app.