Results 1 to 4 of 4

ASP .NET Core Bildbearbeitung

  1. #1 Reply With Quote
    Ehrengarde Progrinator's Avatar
    Join Date
    Apr 2018
    Posts
    2,274
    Ich versuche aktuell ein Bild in APS Net Core zu bearbeiten, dass in ein IFormFile Element gehalten wird. Aktuelle bin ich am dauerhaften Googlen und finde nichts so wirklich dazu. Hat da jemand evtl. eine Idee.

    Ansich möchte ich es nur in eine PNG Datei umwandeln und die Auflösung abhändern.
    PC: Ryzen 7 3700x | 32GB RAM | GeForce 960 4GB | 1TB+240GB SATA SSD | 2TB HDD | 1TB M2 |
    Laptop: i5 7300HQ | 8GB RAM | GeForce 1050 4GB | 120GB SSD | 1TB HDD |
    Konsolen: PS4 | PS2 | GameCube | Gameboy SP | Nitendo Switch|
    [Bild: sdasdasdasd.jpg]
    Progrinator is offline

  2. #2 Reply With Quote

    Batmanistrator
    Thoronador's Avatar
    Join Date
    Jul 2005
    Location
    Morrowind, Vvardenfell-Distrikt
    Posts
    18,646
    Mit ASP .NET habe ich zwar noch nicht gearbeitet, aber man könnte es evtl. mit einer Bibliothek wie ImageSharp probieren. Damit könnte man das Bild von einem Stream laden und dann im gewünschten Format neu abspeichern: https://docs.sixlabors.com/articles/...geFormats.html Das IFormFile-Element sollte laut Dokumentation ja eine Möglichkeit bieten, die Bilddaten als Stream abzugreifen.
    Thoronador is offline

  3. #3 Reply With Quote
    Ehrengarde Progrinator's Avatar
    Join Date
    Apr 2018
    Posts
    2,274
    Aktuell sieht es so aus:

    Code:
    public void ImageChanger(IFormFile file)
            {
                using (var image = Image.Load(file.OpenReadStream()))
                {
                    float multiplikator;
                    int maxValueForImagelength = 135;
                    int otherlength;
                    if (image.Height > image.Width)
                    {
                        multiplikator = image.Width / image.Height;
                        multiplikator = maxValueForImagelength * multiplikator;
                        otherlength = (int) multiplikator;
                        image.Mutate(c => c.Resize(otherlength, maxValueForImagelength));
                    }
                    else
                    {
                        multiplikator = image.Height / image.Width;
                        multiplikator = maxValueForImagelength * multiplikator;
                        otherlength = (int)multiplikator;
                        image.Mutate(c => c.Resize(maxValueForImagelength, otherlength));
                    }
                    image.Save("jame.png");
                    Stream stream = new MemoryStream(MemoryMarshal.AsBytes<byte>(image.GetPixelSpan().ToArray())); // Hier ist es noch fehlerhaft. Ich will aus dem Image ein Sream machen
                    
                }
            }
    Aktuell stehe ich vor dem Problem, dass ich das Image als stream speichern will.

    PC: Ryzen 7 3700x | 32GB RAM | GeForce 960 4GB | 1TB+240GB SATA SSD | 2TB HDD | 1TB M2 |
    Laptop: i5 7300HQ | 8GB RAM | GeForce 1050 4GB | 120GB SSD | 1TB HDD |
    Konsolen: PS4 | PS2 | GameCube | Gameboy SP | Nitendo Switch|
    [Bild: sdasdasdasd.jpg]
    Progrinator is offline Last edited by Progrinator; 22.09.2019 at 11:38.

  4. #4 Reply With Quote
    Ehrengarde Progrinator's Avatar
    Join Date
    Apr 2018
    Posts
    2,274
    Code:
    image.save(stream) bzw image.saveaspng(strean)
    war die Lösung. Ansicht die ganze Zeit vor meinen Augen. Da aber die Syntax für mich nach was anderem aussieht,
    habe ich das nicht realisiert. Ich dachte eher an stream.irgendwas(image)
    Oder das ich erst mal das image.toByteArray oder ka. was machen muss.
    Das ich vom Image aus gehe und in deren entsprechende Methode den Stream als Übergabe-Parameter angebe, hat sich für mich nicht nachdem angehört, was ich suche.

    Naja, so habe ich wenigstens gelernt, über den eigenen Horizont hinaus zu schauen und diese Spezifische Sache.
    PC: Ryzen 7 3700x | 32GB RAM | GeForce 960 4GB | 1TB+240GB SATA SSD | 2TB HDD | 1TB M2 |
    Laptop: i5 7300HQ | 8GB RAM | GeForce 1050 4GB | 120GB SSD | 1TB HDD |
    Konsolen: PS4 | PS2 | GameCube | Gameboy SP | Nitendo Switch|
    [Bild: sdasdasdasd.jpg]
    Progrinator is offline

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •