![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Ребята помогите пожалуйста разобраться со следующей задачей. У меня есть файл TIFF и мне необходимо получить(перегнать в) битовую информацию. Никогда не занимался подобными задачами и с трудом представляю как это выглядит! Может кто-то поможет с кодом и если не трудно выкладывайте ссылки где об этом можно почитать, чтобы разобраться Всем Спасибо!
|
|||
|
||||
| Madonna |
|
|||
![]() Forbidden love... ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 22.1.2009 Где: Москва Репутация: нет Всего: 4 |
//delete
Partizan, может сериализовать? Это сообщение отредактировал(а) Madonna - 11.5.2009, 17:00 --------------------
Best regards, Madonna |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
а что значит "перегнать в битовую информацию"?
http://www.codeproject.com/KB/GDI-plus/Bit...eConverter.aspx http://ru.wikipedia.org/wiki/TIFF -------------------- СУВ, Partizan. |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Спасибо за ответы
Добавлено через 4 минуты и 17 секунд Забыл добавить, что этот формат может хранить не только картинку, поэтому стоит задача сжимать файл данного формата вне зависимости от его содержимого! |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
myendlessness, ну тогда можно просто побайтово прочитать файл.
курить msdn по классу FileStream -------------------- СУВ, Partizan. |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
MSDN дело понятное, сижу читаю)) Однако, хотелось бы увидеть тех кто работал, чтобы возможно код какой выложили или ссылки дали на статьи или что-нибюудь в этом духе. Полазил в нете, информации толковой на эту тему совсем немного. Вот на мой взгляд наиболее полезная
http://www.codeproject.com/KB/GDI-plus/Bit...eConverter.aspx partners.adobe.com/public/developer/en/tiff/TIFF6.pdf http://www.leadtools.com/Utilities/TIFF_Ed...TIFF-Editor.htm |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Покурил я MSDN и вот что нашёл) очень интересно всем кому необходимо разобраться с TIFF
http://msdn.microsoft.com/ru-ru/library/aa969817.aspx http://msdn.microsoft.com/ru-ru/library/ms748873.aspx http://msdn.microsoft.com/ru-ru/library/ms750864.aspx http://msdn.microsoft.com/ru-ru/library/sy...tmapsource.aspx http://msdn.microsoft.com/ru-ru/library/sy...mapdecoder.aspx http://msdn.microsoft.com/ru-ru/library/sy...mapencoder.aspx http://social.msdn.microsoft.com/Forums/ru...48-775f6d091ab1 http://social.msdn.microsoft.com/Forums/en...c-d8db5c768acc/ и ещё немного инфы) http://www.velocityreviews.com/forums/t116...ew-problem.html http://www.developmentnow.com/g/20_2006_10...ion-problem.htm http://stackoverflow.com/questions/623636/...t-3rd-party-lib http://www.gotdotnet.ru/Forums/Common/1322.aspx Ну всё теперь осталось дело за малым написать хорошую программу)) |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Ребята не бейти меня сильно ногами, а лучше подаскажите, пожалуйста, вот у меня такой код чтения Tiff в Txt правда там не байты выдаёт, а чар в нотпад.
do { i = Tiff.ReadByte(); if (i != -1) Txt.WriteByte((byte)i); } while (i != -1); Так вот в чём вопрос, есть у мня структура Tiff, но я ничего не могу понять. Например если я хочу только данные, которые касаются конкретно картинки прочитать и сжать, то с какого бйта мне нужно читать? А с какого по какой байт содерждится информация о картинке? Выкладываю структуру Tiffа может кто разберётся. Есть ещё EncoderDecoder, но я не понимаю как его использовать для моей задачи! A Sample Bilevel TIFF File Offset Description Value (hex) (numeric values are expressed in hexadecimal notation) Header: 0000 Byte Order 4D4D 0002 42 002A 0004 1st IFD offset 00000014 IFD: 0014 Number of Directory Entries 000C 0016 NewSubfileType 00FE 0004 00000001 00000000 0022 ImageWidth 0100 0004 00000001 000007D0 002E ImageLength 0101 0004 00000001 00000BB8 003A Compression 0103 0003 00000001 8005 0000 0046 PhotometricInterpretation 0106 0003 00000001 0001 0000 0052 StripOffsets 0111 0004 000000BC 000000B6 005E RowsPerStrip 0116 0004 00000001 00000010 006A StripByteCounts 0117 0003 000000BC 000003A6 0076 XResolution 011A 0005 00000001 00000696 0082 YResolution 011B 0005 00000001 0000069E 008E Software 0131 0002 0000000E 000006A6 009A DateTime 0132 0002 00000014 000006B6 00A6 Next IFD offset 00000000 Values longer than 4 bytes: 00B6 StripOffsets Offset0, Offset1, ... Offset187 03A6 StripByteCounts Count0, Count1, ... Count187 0696 XResolution 0000012C 00000001 069E YResolution 0000012C 00000001 06A6 Software “PageMaker 4.0” 06B6 DateTime “1988:02:18 13:59:59” Image Data: 00000700 Compressed data for strip 10 xxxxxxxx Compressed data for strip 179 xxxxxxxx Compressed data for strip 53 xxxxxxxx Compressed data for strip 160 . |
|||
|
||||
| myendlessness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 8.8.2008 Репутация: нет Всего: нет |
Может быть, кто-нибудь подскажет, суть такая: я декодирую картинку вот так:
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); BitmapSource bitmapSource = decoder.Frames[0]; Затем копирую из неё массив пикселей, и часть из этих пикселей меняю: stride1 = bitmapSource.PixelWidth * 4; decoder.Frames[0].CopyPixels(pixels1, stride1, 0); for (int k = 0; k < 1791; k++) { pixels[k] = pixels1[k]; } for (int k = 1791; k < 691200; k++) { pixels[k] = (byte) 255; } Первым циклом читаю и записываю данные об изобюражении Вторым непосредственно записываю сами Image data Теперь я не могу понять как мне создать картинку из массива пикселей, который я получил(pixels), то есть в конечном итоге должна получится новая картинка? Может я избрал не совсем верный подход, в чём моя ошибка? |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |