Próbuję zmienić rozmiar, a następnie przycinać kwadratowo przychodzące obrazy. Mam swoje zdjęcie w postaci ReadOnlyStream
i chcę wypisać na numer MemoryStream
.Zmiana rozmiaru i kadrowanie obrazów za pomocą ImageResizer
Używam biblioteki ImageResizer, aby to zrobić.
Chciałbym, aby moje obrazy najpierw zmniejszyły rozmiar, a następnie wyśrodkowały je kwadratowo. Używam tego kodu, ale nie produkuję tego, czego potrzebuję. Niczego nie produkuje ...
var resultStream = new MemoryStream();
ImageJob job = new ImageJob(imageStream, resultStream, new Instructions {
Width = 100,
Height = 100,
Mode = FitMode.Crop
});
job.Build();
Ten kod powinien zmniejszać duże obrazy i przycinać je w oparciu o domyślne ustawienia biblioteki (przycinanie w środku).
Nie podałem żadnej konkretnej konfiguracji w web.config, ponieważ jak rozumiem, to nie jest wymagane.
Co robię źle?
Kiedy mówisz, że nic nie produkuje, masz na myśli, że resultStream.Length == 0? Oczywiście po ponownym zapisaniu do ImageResizera konieczne będzie ponowne wyszukiwanie strumienia pamięci do 0. –
@ComputerLinguist: Zakładałem, że czytelnicy strumienia ustawili początkowo pozycję, aby uniemożliwić coś podobnego. Pozwól mi spróbować od razu i zobacz, co się stanie. –