Cześć. Mam problem z odczytywaniem pliku rtf zawierającego obrazy. Za pomocą pickera przekazuję plik do RichEditBox'a i tu pojawia się problem. Jeśli obraz ma rozmiar 1201x691 zamiast obrazu zostaje wstawiona pusta linia. Dla obrazu w rozmiarze 717x460 odczyt i wyświetlanie odbywa się prawidłowo. Jak rozumiem nie jest to kwestia właściwości boxa ponieważ mogę w moim edytorze wyświetlić ten większy obraz dopisać coś i zapisać do rtf ale kiedy ponownie go odczytuje to znowu zamiast obrazu pojawia się pusta linia. Walczę z tematem od 2 dni bez rezultatu. Proszę o pomoc. Załączam kod pickera.
private async void btn_Click(object sender, RoutedEventArgs e)
{
Windows.Storage.Pickers.FileOpenPicker open =
new Windows.Storage.Pickers.FileOpenPicker();
open.SuggestedStartLocation =
Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
open.FileTypeFilter.Add(".Rtf");
Windows.Storage.StorageFile file = await open.PickSingleFileAsync();
if (file != null)
{
try
{
Windows.Storage.Streams.IRandomAccessStream randAccStream =
await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);
rtb.Document.LoadFromStream(Windows.UI.Text.TextSetOptions.FormatRtf , randAccStream);
}
catch (Exception)
{
ContentDialog errorDialog = new ContentDialog()
{
Title = "Błąd odczytu",
Content = "Brak możliwości odczytania pliku.",
PrimaryButtonText = "Ok"
};
await errorDialog.ShowAsync();
}
}
}
Ok wygląda na to że przyczyną jest skalowanie obrazu. Domyślnie po wrzuceniu obrazu jest on skalowany do proporcji 1:1 i nie radzi sobie z innymi proporcjami przy otwieraniu. Tylko co dalej? Poszukiwania w toku :D