Как я могу создавать образы с помощью разметки HTML?

Мне нужно отображать отчеты и вещи в HTML с помощью объекта Microsoft HTMLDocument.

К сожалению, вы можете присвоить HTML-разметку документа, но вы не можете дать ему изображения. Он может отображать только изображения, получаемые с URL-адреса, например:

  • Http://
  • Файл://
  • Рез://

В качестве обходного пути я решил, что смогу создать изображение с использованием разметки HTML, пиксельного пикселя.

Проделана ли какая-либо работа в этой области? Должно ли оно быть абсолютно позиционированным 1x1 цветным пролетом? Таблица 350x200, с строками и столбцами размером в один пиксель?

Ответ 1

Можно ли использовать схему URI данных?

IE8 поддерживает это (как и большинство новых браузеров); ваши изображения будут выглядеть так:

<img src="data:image/png;base64,A0123...==">

где материал A0123... представляет собой base64 представление файла изображения. В зависимости от языка, который вы используете, вы можете использовать Convert.ToBase64String(), чтобы выполнить большую часть работы для вас.

Ответ 2

Самый простой способ, на мой взгляд, - использовать кодированное base64 изображение. Он достаточно эффективен и есть инструменты для автоматизации генерации: http://www.greywyvern.com/code/php/binary2base64.

Ответ 4

Во-первых, предостережение: это ужасная, ужасная вещь, которую вы планируете делать.

Теперь, когда у нас это получилось, я, возможно, сделал хорошую сделку этого ужасная вещь. Я могу сказать вам, что лучше всего использовать таблицы, а не divs или охватывает. Тем не менее, это ужасно неэффективно и требует навсегда загрузки, как вы можете видеть из образцов, с которыми я связан. Просто не делай этого, кроме как извращенной шутки.

Ответ 5

Я написал класс PHP несколько лет назад, чтобы сделать это, но я бы не рекомендовал использовать это в реальном мире, так как требуется долгое время для браузера, чтобы сделать таблицу достаточно большой для изображения.

Если я не правильно понимаю ваш вопрос, почему вы не можете ссылаться на изображение, используя полный URL-адрес:

http://somewhere.com/myimage.jpg

Ответ 6

"Отчеты и вещи"... может быть немного яснее здесь...

Если то, что вы в конечном итоге хотите сделать, это отобразить отчет, который, как представляется, будет динамически генерироваться, скорее всего, вы можете автоматически генерировать образ отчета. "Экспорт в PDF", вероятно, доступен в инструменте отчета. Грубый, но более простой и эффективный, чем вы, кажется, сейчас возглавляете.

Ответ 7

В IE вы можете использовать VML, который дает базовые возможности векторного рисования, подобные SVG.

Этот парень создал javascript-библиотеку для рисования векторной графики в браузерах, используя только sivs: http://web.archive.org/web/20080112113027/www.walterzorn.com/jsgraphics/jsgraphics_e.htm (на данный момент сайт кажется пустым)

В эти дни вы также можете попробовать библиотеку, такую ​​как Raphaël, которая использует броверный холст или поддержку VML.