Czytaj / Przetwarzaj obraz przez javascript, przekazując jego URL - podobny do file_get_contents w PHP?

AKTUALIZACJA:

Do celów testowych użyłem

<input type="text" onClick="doProcess(http://www.abc.com/chart.png)" />

To nie zadziałało (używanealert przetestować, czy przekazywano url. Pole alertów pojawiło się z adresem URL, ale dekodowanie nie powiodło się). W pewnym sensie osobiście odpowiedziałem na część mojego pytania. Wszelkie pomysły dotyczące odczytywania pliku obrazu za pomocą javascript? Tt

Właśnie odkryłem, że jest to kod związany z HTML 5. Pomyślałem też, że skoro przekazuję url zamiast listy plików, muszę usunąćfor() pętla oddoProcess() funkcja, która byłaby

function doProcess(f)
{
    var o=[];

           var reader = new FileReader();
        reader.onload = (function(theFile) {
        return function(e) {
            gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height);

            qrcode.decode(e.target.result);
        };
        })(f);
        reader.readAsDataURL(f); 

}

Ale to też nie działa :(

ORYGINALNY POST

Mam plik wejściowy, do którego dostarczany jest plik z obrazem QR.

<input type="file" onchange="doProcess(this.files)">

funkcja doProcess

function doProcess(f)
{
    var o=[];

    for(var i =0;i<f.length;i++)
    {
        var reader = new FileReader();
        reader.onload = (function(theFile) {
        return function(e) {
            gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height);

            qrcode.decode(e.target.result);
        };
        })(f[i]);
        reader.readAsDataURL(f[i]); 
    }
}

Ta funkcja działa doskonale. Żadnych problemów. Celem tej funkcji jest dekodowanie obrazu QR. Teraz z czystego zainteresowania i ciekawości planuję zrobić coś innego -usuń potrzebę ręcznego przeglądania pliku obrazu. To prowadzi mnie do kilku pytań:

Czy to możliwedoProcess(f) wykonać te same czynności, jeśli dostarczono im adres URL obrazu zamiast pliku? Obecnief parametr jest plikiem. Co się stanie jeślif parametr jest adresem URL (na przykład: doProcess (http://www.abc.com/abc.jpg))? Zdaję sobie sprawę, że w środku są inne funkcje wsparciadoProcess() również wywoływany w celu zakończenia procesu dekodowania, ale zakładam, że będą one działać zgodnie z typem przekazywanych danychdoProcess.

Jeślif parametr to plik obrazu (przeglądany na komputerze lokalnym i wybrany) zamiast adresu URL obrazu, jaki typ danych będzief być? Zgaduję, że będzie to tablica lub jakaś surowa forma binarna.

Moim zamiarem jest zbadanie tego procesu i wiedzieć, co dokładnie dzieje się za kulisami. Korzystając z funkcji przeglądania, obraz QR jest dekodowany z powodzeniem.

Podsumowując, co się stanie, jeśli podam lokalizację obrazu zapisanego jako argument zamiast pliku?

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion