C# Snabbreferens
  • C# snabbreferens
  • Lathund: Skapa projekt
  • Lathund: koda i konsolen
  • Lathund: koda i WPF
  • Kompilering och publicering
  • Externa resurser
  • Grundläggande
    • Datatyper […]
      • String
      • Tuples
      • Enum
    • Fel
    • Typkonvertering
    • Operatorer
    • Boolska satser
    • Konsolen (Console)
    • If-satser
    • Loopar
    • Listor och arrayer
    • Slump (Random)
    • Strings
    • Metoder
    • Använda bibliotek (using)
    • Delegates, events och lambdas
    • Matematik (Math)
    • Vektorer (Numerics)
    • Datum och tid
    • Try-catch och Exception
    • Namngivning
    • Begrepp
    • Reference vs value types
    • Projektstruktur
    • Dotnet i terminalen
  • Filhantering
    • Filsökvägar
    • Läsa och skriva
    • Filer och mappar
    • Open, close, using
    • Serialisering […]
      • JSON-serialisering
      • XML-serialisering
    • Resursfiler
    • Filformat
      • JSON
  • Klasser och objektorientering
    • Översikt objektorientering
    • Lathund för klassdesign
    • Klasser och instanser
    • Struct
    • Public, private och protected
    • Klassdiagram
    • Klassmetoder
    • Konstruktorer
    • Arv
    • Komposition
    • Inkapsling och properties
    • Static
    • Polymorfism […]
      • Virtual, override
    • Generiska klasser
    • Abstract
    • Interface
    • Attribut
  • Annat
    • RayLib […]
      • Raylib setup
      • Fönster i Raylib
      • Grundläggande grafik
      • Geometriska former
      • Bilder och texturer
        • Texture
        • Image
      • Input
      • Text
      • Rectangle
      • Kollisioner
      • Kamera
      • Ljud
      • Raylib-CSharp*
    • MonoGame […]
      • Monogame-projekt*
      • MCGB Editor*
      • Input*
      • Grafik*
      • Kollisioner
      • Ljud*
    • Nätverk och internet […]
      • CRUD, HTTP och REST
      • URL:er och REST
      • RESTful client*
      • Thunder
      • RESTful server (Minimal API)
        • Swagger och OpenAPI
      • RESTful server (Web API) […]
        • Controllers
        • Models/dataklasser
        • Tester med RESTer
    • Linq
      • Linq-metoder
      • Linq-queries
    • Databaser
      • SQLite-kommandon
      • SQLite och VSCode
      • C# och SQLite
      • Entity Framework Core
    • Threading
      • Thread
      • Task
    • Pseudokod och diagram
    • Windows UI
      • WPF
      • XAML*
      • WinUI*
  • Mjukvara
    • Dotnet SDK
    • Visual Studio Code […]
      • Extensions
      • Inställningar
      • Debugging
      • Snabbkommandon
      • Snippets
      • Felsökning
    • Git & GitHub […]
      • Git-begrepp
    • Andra verktyg
  • Tekniker
    • Begränsa input
    • Game states
    • Gå igenom en array (eller lista)
    • Länkade listor och andra strukturer
    • Ta bort saker ur listan man går igenom
    • 2D-spelbräden
    • Timers
  • CONTRIBUTING
Powered by GitBook
On this page
  • Width och height
  • Skapa eller ladda in
  • LoadImage()
  • LoadImageFromTexture()
  • LoadImageFromScreen()
  • GenImageColor()
  • Redigera
  • ImageDrawPixel()
  • ImageDrawCircle()
  • ImageDrawRectangle()
  • ImageDrawRectangleRec()
  • ImageDrawText()
  • ImageDrawTextEx()
  • GetImageColor()
  • ImageFlipHorizontal()
  • ImageFlipVertical()
  • ImageResize/ImageResizeNN()
  • Spara till hårddisken
  • ExportImage

Was this helpful?

  1. Annat
  2. RayLib […]
  3. Bilder och texturer

Image

PreviousTextureNextInput

Last updated 1 year ago

Was this helpful?

En Image är en bild som är sparad i datorns arbetsminne, och kan manipuleras på olika sätt.

