Xml как вставить картинку
Перейти к содержимому

Xml как вставить картинку

Xml как вставить картинку

Профиль
Группа: Участник
Сообщений: 306
Регистрация: 21.2.2003
Где: Мурманск

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

Что-то типа как ИЕ умеет делать веб-архив *.mht.
Там внем хранятся рисунки.

Бесполезной громоздкой надстройкой является Windows от Майкрософт. Она занимает 1Мб памяти диска и рассчитана на использование устройства типа мышь.

"ЭВМ в инженерной практике" М. 1989г.

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

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

Leprechaun Software Developer

Профиль
Группа: Модератор
Сообщений: 15683
Регистрация: 24.3.2004

Репутация: 8
Всего: 534

Цитата(Andrey1 @ 16.2.2005, 18:52)
Ну вообще-то — это извращение. Лучше хранить ссылку на картинку. Иначе придется конкретно трахаться с кодировками.

Ничуть!

У нас например XML использутеся для передачи данных из/в БД. Соответсвенно и бинарные данные передаются наравне со всеми (картинки у нас тоже есть). Для передачи двоичных даных они кодируются или в Base64 или BinHex. Объем при этом увеличивается в 1,5-2 раза, но тут ничего не поделаешь.

Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 10
Всего: 24

Всё возможно, вопрос целесообразно ли? Смотреть информацию здесь : http://www.perfectxml.com/articles/xml/binary.asp

Это сообщение отредактировал(а) 3,14 — 17.2.2005, 02:58

Профиль
Группа: Участник
Сообщений: 306
Регистрация: 21.2.2003
Где: Мурманск

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

Цитата(3)
Всё возможно, вопрос целесообразно ли? Смотреть информацию здесь : http://www.perfectxml.com/articles/xml/binary.asp

Во! То что нужно Спасибо огромное!
Мне XML не для веба. я его выбрал как формат файла для своего приложения.

З.Ы. Если б мог поднял бы репутацию. но сорри — постов мало

Бесполезной громоздкой надстройкой является Windows от Майкрософт. Она занимает 1Мб памяти диска и рассчитана на использование устройства типа мышь.

"ЭВМ в инженерной практике" М. 1989г.

Прочитал — не понял конкретики.

Как добавить изображение в формате PNG в файл XML?

Например, создаем маленькую картинку "C:\1.png".
Открываем MSWord, добавляем эту картинку в документ, сохраняем как XML.
Добавился следующий участок:

<w:r>
<w:pict>
<v:shapetype coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/><v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<w:binData w:name="wordml://03000001.png">
iVBORw0KGgoAAAANSUhEUgAAAA8AAAASCAIAAAAL/BNYAAAAAXNSR0IArs4c6QAAABl0RVh0U29m
dHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAAC4SURBVDhPY3RwaGLAC6ZMcIPLMwJV9/fF4lJf
WLQYKAXXwITfYKBsS6NlTsEuiDLCqmvqjwPVQTSw4Dcb7kiIk7CohkjAAbKvsJu9c2cFRLW7ewey
ToRqiJFwk+DqUKwChuD5c/eB5M+fv4AIzoBw4QgofuXCCcJhgsUlQAdArIYwgO5GczFED8LdaDEK
8ShQD0QcZwhiBgXcMVhCEE+yIc2XoDRIMGFBFABTIiMwFIlUTVQaRDYLAMVvVw04tbWGAAAAAElF
TkSuQmCC
</w:binData>
<v:shape type="#_x0000_t75" style="width:11.25pt;height:13.5pt">
<v:imagedata src="wordml://03000001.png" o:title="1"/>
</v:shape>
</w:pict>
</w:r>

Насколько я понимаю, содержимое картинки — это "iVBORw0KGgoA. bWGAAAAAElF".
Каким образом картинка закодирована в таком формате? Исходный PNG в блокноте выглядит по-другому.
Заранее благодарен всем, кто поможет.

Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Работа с изображениями

Одним из наиболее распространенных источников ресурсов являются файлы изображений. Android поддерживает следующие форматы файлов: .png (предпочтителен), .jpg (приемлем), .gif (нежелателен). Для графических файлов в проекте уже по умолчанию создана папка res/drawable . По умолчанию она уже содержит ряд файлов — пару файлов иконок:

Работа с изображениями в Android

