Я хочу написать приложение, которое принимает изображение (jpeg, png, tiff, gif, ...) в качестве потока и преобразует его в jrx (jpeg xr) с сжатием без потерь.Как изменить форматы файлов изображений
Вот что я пытался до сих пор, не годным к употреблению результата:
using System.Windows.Media.Imaging;
//decode jpg
public static BitmapSource ReadJpeg(Stream imageStreamSource)
{
JpegBitmapDecoder decoder = new JpegBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];
return bitmapSource;
}
//encode
public static Stream Encode(BitmapSource image)
{
WmpBitmapEncoder encoder = new WmpBitmapEncoder();
MemoryStream s = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(s);
return s;
}
Может кто-то мне точку в правильном направлении? Я вишу здесь уже некоторое время.
Если вам нужна дополнительная информация, пожалуйста, спрашивайте.
System.Drawing.Bitmap to JPEG XR работает для данных форматов ввода, но не полностью покрывает мой вопрос, потому что часть декодирования изображения отсутствует.
Спасибо всем, что указали мне в правильном направлении! Теперь я знаю, как действовать.
ли .NET поддерживают даже '.jrx'? Никогда не слышал об этом формате, и я сомневаюсь, что он поддерживается. Я думаю, вам нужно написать код, который сам выписывает это изображение. –
В чем проблема? Сообщения? Результаты? Ожидаемые результаты? – DrKoch
Что такое "нет полезного результата"? Что происходит? – CodeCaster