Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переполнение памяти при загрузке изображения, Ошибка открытия файла 
:(
    Опции темы
AGENTxXx
Дата 1.4.2016, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Всем привет!

Столкнулся с интересной проблемой - не могу открыть по виду обычный файл...

Вот код:
Код

imageList1.Images.Add(Image.FromFile(file.FullName));


Пробовал и так:
Код

Bitmap bitmap = (Bitmap)Image.FromFile(file.FullName); //Тут ошибка переполнения


И даже так:
Код

var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read);
var img = Image.FromStream(fs); // Тут ошибка в передаваемом параметре
fs.Dispose();


Прикрепить файл не удалось, т.к. больше 1 мегабайта. Вот, ссылка:
prokoder.ru/1448.rar

Из найденных моментов - например paint тоже не может открыть этот файл, хотя редакторы просмотра - без проблем. Определил косяк - из за формата цветок CMYK. Но изменить формат нельзя. Нужно как-то с ним работать. Может кто знает...

Был бы рад за ваши ответы.

Это сообщение отредактировал(а) AGENTxXx - 1.4.2016, 12:04
PM MAIL   Вверх
sgrey
Дата 2.4.2016, 05:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



Tiff надо читать через свой класс https://msdn.microsoft.com/en-us/library/aa...=vs.100%29.aspx
PM MAIL   Вверх
AGENTxXx
Дата 22.4.2016, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Цитата(sgrey @ 2.4.2016,  05:46)
Tiff надо читать через свой класс https://msdn.microsoft.com/en-us/library/aa...=vs.100%29.aspx

Спасибо за ответ!
Я реализовал следующим образом:
Код

Stream imageStream = new
FileStream(@"1.tif", FileMode.Open, FileAccess.Read, FileShare.Read);
BitmapSource myBitmapSource = BitmapFrame.Create(imageStream);

FormatConvertedBitmap newFormatedBitmapSource = new FormatConvertedBitmap();
newFormatedBitmapSource.BeginInit();
newFormatedBitmapSource.Source = myBitmapSource;

newFormatedBitmapSource.EndInit();

TiffBitmapEncoder encoder2 = new TiffBitmapEncoder();
encoder2.Compression = TiffCompressOption.None;
BitmapEncoder encoder = encoder2;

encoder.Frames.Add(BitmapFrame.Create(newFormatedBitmapSource));
Stream cmykStream = new FileStream(@"mike4_CMYK.tif",

FileMode.Create, FileAccess.Write, FileShare.Write);
encoder.Save(cmykStream);
cmykStream.Close();


К сожалению с глубиной так и не смог решить проблему, но, как оказалось - этого и не надо было в итоге. Ребята, которым нужно было сделать, перепутали изображения и нужно было работать с tiff и RGB 24х битным. В итоге всё нормально получилось. Но было бы здорово, если кто-то всё же знает, как решить эту проблему
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.