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 создает ресурс Drawable . После этого мы можем обратиться к ресурсу следующим образом в коде Java:
Например, добавим в проект в папку res/drawable какой-нибудь файл изображения. Для этого скопируем на жестком диске какой-нибудь файл с расширением png или jpg и вставим его в папку res/drawable (для копирования в проект используется простой Copy-Paste)
Далее нам будет предложено выбрать папку — drawable или drawable-24 . Для добавления обычных файлов изображений выберем drawable :

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

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

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

Если бы мы создавали 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. Вам нужно будет реализовать своего собственного зрителя.