У меня есть изображение tiff в приложении wpf. Сначала я преобразовал изображение в байты, используя поток памяти, а затем преобразовал байты в битовый образ.Я даю растровое изображение изображению. Я также беру другое изображение и указываю его исходный путь непосредственно к изображению без преобразований. То, что я наблюдал, это качество изображения после преобразований стало низким.Почему так происходит?
Мой код следующим образом.Я использовал File.ReadAllBytes ("filepath") для преобразования изображения в байты.
Я использовал метод ниже, чтобы получить BitmapSource из байта []. Затем я назначил битовый источник для изображения
public static System.Windows.Media.Imaging.BitmapSource ConvertBytesToBitmapSource(byte[] imageBytes)
{
System.Drawing.Bitmap source = new System.Drawing.Bitmap(ConvertBytesToImage(imageBytes));
IntPtr imagePtr = source.GetHbitmap();
System.Windows.Media.Imaging.BitmapSource bitmapSour = null;
try
{
bitmapSour = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(imagePtr,
IntPtr.Zero, System.Windows.Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
catch (Exception ex)
{
logger.Error("Error in converting bytes to BitmapSource", ex);
throw ex;
}
finally
{
DeleteObject(imagePtr);
}
return bitmapSour;
}