Как я могу знать, находится ли изображение в формате TIFF в формате CCITT T.6 (Группа 4)?

Вам необходимо добавить WebGetAttribute к вашему методу, как показано в следующем примере

[OperationContract]
[WebGet(UriTemplate = "/placesList/{userId}",
ResponseFormat = WebMessageFormat.Xml)]
List GetAllPlacesForUser(String userId)
{
  string xml = "";
  // build xml here
  return xml;
}

Теперь в браузере вы можете вызвать метод следующим образом

http: // localhost: 8085 / GeoPlacesDataService / placeList / 10
где 10 - это параметр userId.

Примечание: Чтобы добавить WebGetAttribute, необходимо сослаться на пространство имен System.ServiceModel.Web, которое находится в отдельной сборке

9
задан Jacob 10 October 2009 в 17:50
поделиться

4 ответа

Вы можете использовать этот пример кода (C #). Он возвращает значение, указывающее тип сжатия:

1: без сжатия
2: CCITT Group 3
3: Факс-совместимая группа CCITT 3
4: CCITT Группа 4 (T.6)
5: LZW

public static int GetCompressionType(Image image)
{
    int compressionTagIndex = Array.IndexOf(image.PropertyIdList, 0x103);
    PropertyItem compressionTag = image.PropertyItems[compressionTagIndex];
    return BitConverter.ToInt16(compressionTag.Value, 0);
}
13
ответ дан 4 December 2019 в 08:15
поделиться

Вы можете проверить эти ссылки

Тег 259 (шестнадцатеричный 0x0103) хранит информацию о Метод сжатия.

--- Сжатие Тег = 259 (103) Тип = слово N = 1 По умолчанию = 1.

1 = Без сжатия, но данные упаковываются в байты как можно плотнее, без неиспользуемые биты, кроме конца строки. Байты хранятся в виде массива байтов для BitsPerSample <= 8, слово, если BitsPerSample> 8 и <= 16, и dword, если BitsPerSample> 16 и <= 32. Порядок байтов данных> 8 бит должно соответствовать тому, что указано в заголовке файла TIFF (байты 0 и 1). Строки должны начинаться на границах байтов.

2 = CCITT Group 3 Одномерное модифицированное кодирование длины серии Хаффмана. См. ALGRTHMS.txt. BitsPerSample должен быть 1, так как этот тип сжатия определяется только для двухуровневых изображений (например, изображений для факсов ...)

3 = Факс-совместимая группа CCITT 3, в точности как указано в «Стандартизация факсимильных аппаратов группы 3 для документов. передача », Рекомендация Т.4, Том VII, Раздел VII.3, Терминальное оборудование и протоколы для телематических служб, Международный консультативный комитет по телеграфу и телефону (CCITT), Женева, 1985, страницы с 16 по 31. Каждая полоса должна начинается с границы байта. (Но помните, что изображение может быть одна полоса.) Строки, которые не являются первым рядом полосы, не требуется начинать на границе байта. Данные хранятся как байты, а не слова - обращение байтов запрещено. Увидеть Поле Group3Options для параметров группы 3, таких как 1D или 2D-кодирование.

4 = Факс-совместимая группа CCITT 4 , точно как указано в «Схемы кодирования факсимильных сообщений и функции управления кодированием для группы 4 Факсимильный аппарат, Рекомендация Т.6, Том VII, Буклет VII.3, Терминальное оборудование и протоколы для телематических служб, Международный консультативный комитет по телеграфу и телефону (CCITT), Женева, 1985, страницы 40–48. Каждая полоса должна начинается с границы байта. Строки, которые не являются первым рядом Полоса не обязательно должна начинаться на границе байта. Данные хранятся как байты, а не слова. См. Поле Group4Options для Параметры группы 4.

5 = Сжатие LZW для изображений в оттенках серого, сопоставленных цветов и полноцветных изображений.

9
ответ дан 4 December 2019 в 08:15
поделиться

Вы можете запустить identify -verbose из набора ImageMagick на изображении. Найдите в выходных данных «Сжатие: Группа 4».

4
ответ дан 4 December 2019 в 08:15
поделиться

ОБНОВЛЕНИЕ:

Итак, я загрузил библиотеку libtiff по ссылке, упомянутой ранее, и из того, что я видел, вы можете сделать следующее: ( непроверено)

int isTIFF_T6(const char* filename)
{
TIFF* tif= TIFFOpen(filename,"r");
TIFFDirectory *td = &tif->tif_dir;
if(td->td_compression == COMPRESSION_CCITTFAX4) return 1;
return 0;
}

ПРЕДЫДУЩАЯ: Эта страница содержит много информации об этом формате и ссылки на некоторый код в C:

Вот выдержка:

Следующая статья охватывает T.4, T .6 и JBIG:

"Обзор стандартов для электронных изображения для факсимильных систем »в Журнал электронного изображения, Vol. 1, № 1, стр. 5–21, январь 1992 г.

Исходный код можно получить как часть набор инструментов TIFF - изображение TIFF методы сжатия двоичных файлов изображения включают CCITT T.4 и T.6:

ftp://ftp.sgi.com/graphics/tiff/tiff-v3.4beta035-tar.gz Контакт: sam@engr.sgi.com

Подробнее: http://www.faqs.org/faqs/compression-faq/part1/section-16.html#ixzz0TYLGKnHI

0
ответ дан 4 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: