Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak dodać obraz


Rekomendowane odpowiedzi

Opublikowano

Jak dodać obrazek na sztywno, bądź żeby sobie latał po programie okienkowym?

 

Chciałem użyć 

GUICtrlCreatePic("http://www.XXXXXXXX.pl/obrazek.jpg",500,500, 130,68)

Tylko problem w tym, że nie działa mi to :< Czytam o oknach GUI i ogólnie o AutoIT tutaj: https://pl.wikibooks.org/wiki/AutoIt

 

 szczerze to nie mogę nigdzie znaleźć tego :/ Ew. jakby była możliwość wgrania obrazu w program, a nie obok jako plik, czy z internetu?

1377774857-U369478.png

Opublikowano

W ten sposób ci to nie zadziała.

Musisz najpierw ściągnąć obrazek z sieci na dysk, a następnie z dysku do GUI.

Oto przykładowe rozwiązanie:

#include <GUIConstantsEx.au3>

Dim $sPicturePath = "c:/__TempPic__"   ;tymczasowy plik obrazka
Dim $SWeb = "http://www.autoitscript.com/autoit3/files/graphics/autoit_10_wall_1920x1200.jpg" ;adres sieciowy obrazka

InetGet($sWeb, $sPicturePath) ;wczytanie obrazka z sieci i zapis na dysku w pliku tymczasowym

$hGUI = GUICreate("Test wczytania obrazka")
GUICtrlCreatePic($sPicturePath, 20, 20, 360, 360) ;wczytanie obrazka z dysku do GUI
FileDelete($sPicturePath)   ;usunięcie pliku tymczasowego
GUISetState()

Do
   $msg = GUIGetMsg()
Until $msg=$GUI_EVENT_CLOSE

Aby nie zaśmiecać dysku, plik tymczasowy jest usuwany po wczytaniu obrazka do GUI.

 

 

Co do "Ew. jakby była możliwość wgrania obrazu w program, a nie obok jako plik, czy z internetu?"

Można to zrobić na 3 sposoby:

1. Obrazek umieścić w zasobach programu. Ale uwaga to umieszczenie następuje w czasie kompilacji.

Niestety standardowy AutoIt nie zawiera funkcji do wyciągnięcia obrazka z zasobów. Trzeba użyć zewnętrznego UDF'u Resources UD lub ResourcesEx UDF.

https://pl.wikibooks.org/wiki/AutoIt/Wykaz_niektórych_ciekawszych_UDF-ów#Programowanie_.28funkcje_rozszerzaj.C4.85ce_mo.C5.BCliwo.C5.9Bci_j.C4.99zyka.29

2. Obrazek umieścić w zasobach programu za pomocą instalatora (funkcja FileInstal):

https://pl.wikibooks.org/wiki/AutoIt/Operacje_na_plikach#Instalator

3. Dane obrazka umieścić bezpośrednio w kodzie skryptu (w postaci zapisu Hex). Raczej tylko dla małych obrazków, bo kod skryptu ogromnie się powiększa.

Patrz plik przykładowy do funkcji _WinAPI_CreateStreamOnHGlobal.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...