myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Image in einen Stream umwanderln | ImageSharp
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Image in einen Stream umwanderln | ImageSharp

 
Beiträge zu diesem Thema Autor Datum
 Image in einen Stream umwanderln | ImageSharp GotoDoWhileBoy 04.10.2019 11:39
 RE: Image in einen Stream umwanderln | ImageSharp Abt 04.10.2019 11:59
 RE: Image in einen Stream umwanderln | ImageSharp Th69 04.10.2019 12:05
 RE: Image in einen Stream umwanderln | ImageSharp GotoDoWhileBoy 04.10.2019 12:18
 RE: Image in einen Stream umwanderln | ImageSharp BhaaL 04.10.2019 12:36
 RE: Image in einen Stream umwanderln | ImageSharp GotoDoWhileBoy 04.10.2019 13:29
 RE: Image in einen Stream umwanderln | ImageSharp BhaaL 04.10.2019 13:47
 RE: Image in einen Stream umwanderln | ImageSharp GotoDoWhileBoy 04.10.2019 13:55
 RE: Image in einen Stream umwanderln | ImageSharp Abt 04.10.2019 14:03

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
GotoDoWhileBoy GotoDoWhileBoy ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.10.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio


GotoDoWhileBoy ist offline

Image in einen Stream umwanderln | ImageSharp

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hey ich weiß nicht so recht wie ich ein Image von ImageSharp in einen Stream hinein packen kann und verzweifel da ein wenig dran. Aktuell suche ich eine Methode um das Image in ein Byte Array zu packen.

C#-Code:
public Stream Upload(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(); <- Baustelle
               // return stream;
            }
        }

Ich wäre über jede hilfe erfreut

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von GotoDoWhileBoy am 04.10.2019 12:14.

04.10.2019 11:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.807
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo und Willkommen.

Du suchst hier im Forum nach Hilfe; daher wäre es auch toll, wenn Du Dich an  [Hinweis] Wie poste ich richtig? halten und u.a. die Code Tags verwenden würdest.
Kein Helfer hier hat große Lust Deinen Plaintext Code zu lesen Daumen hoch

Zitat von
GotoDoWhileBoy:
Aktuell suche ich eine Methode um das Image in ein Byte Array zu packen.

Ein Bild in ein Byte Array zu überführen ist quasi ein Alltagsproblem
 Google-Suche nach c# image to byte array
Gleich der erste Treffer zeigt, wie Du den MemoryStream richtig nutzt.

Sollte es nicht das sein, was Du suchst, dann musst Du genauer sagen, was das Problem ist.
04.10.2019 11:59 Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.576
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es gibt eine passende Überladung dafür:  Image.Save(Stream, ImageFormat)
04.10.2019 12:05 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GotoDoWhileBoy GotoDoWhileBoy ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.10.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von GotoDoWhileBoy

GotoDoWhileBoy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Th69:
Es gibt eine passende Überladung dafür:  Image.Save(Stream, ImageFormat)

Da ich nicht System.Drawing verwende sehe ich da geringen erfolg. Aber ich schaue es mir an und versuche, daraus was abzuleiten.

Zitat von Abt:
Hallo und Willkommen.

Du suchst hier im Forum nach Hilfe; daher wäre es auch toll, wenn Du Dich an  [Hinweis] Wie poste ich richtig? halten und u.a. die Code Tags verwenden würdest.
Kein Helfer hier hat große Lust Deinen Plaintext Code zu lesen :O

Ja hatte mich am anfang vertippt, weshalb das

[code] tag nicht richtig gesetzt war und ich es dann gelassen habe. Danke für den Link.

Zitat von Abt:
Zitat von
GotoDoWhileBoy:
Aktuell suche ich eine Methode um das Image in ein Byte Array zu packen.

Ein Bild in ein Byte Array zu überführen ist quasi ein Alltagsproblem
 Google-Suche nach c# image to byte array
Gleich der erste Treffer zeigt, wie Du den MemoryStream richtig nutzt.

Sollte es nicht das sein, was Du suchst, dann musst Du genauer sagen, was das Problem ist.

Das scheint aber für die System.drawing Bibliothek zu sein, Ich schaue es mir an und probiere rum aber ich glaube nicht, dass es für meinen Fall mir weiter hilft.
04.10.2019 12:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BhaaL BhaaL ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.02.2008
Beiträge: 631
Entwicklungsumgebung: VS2017


BhaaL ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Laut  der ImageSharp Doku gibts auch ein image.Save(stream).
Was spricht dagegen, das zu nutzen?
04.10.2019 12:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GotoDoWhileBoy GotoDoWhileBoy ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.10.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von GotoDoWhileBoy

GotoDoWhileBoy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von BhaaL:
Laut  der ImageSharp Doku gibts auch ein image.Save(stream).
Was spricht dagegen, das zu nutzen?

klingt für mich erst mal eher wie das abspeichern für ein Bild.

und ich bin mir nicht so sicher, was mit outstream gemeint ist.
04.10.2019 13:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
BhaaL BhaaL ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.02.2008
Beiträge: 631
Entwicklungsumgebung: VS2017


BhaaL ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ein beliebiger Stream halt. Beispielsweise dein MemoryStream den du eingangs genannt hattest.
04.10.2019 13:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
GotoDoWhileBoy GotoDoWhileBoy ist männlich
myCSharp.de-Mitglied

Dabei seit: 04.10.2019
Beiträge: 4
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von GotoDoWhileBoy

GotoDoWhileBoy ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von BhaaL:
Ein beliebiger Stream halt. Beispielsweise dein MemoryStream den du eingangs genannt hattest.

Danke


Ich möchte aber daraus kein Bild machen, sondern aus dem Bild das im Image gehalten wird, in einen Stream umwandeln um ihn an einer anderen stelle weiter zu verwenden.

Code:
1:
memoryStream = image.save(memoryStream);

<- Das ergibt für mich von der Syntax her wenig Sinn.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von GotoDoWhileBoy am 04.10.2019 13:57.

04.10.2019 13:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.807
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Der Syntax ist auch falsch.

Man kann es 1:1 verwenden wie im ersten Link, den die Suche, die ich Dir gegeben habe, auflistet.

C#-Code:
byte[] bytes;
using(var ms = new MemoryStream())
{
  image.Save(ms);
  bytes =  ms.ToArray();
}

Alternativ einfach in die Doku schauen, wie es funktioniert.
Da ist sogar ein Beispiel....aber wenn man sich das nicht anschaut.... verwundert

C#-Code (https://docs.sixlabors.com/articles/ImageSharp/Processing.html):
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;

using (Image image = Image.Load(inStream))
{
    // Create a deep copy of the given image, resize it, and return it for chaining.
   using (Image copy = image.Clone(x => x.Resize(image.Width / 2, image.Height / 2)))
   {
       copy.Save(outStream);
   }
} // Dispose - releasing memory into a memory pool ready for the next image you wish to process.
04.10.2019 14:03 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 7 Monate.
Der letzte Beitrag ist älter als 7 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 26.05.2020 15:53