При добавлении графических файлов в эту папку для каждого из них Android создает ресурс Drawable . После этого мы можем обратиться к ресурсу следующим образом в коде Java:

Например, добавим в проект в папку res/drawable какой-нибудь файл изображения. Для этого скопируем на жестком диске какой-нибудь файл с расширением png или jpg и вставим его в папку res/drawable (для копирования в проект используется простой Copy-Paste)

Далее нам будет предложено выбрать папку — drawable или drawable-24 . Для добавления обычных файлов изображений выберем drawable :

Добавление изображений в папку drawable Android Studio

Здесь сразу стоит учесть, что файл изображения будет добавляться в приложение, тем самым увеличивая его размер. Кроме того, большие изображения отрицательно влияют на производительность. Поэтому лучше использовать небольшие и оптимизрованные (сжатые) графические файлы. Хотя, также стоит отметить, что все файлы изображений, которые добавляются в эту папку, могут автоматически оптимизироваться с помощью утилиты aapt во время построения проекта. Это позволяет уменьшить размер файла без потери качества.

При копировании файла нам будет предложено установить для него новое имя.

Ресурсы drawable в Android и Java

Можно изменить название файла, а можно оставить так как есть. В моем случае файл называется dubi2.png . И затем нажмем на кнопку Refactor. И после этого в папку drawable будет добавлен выбранный нами файл изображения.

Добавление изображений в Android Studio

Для работы с изображениями в Android можно использовать различные элементы, но непосредственно для вывода изображений предназначен ImageView . Поэтому изменим файл activity_main.xml следующим образом:

В данном случае для отображения файла в ImageView у элемента устанавливается атрибут android:src . В его значении указывается имя графического ресурса, которое совпадает с именем файла без расширения. И после этого уже в Preview или в режиме дизайнере в Android Studio можно будет увидеть применение изображения, либо при запуске приложения:

ImageView и drawable в Android Studio и Java

Если бы мы создавали ImageView в коде java и из кода применяли бы ресурс, то activity могла бы выглядеть так:

В данном случае ресурс drawable напрямую передается в метод imageView.setImageResource() , и таким образом устанавливается изображение. В результате мы получим тот же результат.

Однако может возникнуть необходимость как-то обработать ресурс перед использованием или использовать его в других сценариях. В этом случае мы можем сначала получить его как объект Drawable и затем использовать для наших задач:

Для получения ресурса применяется метод ResourcesCompat.getDrawable() , в который передается объект Resources, идентификатор ресурса и тема. В данном случае тема нам не важна, поэтому для нее передаем значение null. Возвращается ресурс в виде объекта Drawable :

Затем, например, можно также передать ресурс объекту ImageView через его метод setImageDrawable()

Наложение изображения в xml файл

Я экспортирую некоторые данные из моей базы данных в формате xml.
Файл, экспортированный, имеет расширение как .xml и рассматривается как файл Excel.
Я хочу вставить изображение в этот XML файл, чтобы при просмотре его в формате Excel мы могли видеть изображение вместе с данными.
Независимо от того, что я нашел из Интернета, нет прямого способа вставить изображение в xml файл, поскольку XML файл был предназначен для обработки данных.
Может ли кто-нибудь сказать мне, какой подход мне потребуется, чтобы получить желаемую функциональность.

Вы не сможете просматривать изображение внутри XML файла, если только вы не напишите для него специальное приложение, которое знает о вашем конкретном требовании.

Причина в том, что XML основан на символах, но изображения не являются — это двоичные данные. Тем не менее, способ внедрить ваше изображение состоит в том, чтобы преобразовать его в нечто, основанное на символах. Например, вы могли бы Base64 -кодировать свой образ и вставлять результирующую строку в свой XML. Но я полагаю, что нет возможности сказать Excel правильно интерпретировать эти данные как изображение.

Поскольку встраивание двоичных файлов в XML с использованием Base64 является такой общей идиомой, для XML-схемы даже есть свой собственный тип данных для этого: base64Binary.

xml файлы — это текстовые файлы, и вы можете вставлять двоичные данные, если вы кодируете его с помощью алгоритм Base64.

Но для просмотра изображения вам потребуется декодировать Base64-строку и передать двоичные данные результата в реализацию средства просмотра изображений.

Это не может быть сделано в MS Excel. Вам нужно будет реализовать своего собственного зрителя.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *