Sto tentando di ridimensionare e quindi ritagliare le immagini in entrata. Ho la mia immagine in un ReadOnlyStream
e vorrei inviare a MemoryStream
.Ridimensionamento e ritaglio delle immagini con ImageResizer
Sto usando la libreria ImageResizer per fare questo.
Mi piacerebbe che le mie immagini riducessero prima le dimensioni e poi le centravano al quadrato. Sto usando questo codice, ma non produce ciò che richiedo. Produce niente ...
var resultStream = new MemoryStream();
ImageJob job = new ImageJob(imageStream, resultStream, new Instructions {
Width = 100,
Height = 100,
Mode = FitMode.Crop
});
job.Build();
Questo codice dovrebbe ridurre la risoluzione immagini di grandi dimensioni e ritagliare sulla base di impostazioni predefinite di libreria (al centro il ritaglio).
Non ho fornito alcuna configurazione specifica in web.config perché, come ho capito, non è necessario.
Cosa sto sbagliando?
Quando dici che non produce nulla, vuoi dire che resultStream.Length == 0? Dovrai naturalmente cercare nuovamente il flusso di memoria su 0 dopo che ImageResizer ti ha scritto. –
@ComputerLinguist: ho assunto che i lettori del flusso inizializzassero inizialmente la posizione in modo da evitare che accadesse qualcosa di simile. Fammi provare subito e guarda cosa succede. –