Ergebnis 1 bis 4 von 4

ASP .NET Core Bildbearbeitung

  1. #1 Zitieren
    Halbgott Avatar von Progrinator
    Registriert seit
    Apr 2018
    Ort
    München
    Beiträge
    9.174
    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.
    Progrinator ist offline

  2. #2 Zitieren

    Batmanistrator
    Avatar von Thoronador
    Registriert seit
    Jul 2005
    Ort
    Morrowind, Vvardenfell-Distrikt
    Beiträge
    20.405
    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 ist offline

  3. #3 Zitieren
    Halbgott Avatar von Progrinator
    Registriert seit
    Apr 2018
    Ort
    München
    Beiträge
    9.174
    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.

    Progrinator ist offline Geändert von Progrinator (22.09.2019 um 10:38 Uhr)

  4. #4 Zitieren
    Halbgott Avatar von Progrinator
    Registriert seit
    Apr 2018
    Ort
    München
    Beiträge
    9.174
    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.
    Progrinator ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •