Перевод изображений в текст по стандарту кодирования Base64
Данный сервис преобразует двоичные файлы в текст по методу Base64. В зависимости от выбранной опции можно получить чистый текстовый код файла, либо код с добавленными тегами для вставки в html-текст страницы, в стили css и тегами фавикона в заголовке страницы. Тип изображения (gif, png, jpg . ) для тегов берётся из расширения кодируемого файла.
Кодирование картинок в текст часто применяется в сайтостроении. Для ускорения работы сайта полезно уменьшать количество файлов, отдаваемых веб-сервером. Для этого изображения можно передавать, закодированными в текст, прямо в html- и css- файлах.
Браузеры распознают закодированные в текст изображения по специальным тегам.
Примеры включения изображений в текст страниц ( КОД — полученный текстовый код):
— Изображение в HTML-документе:
.КОД"> .
— Изображение в стилях:
Как можно добавить текст в закодированное изображение
У нас получился так называемый растровый рисунок, состоящий из квадратиков-пикселей.
выписываем строки полученной таблицы одну за другой.
а для всего рисунка: 1A2642FF425A5A7E16.
Кодирование цвета
Что делать, если рисунок цветной? В этом случае для кодирования цвета пикселя уже не обойтись одним битом. Например, в показанном на рисунке изображении российского флага 4 цвета: черный, синий, красный и белый. Для кодирования одного из четырех вариантов нужно 2 бита, поэтому код каждого цвета (и код каждого пикселя) будет состоять из двух бит. Пусть 00 обозначает черный цвет, 01 – красный, 10 – синий и 11 – белый. Тогда получаем такую таблицу:
В модели RBG яркость каждой составляющей (или, как говорят, каждого канала) чаще всего кодируется целым числом от 0 до 255. При этом код цвета – это тройка чисел (R,G,B), яркости отдельных каналов. Цвет (0,0,0) – это черный цвет, а (255,255,255) – белый. Если все составляющие имеют равную яркость, получаются оттенки серого цвета, от черного до белого.
Чтобы сделать светло-красный (розовый) цвет, нужно в красном цвете (255,0,0) одинаково увеличить яркость зеленого и синего каналов, например, цвет (255, 150, 150) – это розовый.
Равномерное уменьшение яркости всех каналов делает темный цвет, например, цвет с кодом (100,0,0) – тёмно-красный.
При кодировании цвета на веб-страницах также используется модель RGB, но яркости каналов записываются в шестнадцатеричной системе счисления (от 0016 до FF16), а перед кодом цвета ставится знак #. Например, код красного цвета записывается как #FF0000, а код синего — как #0000FF.
| Цвет | Код (R,G,B) | Код на веб-странице |
| Красный | (255,0,0) | #FF0000 |
| Зеленый | (0,255,0) | #00FF00 |
| Синий | (0,0,255) | #0000FF |
| Белый | (255,255,255) | #FFFFFF |
| Черный | (0,0,0) | #000000 |
| Серый | (128,128,128) | #808080 |
| Фиолетовый | (255,0,255) | #FF00FF |
| Голубой | (0,255,255) | #00FFFF |
| Желтый | (255,255,0) | #FFFF00 |
| Тёмно-фиолетовый | (128,0,128) | #800080 |
| Светло-желтый | (255,255,128) | #FFFF80 |
Всего есть по 256 вариантов яркости каждого из трех цветов. Это позволяет закодировать 256 3 = 16 777 216 оттенков, что более чем достаточно для человека. Так как 256 = 2 8 , каждая из трех составляющих занимает в памяти 8 бит или 1 байт, а вся информация о каком — то цвете – 24 бита (или 3 байта). Эта величина называется глубиной цвета.
24-битное кодирование цвета часто называют режимом истинного цвета (англ. True Color – истинный цвет). Для вычисления объема рисунка в байтах при таком кодировании нужно определить общее количество пикселей (перемножить ширину и высоту) и умножить результат на 3, так как цвет каждого пикселя кодируется тремя байтами. Например, рисунок размером 20×30 пикселей, закодированный в режиме истинного цвета, будет занимать 20×30×3 = 1800 байт. Конечно, здесь не учитывается сжатие, которое применяется во всех современных форматах графических файлов. Кроме того, в реальных файлах есть заголовок, в котором записана служебная информация (например, размеры рисунка).
Кроме режима истинного цвета используется также 16 — битное кодирование (англ. High Color – «высокий» цвет), когда на красную и синюю составляющую отводится по 5 бит, а на зеленую, к которой человеческий глаз более чувствителен – 6 бит. В режиме High Color можно закодировать 2 16 = 65 536 различных цветов. В мобильных телефо 12-битное кодирование цвета (4 бита на канал, 4096 цветов).
Как правило, чем меньше цветов используется, тем больше будет искажаться цветное изображение. Таким образом, при кодировании цвета тоже есть неизбежная потеря информации, которая «добавляется» к потерям, вызванным дискретизацией. Однако при увеличении количества используемых цветов одновременно растет объем файла. Например, в режиме истинного цвета файл получится в два раза больше, чем при 12 — битном кодировании.
красный: RGB-код (255,0,0); двоичный код 01 2 ;
синий: RGB-код (0,0,255); двоичный код 10 2 ;
определить размер палитры, 3×N байт или 24×N бит;
определить глубину цвета (количество бит на пиксель), то есть найти наименьшее
натуральное число k , такое что 2 k ≥ N;
вычислить общее количество пикселей M, перемножив размеры рисунка;
определить информационный объем основной части M ×k бит.
| Количество цветов | Размер палитры (байт) | Глубина цвета (бит на пиксель) |
| 2 | 6 | 1 |
| 4 | 12 | 2 |
| 16 | 48 | 4 |
| 256 | 768 | 8 |
На трех дополнительных цветах – голубом, фиолетовом и желтом –строится цветовая модель CMY (англ. Cyan – голубой, Magenta – фиолетовый,Yellow – желтый), которая применяется для вывода на печать. Значения C=M=Y=0 говорят о том, что на белую бумагу не наносится никакая краска, поэтому все лучи отражаются, это белый цвет.
Если добавить голубого цвета, красные лучи поглощаются, остаются только синие и зеленые. Если сверху нанести еще желтую краску, которая поглощает синие лучи, остается только зеленый.
Обычно изображения, предназначенные для печати, готовятся на компьютере (в режиме RGB), а потом переводятся в цветовую модель CMYK. При этом стоит задача получить при печати такой же цвет, что и на мониторе. И вот тут возникают проблемы. Дело в том, что при выводе пикселей на экран монитор получает некоторые числа (RGB — коды), на основании которых нужно «выкрасить» пиксели тем или иным цветом. Отсюда следует важный вывод.
Это значит, что, например, красный цвет (R=255, G=B=0) на разных мониторах будет разным. Наверняка вы видели этот эффект в магазине где продают телевизоры и мониторы – одна и та же картинка на каждом из них выглядит по-разному. Что же делать?
Во-первых, выполняется калибровка монитора – настройка яркости, контрастности, белого, черного и серого цветов. Во-вторых, профессионалы, работающие с цветными изображениями, используют цветовые профили мониторов, сканеров, принтеров и других устройств. В профилях хранится информация о том, каким реальным цветам соответствуют различные RGB-коды или CMYK-коды. Для создания профиля используют специальные приборы – калибраторы (колориметры), которые «измеряют» цвет с помощью трех датчиков, принимающих лучи в красном, зеленом и синем диапазонах. Современные форматы графических файлов (например, формат .PSD программы Adobe Photoshop) вместе с кодами пикселей содержат и профиль монитора, на котором создавался рисунок.
Для того, чтобы результат печати на принтере был максимально похож на изображение на мониторе, нужно (используя профиль монитора) определить «абсолютный» цвет (например, в модели Lab), который видел пользователь, а потом (используя профиль принтера) найти CMYK — код, который даст при печати наиболее близкий цвет.
Проблема состоит в том, что не все цвета RGB-модели могут быть напечатаны. В первую очередь это относится к ярким и насыщенным цветам. Например, ярко-красный цвет (R=255, G=B=0) нельзя напечатать, ближайший к нему цвет в модели CMYK (C=0, M=Y=255, K=0) при обратном переводе в RGB может дать значения в районе R=237, G=28, B=26. Поэтому при преобразовании ярких цветов в модель CMYK (и при печати ярких рисунков) они становятся тусклее. Это обязательно должны учитывать профессиональные дизайнеры.
Растровое кодирование
| при дискретизации всегда есть потеря информации; |
| при изменении размеров изображения искажается цвет и форма объектов на рисунке, поскольку при увеличении размеров надо как-то восстановить недостающие пиксели, а при уменьшении – заменить несколько пикселей одним; |
| размер файла не зависит от сложности изображения, а определяется только разрешением и глубиной цвета; как правило, растровые рисунки имеют большой объем. |
GIF (англ. Graphics Interchange Format – формат для обмена изображениями, файлы с расширением .gif) – формат, поддерживающий только кодирование с палитрой (от 2 до 256 цветов); в отличие от предыдущих форматов, части рисунка могут быть прозрачными, то есть на веб-странице через них будет «просвечивать» фон; в современном варианте формата GIF можно хранить анимированные изображения; используется сжатие без потерь, то есть при сжатии изображение не искажается;
PNG (англ. Portable Network Graphics – переносимые сетевые изображения, файлы с расширением .png) – формат, поддерживающий как режим истинного цвета, так и кодирование с палитрой; части изображения могут быть прозрачными и даже полупрозрачными (32-битное кодирование RGBA, где четвертый байт задает прозрачность); изображение сжимается без искажения; анимация не поддерживается.
| Формат | Истинный цвет | С палитрой | Прозрачность | Анимация |
| BMP | да | да | — | – |
| JPEG | да | – | – | – |
| GIF | – | да | да | да |
| PNG | да | да | да | – |
Векторное кодирование
Какие сложности у вас возникли? Как их можно преодолеть?
2. Постройте черно-белый рисунок шириной 8 пикселей, закодированный шестнадцатеричной последовательностью 2466FF662416.
3. Постройте черно-белый рисунок шириной 5 пикселей, закодированный шестнадцатеричной последовательностью 3A53F8816.
4. Рисунок размером 10×15 см кодируется с разрешением 300 ppi. Оцените количество пикселей в этом рисунке. (Ответ: около 2 мегапикселей)
5. Постройте шестнадцатеричный код для цветов, имеющих RGB-коды (100,200,200), (30,50,200), (60,180, 20), (220, 150, 30). (Ответ: #64C8C8, #1E32C8, #3CB414, #DC961E)
6. Как бы вы назвали цвет, заданный на веб-странице в виде кода: #CCCCCC, #FFCCCC, #CCCCFF, #000066, #FF66FF, #CCFFFF, #992299, #999900, #99FF99? Найдите десятичные значения составляющих RGB — кода. (Ответ: (204,204,204), (255,204,204), (204,204,255), (0,0,102), (255.255,102), (104,255,255), (153,34,153), (153,153,0), (153,255,153))
7. Что такое глубина цвета? Как связаны глубина цвета и объем файла?
8. Какова глубина цвета, если в рисунке используется 65536 цветов? 256 цветов? 16 цветов? (Ответ: 16 бит; 8 бит; 4 бита)
9. Для желтого цвета найдите красную, зеленую и синюю составляющие при 12-битном кодировании. (Ответ: R=G=15, B=0)
10. Сколько места занимает палитра в файле, где используются 64 цвета? 128 цветов?
11. Сколько байт будет занимать код рисунка размером 40×50 пикселей в режиме истинного цвета? при кодировании с палитрой 256 цветов? при кодировании с палитрой 16 цветов? в черно-белом варианте (два цвета)? (Ответ: 6000, 2000, 1000, 250)
12. Сколько байт будет занимать код рисунка размером 80×100 пикселей в кодировании с глубиной цвета 12 бит на пиксель? (Ответ: 12000)
13. Для хранения растрового изображения размером 32×32 пикселя отвели 512 байтов памяти. Каково максимально возможное число цветов в палитре изображения? (Ответ: 16)
14. Для хранения растрового изображения размером 128 x 128 пикселей отвели 4 килобайта памяти. Каково максимально возможное число цветов в палитре изображения? (Ответ: 4)
15. В процессе преобразования растрового графического файла количество цветов уменьшилось с 1024 до 32. Во сколько раз уменьшился информационный объем файла? (Ответ: в 2 раза)
16. В процессе преобразования растрового графического файла количество цветов уменьшилось с 512 до 8. Во сколько раз уменьшился информационный объем файла?(Ответ: в 3 раза)
17. Разрешение экрана монитора – 1024 х 768 точек, глубина цвета – 16 бит. Каков необходимый объем видеопамяти для данного графического режима? (Ответ: 1,5 Мбайт)
18. После преобразования растрового 256-цветного графического файла в черно — белый формат (2 цвета) его размер уменьшился на 70 байт. Каков был размер исходного файла? (Ответ: 80 байт)
19. Сколько памяти нужно для хранения 64-цветного растрового графического изображения размером 32 на 128 точек? (Ответ: 3 Кбайта)
20. Какова ширина (в пикселях) прямоугольного 64-цветного неупакованного растрового изображения, занимающего на диске 1,5 Мбайт, если его высота вдвое меньше ширины? (Ответ: 2048)
![]() |
начальная школа |
![]() |
5 класс |
![]() |
6 класс |
![]() |
7 класс |
![]() |
8 класс |
![]() |
9 класс |
![]() |
10 класс |
![]() |
11 класс |
Вставка элемента управления «рисунок».
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Если вы хотите пользователи должны иметь возможность вставлять изображения в форму Microsoft Office InfoPath, с помощью управления «рисунок» в шаблоне формы. Элемент управления рисунка позволяет пользователям вставить рисунок в указанном месте в форме. Данные рисунка нажмите сохраняются в файле базовой формы (XML). Рисунки, которые пользователи вставлять в элемент управления рисунка может быть любого типа рисунка, которое можно просмотреть в Windows Internet Explorer.
В этой статье
- Когда следует использовать управления «рисунок»
- Пользовательский интерфейс
- Проблемы совместимости
- Вставка рисунка
- Советы по макету
Когда следует использовать управления «рисунок»
Если вы хотите используйте управления «рисунок»:
- Добавьте пустое место на шаблон формы, где пользователи могут вставлять рисунки, включая фотографии, картинки и рисунки.
- Добавление рисунка постоянных шаблона формы, которая не может быть заменен или удален, например логотип компании.
- Добавление рисунка временные шаблона формы, которые удалены или заменены пользователем, например заполнитель фотографии.
- Сохранение данных изображения закодированные данные в пользовательские формы (XML) файлы. InfoPath использует кодировку base64 для кодирования и декодирования файлов двоичный, таких как .gif или JPG-файлов.
- Сохранение данных изображения как гиперссылку в пользовательские формы (XML) файлы.
- Отображение изображений в шаблоне формы, получены из базы данных или другого источника внешних данных.
На приведенном ниже рисунке управления «рисунок» используется в шаблоне формы страхового требования для сбора фотографии повреждения автомобиля из политики заполнители. Конструктор формы размещении внутри повторяющийся раздел управления «рисунок», чтобы пользователи могли добавлять столько фотографии таким образом, чтобы их форм.
При добавлении управления «рисунок» в шаблоне формы InfoPath вставляет элемент управления изображение по умолчанию. Пользователи могут добавлять изображения к элементу управления изображение при заполнении формы, основанных на шаблоне формы. При желании вы можете указать рисунок по умолчанию, вместо того чтобы оставить пустым управления «рисунок». Можно также указать ли пользователям просматривать, удаление или замена рисунков, вставляемых управления «рисунок».
Связанные элементы управления
InfoPath включает элементы управления, похожи на элементы управления рисунка, но, предназначены для разных целей. Чтобы определить, какие из этих элементов лучше всего использовать для шаблона формы, ознакомьтесь со списком следующее:
Элемент управления Рисунок от руки Элемент управления Рисунок от руки выглядит и работает как управления «рисунок». Тем не менее элемент управления Рисунок от руки позволяет пользователям создавать рисунки или набросков с помощью планшетного ПК с помощью пера и не позволяет пользователям вставить фотографии или другие рисунки. Оба элемента управления могут храниться данные кодировке base64 в базовом XML. Тем не менее управления «рисунок» можно хранить данные рисунка как гиперссылку в XML.
Элемент управления вложением файлов Если вы хотите пользователи должны иметь возможность вкладывать документы, листы, презентации и другие файлы в их формы, элемент управления вложением файлов можно использовать вместо управления «рисунок».
Поле форматированного текста Если шаблон формы содержит элементы управления поля форматированного текста, и при наличии полного расширенным форматированием, пользователи могут добавлять фотографии внутри этих полей форматированного текста.
Взаимодействие с пользователем
В зависимости от внешнего вида шаблона формы когда требуется вставить элемент управления рисунка пользователи будут видеть рисунка по умолчанию (заданных) или значок рисунка и пояснительный текст щелкните здесь, чтобы вставить изображение. В приведенном ниже примере пользователи при заполнении формы страхового требования щелкнуть элемент управления рисунка для вставки фотографий трансп. В этом примере конструктор формы помещено управления «рисунок» повторяющемся разделе с целью сбора от пользователя несколько фотографий.
При нажатии пользователем в элемент управления рисунка, их можно просматривать изображения, с помощью диалогового окна Вставка рисунка. При их добавить файл изображения, управления «рисунок» автоматически изменяется в соответствии с размеры, рисунка.
Совместимость
При разработке шаблона формы в InfoPath, вы можете создавать шаблон формы с поддержкой веб-браузера. При разработке шаблона формы с поддержкой браузера элементы управления изображения будут недоступны в области задач элементы управления так, как они не отображается в веб-браузере.
Если требуется пользователи должны иметь возможность вставлять изображения в шаблон формы с поддержкой веб-браузера можно разместить InfoPath в качестве элемента управления формы Microsoft ASP.NET на веб-страницы и записи серверного кода для вставки рисунка в шаблон формы XML в качестве кодировке base64 данных. Можно также с помощью поля форматированного текста на шаблон формы с поддержкой браузера, которая позволяет пользователям вставить связанные рисунки. Позволяет сохранить данные рисунка как гиперссылку в базовом XML.
Вставка элемента управления «рисунок».
Процедура для вставки рисунка немного зависят от ли разработка шаблона формы пустой или индексация внешнего вида шаблона формы базы данных или другого внешнего источника данных.
На рисунке показано, как выглядит управления «рисунок» пустой при выборе в Режим конструктора.
Элементы управления могут быть связанными или свободными. Если элемент управления связан, он подключен к полю или группе в источнике данных, поэтому данные, вводимые в элемент управления, сохраняются в XML-файле самой формы. Когда элемент управления является свободным, он не подключен к полю или группе, а данные, вводимые в него, не сохраняются. Если выбрать элемент управления или навести на него указатель мыши, в его правом верхнем углу , отобразится текст и значок привязки. В тексте указаны группа или поле в источнике данных, к которым привязан элемент управления. Значок указывает на то, правильно ли элемент управления привязан к полю или группе. Если привязка правильная, выводится зеленый значок. Если с привязкой что-то не так, вы увидите синий или красный значок.
Источник данных для шаблона формы состоит из полей и групп, которые отображаются в виде иерархической структуры в области задач Источник данных. Элементы управления рисунка всегда связаны с полями. В приведенном ниже примере управления «рисунок» в шаблоне формы привязан к полю photoFile в области задач Источник данных.
Вставка рисунка в шаблоне пустой формы
При создании нового пустого шаблона формы по умолчанию устанавливается флажок Автоматически создавать источник данных в области задач Элементы управления. Это позволяет InfoPath автоматически создавать поля и групп в источнике данных по мере добавления элементов управления в шаблон формы. Эти поля и группы представлены в виде значков папок и файлов в области задач Источник данных.
- Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.
- Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.
- В разделе Вставить элементы управления нажмите кнопку рисунок.
- В диалоговом окне Вставка рисунка выполните одно из указанных ниже действий.
- Сохранение данных изображения в форме пользователя, щелкните включенные в форме. При выборе этого параметра InfoPath используеттип данныхрисунок или вложенный файл (base64) для управления «рисунок», а данные рисунка зашифрован в базовых файлов формы (XML). Включение рисунок в форме подходит Если вы хотите оставить portable формы и ее данных.
- Чтобы отобразить рисунок, связанный с, но не сохраняется вместе с форм пользователя, щелкните ссылкой. При выборе этого параметра InfoPath использует Гиперссылка (anyURI) как тип данных для управления рисунка и изображение данные хранятся в виде гиперссылки в базовых файлов формы (XML). Ссылка на рисунок является подходящие условия, если вы считаете, что пользователи должны обновления связанного рисунка или если вы хотите уменьшить размер файла формы пользователя.
Примечание: При просмотре связанные рисунки в форме, пользователи должны иметь доступ к нужному исходного файла рисунка. В противном случае — рисунок не будут отображаться в форме.
- Дважды щелкните элемент управления «рисунок» шаблона формы.
- Откройте вкладку Данные.
- В разделе Привязка на вкладке » данные » нажмите кнопку по умолчанию укажите рисунок и нажмите кнопку Обзор.
Примечание: Этот параметр недоступен, если вы выбрали в качестве ссылки таким образом.
Вставка рисунка в шаблоне формы, основанного на существующий источник данных
Если основе внешнего вида шаблона формы на существующий файл язык XML (Extensible Markup), базы данных или веб-службы, InfoPath извлекает поля и группы в области задач Источник данных из соответствующего источника данных. В этом случае можно вставить элемент управления рисунка, перетаскивая поля из области задач Источник данных в шаблоне формы или путем вставки рисунка с помощью области задач элементы управления вместо способами, описанными в следующей процедурой:
- Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.
- Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.
- В разделе Вставить элементы управления нажмите кнопку рисунок.
- В диалоговом окне Вставка рисунка выполните одно из указанных ниже действий.
- Сохранение данных изображения в форме, нажмите кнопку включенные в форме. Если выбрать этот параметр, необходимо связать управления «рисунок» в поле с типом данных рисунок или вложенный файл (base64) .
- Чтобы отобразить рисунок, связанный с, но не сохраняются в форме, нажмите кнопку как ссылка. Если выбрать этот параметр, необходимо связать управления «рисунок» в поле с типом данных Гиперссылка (anyURI).
- В диалоговом окне Привязка рисунка выберите поле, в котором нужно сохранить данные управления рисунка и нажмите кнопку ОК. По умолчанию элемента управления рисунок с замещающим текстом, щелкните здесь, чтобы вставить изображение будет вставлен в шаблоне формы.
- Если вы решили включить данные рисунка в пользовательские формы в шаге 4, вы можете указать рисунок по умолчанию, отображаемый в элементе управления. Инструкции
- Дважды щелкните элемент управления «рисунок» шаблона формы.
- Откройте вкладку Данные.
- В разделе Привязка нажмите кнопку по умолчанию укажите рисунок и нажмите кнопку Обзор.
Примечание: Этот параметр недоступен, если управления «рисунок» привязан к полю с типом данных Гиперссылка (anyURI) таким образом.
Советы по макету
Приведенные ниже советы помогут вам настроить внешний вид, размер и других аспектов управления «рисунок».
- С помощью макетная таблица для упорядочения целей лучше всегда, независимо от того, какой тип элемента управления произойти к работе с.
- Вставка рисунка внутри область прокрутки можно использовать при необходимости фиксированную область шаблона формы, которая будет прокручиваться, чтобы вместить большие изображения.
- Чтобы одновременно изменить ширину нескольких элементов управления рисунка, выделите элементы, размер которых нужно изменить, нажмите клавиши ALT + ВВОД, откройте вкладку размер и введите новый номер в поле Ширина.
- Чтобы изменить цвет рисунка или границу, выберите его в шаблоне формы, в меню Формат, выберите команду границы и заливка и внесите необходимые изменения.
Стеганография
1. *Напишите программу, которая строит открытый и секретный ключи RSA для небольших множителей p и q.
2. *Напишите программу, которая шифрует и расшифровывает сообщения с помощью алгоритма при небольших значениях открытого и секретного ключей.

При передаче сообщений можно не только применять шифрование, но и скрывать сам факт передачи сообщения.
Стеганография – это наука о скрытой передаче информации путем скрытия самого факта передачи информации.
Древнегреческий историк Геродот описывал, например, такой метод: на бритую голову раба записывалось сообщение, а когда его волосы отрастали, он отправлялся к получателю, который брил его голову и читал сообщение.
Классический метод стеганографии – симпатические (невидимые) чернила, которые прояв‐
ляются только при определенных условиях (нагрев, освещение, химический проявитель). Например, текст, написанный молоком, можно прочитать при нагреве.
Сейчас стеганография занимается скрытием информации в текстовых, графических, звуко‐
вых и видеофайлах с помощью программного «внедрения» в них нужных сообщений.
Простейшие способ – заменять младшие биты файла, в котором закодировано изображе‐
ние. Причем это нужно сделать так, чтобы разница между исходным и полученным рисунками была неощутима для человека. Например, если в черно‐белом рисунке (256 оттенков серого), яркость каждого пикселя кодируется 8 битами. Если поменять 1‐2 младших бита этого кода, «встроив» туда текстовое сообщение, фотография, в которой нет четких границ, почти не изменится. При замене 1 бита каждый байт исходного текстового сообщения хранится в младших битах кодов 8
пикселей. Например, пусть первые 8 пикселей рисунка имеют такие коды:
Чтобы закодировать в них код буквы «И» (110010002), нужно изменить младшие биты кодов:1 1 0 0 1 0 0 0
Получателю нужно взять эти младшие биты и «собрать» их вместе в один байт.
Для звуков используются другие методы стеганографии, основанные на добавлении в запись коротких условных сигналов, которые обозначают 1 и 0 и не воспринимаются человеком на слух. Возможна также замена одного фрагмента звука на другой.
Для подтверждения авторства и охраны авторских прав на изображения, видео и звуковые файлы применяют цифровые водяные знаки – внедренную в файл информацию об авторе. Они получили свое название от старых водяных знаков на деньгах и доку‐

ментах. Для того чтобы установить авторство фотографии, достаточно расшифровать скрытую информацию, записанную с помощью водяного знака.
Иногда цифровые водяные знаки делают видимыми (текст или логотип компании на фотографии или на каждом кадре видеофильма).
На многих сайтах, занимающихся продажей цифровых фотографий, видимые водяные знаки размещены на фотографиях, предназначенных для предварительного просмотра.

? Контрольные вопросы
1. Что такое стеганография?
2. Какие методы стеганографии существовали до изобретения компьютеров?
3. Как можно добавить текст в закодированное изображение?
4. На чем основаны методы стеганографии для звуковых и видеоданных?
5. Что такое цифровые водяные знаки? Зачем они используются?