För att man ska kunna rita ut den till fönstret behöver man sedan konvertera den till en . Det gör man genom .

Width och height

Varje image har en width och en height.

Console.WriteLine($"Width: {filebasedImage.Width});
Console.WriteLine($"Height: {filebasedImage.Height});

Rectangle hitBox = new Rectangle(0, 0, filebasedImage.Width, filebasedimage.Height);

Skapa eller ladda in

LoadImage()

Läser in en bildfil från hårddisken och lagrar den i minnet som en Image.

OBS! bilden måste ligga i samma mapp som Program.cs-filen!

Image filebasedImage = Raylib.LoadImage(@"hero.png");

LoadImageFromTexture()

Läser in en bildfil från en textur och lagrar den i minnet som en Image.

Image goombaImage = Raylib.LoadImageFromTexture(goombaTexture);

LoadImageFromScreen()

Kopierar det som just nu syns i fönstret.

Image screenshot = Raylib.LoadImageFromScree();

GenImageColor()

Skapar en ny blank image i minnet, fylld av den angivna färgen.

// Skapar en svart bild som är 200x200 pixlar.
Image blackImage = Raylib.GenImageColor(200, 200, Color.BLACK);

// Skapar en röd bild som är 200x200 pixlar.
Image redImage = Raylib.GenImageColor(200, 200, Color.RED);

Redigera

ImageDrawPixel()

Ändrar färg på en pixel i en Image.

// Ändrar pixeln som är 20 pixlar från vänsterkanten och 15 från 
// toppen av bilden till att bli blå
Raylib.ImageDrawPixel(ref targetImage, 20, 15, Color.BLUE);

ImageDrawCircle()

Raylib.ImageDrawCircle(ref targetImage, 150, 200, 40, Color.MAGENTA);

ImageDrawRectangle()

Raylib.ImageDrawRectangle(ref targetImage, 10, 10, 30, 40, Color.ORANGE);

ImageDrawRectangleRec()

Rectangle r1 = new Rectangle(10,5,30,15);
Raylib.ImageDrawRectangleRec(ref targetImage, r1, Color.PINK);

ImageDrawText()

Raylib.ImageDrawText(ref targetImage, "Hello World", 100, 50, 20, Color.ORANGE);

ImageDrawTextEx()

Raylib.DrawTextEx(ref targetImage, f1, "Hello", new Vector2(20, 15), 40,0,Color.BLACK);

GetImageColor()

Läser av färgen på en specifik pixel.

// Hämtar färgen från x: 53, y: 17 i bilden redImage.
Color c = Raylib.GetImageColor(redImage, 53, 17);

ImageFlipHorizontal()

Flippar en Image horisontellt (spegelvänder).

Raylib.ImageFlipHorizontal(ref targetImage);

ImageFlipVertical()

Flippar en Image vertikalt.

Raylib.ImageFlipVertical(ref targetImage);

ImageResize/ImageResizeNN()

Ändrar storlek på en bild. NN-versionen ger ett skarpt resultat vilket fungerar bra för pixelart som skalas med jämna multiplikationer.

//Ändrar storleken på bilden "someImage" till 400x400 pixlar
Raylib.ImageResize(ref targetImage, 400, 400);

//Ändrar storleken på bilden "pixelartImage" till dubbla dess nuvarande storlek
RayLib.ImageResizeNN(ref pixelartImage, pixelartImage * 2, pixelartImage * 2);

Spara till hårddisken

ExportImage

Sparar en Image till hårddisken, som en png-bild.

Raylib.ExportImage(sourceImage, "hello.png");

OBS: Filnamnet måste sluta med ".png"!

Detta är alltså motsatsen till .

De flesta metoder här använder nyckelordet för att ange att den bild man stoppar in som parameter inte returneras i förändrad form, utan ändras på plats i minnet.

Fungerar som .

Fungerar som .

Fungerar som .

Fungerar som .

Fungerar som .

texture
LoadTextureFromImage
ref
DrawText()
DrawTextEx()
LoadTextureFromImage()
DrawCircle()
DrawRectangle()
DrawRectangleRec()