Что нового

[Элементы GUI] HTMLayout. Вставка картинки из dll

YOgen

Знающий
Сообщения
58
Репутация
5
Подскажите, пожалуйста, как можно вставить в html картинку из dll.
Просто требуется запаковать все изображения в не особо недоступный для редактирования пользователем формат.

Вот dll-ка для примера: https://www.dropbox.com/s/mnkqcmrqm243kz7/pic.rar
В ней:
$sResType - Тип ресурса - "PNG"
$sResName - Название ресурса - "1"

Код:
#include <HTML.au3>

$sHTML = 	"<html><head><style>" & _
			".pic{width:100px; height:100px; background-image:url(2.png);}" & _ ; так легко добавить изображение, а вот как из сторонних ресурсов?..
			"</style></head><body>" & _
			"<div class='pic'></div>" & _
			"</body></html>"

_Html_Startup()
$hGUI = GUICreate("", 900, 650)
$hHTML = _HTML_CreateWindow($hGUI)
_HTML_LoadHtml($hHTML, $sHTML)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
	EndSwitch
WEnd
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Как вариант, хранить все в HTML
Код:
<html>
<body>
<img
src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoH
BwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQME
BAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
FBQUFBQUFBQUFBQUFBT/wAARCAB4AFUDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEA
AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6
Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ
mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx
8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hp
anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE
xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9
TZRkY9eK/Fn4uHVP2lP2jfij4vg8U6noUel6sdE0qTTpSgS3tsoOhB5ILdermv2W
8R6ouh6Bqeov9yztZbg89kQt/SvxQ/Zimn1D4d3eqXXzXWpalc3UrEfeZiMn8818
zxFjquX4CVai7Sukj47izMa2V5XLEYeVp3SR0+h3v7QvgiGGPw78ddYMEX3LfUN0
8f4hw4P5V2ui/tY/tb+FWiM+q+EvF0Ubci/so43cehKeWaaePanAlRnr7Gvy+lxl
mVN++1L5f5H4zS4/zin8bjL1X+TR2Wmf8FK/jlojBfEHwU0nVlB+Z9G1CWLj2BMl
dbp3/BW/S7BgPFXwc8Y6Ko4aSzeO6Uf99CP+dfOfxK+JWlfDPRBfagWuLiY7Le0j
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
2Q== "width="85" height="120"/>
</body>
</html>


Добавлено:
Сообщение автоматически объединено:

Незнаю только работает ли с HTMLayout.
Если да, то код картинки в base64 можно хранить в dll.
:
Можно же хранить символы в dll, да?



Добавлено:
Сообщение автоматически объединено:

В CSS так
Код:
  background: url(data:image/jpeg;base64,
    /9j/4AAQS... итд );
 
Автор
YOgen

YOgen

Знающий
Сообщения
58
Репутация
5
Спасибо огромное за мысль!!! :laugh:

Вот так все получилось:

Код:
#include <HTML.au3>
#include <Encoding.au3>

$hFile = FileOpen(@ScriptDir & "\2.png")
$sFile = FileRead($hFile)
FileClose($hFile)

$sImage = _Encoding_Base64Encode($sFile)

$sHTML = 	"<html><head><style>" & _
			".pic{width:100px; height:100px; background:url(data:image/png;base64," & $sImage & ")}" & _
			"</style></head><body>" & _
			"<div class='pic'></div>" & _
			"</body></html>"

_Html_Startup()
$hGUI = GUICreate("", 900, 650)
$hHTML = _HTML_CreateWindow($hGUI)
_HTML_LoadHtml($hHTML, $sHTML)

GUISetState()

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
	EndSwitch
WEnd


Вместо FileOpen, FileRead вставить код вытягивания картинки из dll - дело техники.
Еще раз огромное спасибо :beer:
 
Верх