Szukanie i identyfikacja obrazów na odwiedzanej stronie

0

Chciałbym po stronie klienta dzięki user.js móc wyodrębnić ilość i nazwy wczytanych obrazów z odwiedzanej strony. Następnie skrypt uruchomi konwerter obrazów do pożądanej postaci.
Niestety nie wiem jak poradzić sobie z szukaniem i następnie (być może) zapisaniem na dysk.

0

Jaki konwerter? Coś po stronie serwera, czemu podajesz linka do obrazka?
Te obrazki masz zapisane jakoś wg jakiejś zasady, czy chodzi Ci o wydobycie całej grafiki jaka znajduje się na stronie (każdy pliczek graficzny, niezależnie czy jest obrazkiem, logo, tłem, czy czymkolwiek innym)?

0

Konwerter formatu obrazka. Wszystko będzie się działo po stronie klienta. Chodzi mi o zapisanie na dysku wszystkich obrazów wyświetlanych na stronie z odpowiednim rozszerzeniem (np. tylko .bmp), ich konwersję i podmianę wyświetlanych w przeglądarce klienta na pliki po transformacji.

1

Po stronie klienta nie wywołasz zapisu pliku. Możesz ew. powiedzieć userowi: kliknij prawym i wybierz "Zapisz obraz jako..."
Jeżeli chodzi o konwersję między formatami - canvas albo svg umożliwiał (nie wiem czy na wszystkich przeglądarkach, na Operze coś takiego widziałem) zapisanie obrazka w jakimś formacie (po prostu przerysowywujesz obrazek na canvas/svg) i potem TEŻ pod prawoklikniem - użytkownik mógł to zapisać jako png czy jpeg.

Na pewno nie zrobisz tak, że na stronie będzie 15 bmp, 10 gifów i 3 jpegi, i nagle magicznie na dysku pojawi się u kogoś 28 pngów. Zapisz każdego obrazka użytkownik musi wywołać sam.

0

Powiedzmy, że mamy stronkę z linkami do zdjęć. Użytkownik klika, w któryś z nich.
Czy w takiej sytuacji można wykryć format zdjęcia i na jego rzecz wykonać konwersji? Tak, że wyświetlony zostanie obraz po zmianie formatu.
Konwersja odbywa się po stronie klienta i obsługiwana jest przy pomocy ActiveX.

EDIT:
Odpowiem sobie: tak, można wykryć rozszerzenie- kod poniżej. Niestety trzeba na serwerze uruchomić funkcję.
Czyli teraz w pliku HTML mam:

<a id="obrazek" href="javascript:LaunchApp('example.bmp')">Launch the executable 1</a></br>

natomiast w user.js:

function LaunchApp(fileName) {
try { 		
	var pos = fileName.lastIndexOf(".");
	var ext = fileName.substr(pos);
	if(ext == '.bmp')
	{
		alert("bmp"); 
//tu chciałbym zapisać plik na dysk
//tu znajduje się ActiveX runEXE
	}
	else
	{
	alert(ext+ " not a common image format");
	}			
}
catch (ex){
        alert("Error");
	}
}

Więc obecnie brakuje mi zapisu na dysk do określonej lokalizacji

0

ActiveX? To Twoje cudo ma działać tylko na IE. To trochę zmienia. Nie możesz z pomocą tego czegoś co konwertuje od razu zapisać? W natywnych funkcjach przeglądarki się raczej nie doszukasz.

0

Właściwie to chodziło mi o zrobienie projektu gdzie grafika będzie przechowywana na serwerze w jednym formacie a do usera ma trafić w drugim. Obojętne gdzie wystąpi konwertowanie- ot takie założenie.
Z javascript spotykam się po raz pierwszy, miałem nadzieję że z jego pomocą szybko załatwię temat. Niestety, nie nadał się do tego problemu.
Sprawę rozwiązałem z pomocą aplikacji ASP.NET. Dla uzyskania lepszego efektu rozbuduję jeszcze funkcjonalność w js.
Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1