|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2020, 22:26 | #1 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
MemoryStream чтение и запись и svg.dll
Пару дней уже мучаюсь.
svg файл читается в MemorryStream в виде Код:
Запись в тот же memStream дает ошибку |
26.03.2020, 12:00 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
26.03.2020, 13:26 | #3 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
"Поток в памяти не подлежит расширению"
Оказалось все сложнее, но не могу понять как это изменить. Разработчик пока молчит. Исходники есть. Есть массив в классе Image - public byte[] Data { get; set; } В другом cs есть код с установкой размера этого массива с предварительной инициализацией image = new Image(); и далее чтение файлового потока image.Data = new byte[fileStream.Length]; fileStream.Read(image.Data, 0, image.Data.Length); а уже в другом cs как раз открытие потока памяти на указанный массив Image.Data Мне нужно подменить данные в этом массиве, но они больше размером установленного для конкретного Image.Data так как svg.dll формирует свои служебные строки и атрибуты... Последний раз редактировалось melky; 26.03.2020 в 13:46. |
26.03.2020, 14:23 | #4 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Так если вы пропустите эти строки и закинете свой массив данных как библиотека поймет как ей с этим работать??
Что сделать то хотите??
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
26.03.2020, 15:09 | #5 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
Хочу подменять данные картинки. Собственно победил. Может коряво, но если идея срастется, то разработчик потом подправит...
Я все пытался скопировать через промежуточный поток памяти и получал то одну, то другую ошибку. Оказалось все проще. Надо было копировать не поток в поток, а изменить (в данном случае создать по новой Image.Data = new byte[размер нового потока]; И дать команду Image.Data = newStream.ToArray(); И блок данных подменился на мой. Далее программа восприняла его с пометкой "свой" и продолжила работать... WorldMaster это особенность svg.dll, мой файл картинки svg не имеет служебных строк и части атрибутов для изображения, а эта библиотека их добавляет при чтении потока, соответственно размер немного больше, чем исходный код xml в моем svg Последний раз редактировалось melky; 26.03.2020 в 15:12. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
JS и PHP запись и чтение файла. | Сергей Собянин | Помощь студентам | 2 | 16.09.2018 21:07 |
Чтение/запись в/из фаил(а) | fishcat | Общие вопросы C/C++ | 4 | 27.06.2014 10:47 |
Запись на ЖД из MemoryStream в многопоточном приложении | Pcrepair | Общие вопросы Delphi | 6 | 26.08.2013 01:50 |
Чтение и запись файлов | schmitz | C# (си шарп) | 3 | 29.05.2013 00:51 |
Чтение и запись из файлов | Rocky095 | Помощь студентам | 4 | 08.12.2012 10:52 |