Estrapolare il valore DPI del monitor in javascript client-side

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Estrapolare il valore DPI del monitor in javascript client-side

Andrea Peri
Salve,
in una webapp gis che sto perfezionando, vorrei riuscire a ricavare tramite
codice Javascript il valore DPI del monitor dell'utente che la sta
consultando.

Infatti: mentre una applicazione desktop riesce ad avere questa
informazione dalle API del driver della scheda video e del sistema
operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
per una applicazione javascript che gira su un browser web, non e'
possibile. Forse su Internet Explorer si, ma il mio riferimento e' FireFox
e per quando ne so', la sandbox del firefox non permette l'accesso a tali
API.

Per questo devo studiarmi una via traversa per arrivare a tale informazione.

Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
su questo argomento.
Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
per ricavare i DPI di un monitor utente ?

Grazie,


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Matteo De Stefano
Buongiorno,
hai gia' visto questo?Window.matchMedia()

 
|  
|  
|  
|   |    |

   |

  |
|  
|   |  
Window.matchMedia()
 Returns a new MediaQueryList object representing the parsed results of the specified media query string.  |   |

  |

  |

 
Matteo

      Da: Andrea Peri <[hidden email]>
 A: "[hidden email]" <[hidden email]>
 Inviato: Venerdì 13 Ottobre 2017 10:06
 Oggetto: [Gfoss] Estrapolare il valore DPI del monitor in javascript client-side
   
Salve,
in una webapp gis che sto perfezionando, vorrei riuscire a ricavare tramite
codice Javascript il valore DPI del monitor dell'utente che la sta
consultando.

Infatti: mentre una applicazione desktop riesce ad avere questa
informazione dalle API del driver della scheda video e del sistema
operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
per una applicazione javascript che gira su un browser web, non e'
possibile. Forse su Internet Explorer si, ma il mio riferimento e' FireFox
e per quando ne so', la sandbox del firefox non permette l'accesso a tali
API.

Per questo devo studiarmi una via traversa per arrivare a tale informazione.

Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
su questo argomento.
Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
per ricavare i DPI di un monitor utente ?

Grazie,


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017

   
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

giohappy
In reply to this post by Andrea Peri
Andrea, puoi studiare quanto vuoi ma ad oggi il DPI non lo puoi sapere.
Immagino che il tuo problema sia il calcolo di una scala. E' la domanda che
mi pongono, sempre, i clienti. La risposta è che in un browser puoi solo
approssimare usando un valore di riferimento.
OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
(giustamente) questa costante arbitraria.
Noi, se obbligati a calcolare una scala, usiamo la dimensione pixel fissata
dalla specifica WMS 1.3: 0.28mm/pixel, che corrisponde a circa 90.71 DPI.

giovanni

Il 13 ott 2017 10:06, "Andrea Peri" <[hidden email]> ha scritto:

> Salve,
> in una webapp gis che sto perfezionando, vorrei riuscire a ricavare tramite
> codice Javascript il valore DPI del monitor dell'utente che la sta
> consultando.
>
> Infatti: mentre una applicazione desktop riesce ad avere questa
> informazione dalle API del driver della scheda video e del sistema
> operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
> per una applicazione javascript che gira su un browser web, non e'
> possibile. Forse su Internet Explorer si, ma il mio riferimento e' FireFox
> e per quando ne so', la sandbox del firefox non permette l'accesso a tali
> API.
>
> Per questo devo studiarmi una via traversa per arrivare a tale
> informazione.
>
> Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
> su questo argomento.
> Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
> per ricavare i DPI di un monitor utente ?
>
> Grazie,
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 801 iscritti al 19/07/2017
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Andrea Peri
Infatti parlo di via traversa .
Che direttamente non si potesse fare lo avevo chiaro.

A.


Il giorno 13 ottobre 2017 10:31, G. Allegri <[hidden email]> ha scritto:

> Andrea, puoi studiare quanto vuoi ma ad oggi il DPI non lo puoi sapere.
> Immagino che il tuo problema sia il calcolo di una scala. E' la domanda
> che mi pongono, sempre, i clienti. La risposta è che in un browser puoi
> solo approssimare usando un valore di riferimento.
> OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
> (giustamente) questa costante arbitraria.
> Noi, se obbligati a calcolare una scala, usiamo la dimensione pixel
> fissata dalla specifica WMS 1.3: 0.28mm/pixel, che corrisponde a circa
> 90.71 DPI.
>
> giovanni
>
> Il 13 ott 2017 10:06, "Andrea Peri" <[hidden email]> ha scritto:
>
>> Salve,
>> in una webapp gis che sto perfezionando, vorrei riuscire a ricavare
>> tramite
>> codice Javascript il valore DPI del monitor dell'utente che la sta
>> consultando.
>>
>> Infatti: mentre una applicazione desktop riesce ad avere questa
>> informazione dalle API del driver della scheda video e del sistema
>> operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
>> per una applicazione javascript che gira su un browser web, non e'
>> possibile. Forse su Internet Explorer si, ma il mio riferimento e' FireFox
>> e per quando ne so', la sandbox del firefox non permette l'accesso a tali
>> API.
>>
>> Per questo devo studiarmi una via traversa per arrivare a tale
>> informazione.
>>
>> Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
>> su questo argomento.
>> Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
>> per ricavare i DPI di un monitor utente ?
>>
>> Grazie,
>>
>>
>> --
>> -----------------
>> Andrea Peri
>> . . . . . . . . .
>> qwerty àèìòù
>> -----------------
>> _______________________________________________
>> [hidden email]
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>> dell'Associazione GFOSS.it.
>> 801 iscritti al 19/07/2017
>
>


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Amedeo Fadini
Direi che dovresti chiedere la collaborazione dell'utente.... ad esempio su
questo sito

https://www.zeiss.it/vision-care/it_it/better-vision/migliore-visione-con-zeiss/esame-visivo-online-zeiss.html

chiedono di appoggiare una carta di credito al monitor..

amefad


Il 13/ott/2017 12:23 PM, "Andrea Peri" <[hidden email]> ha scritto:

Infatti parlo di via traversa .
Che direttamente non si potesse fare lo avevo chiaro.

A.


Il giorno 13 ottobre 2017 10:31, G. Allegri <[hidden email]> ha scritto:

> Andrea, puoi studiare quanto vuoi ma ad oggi il DPI non lo puoi sapere.
> Immagino che il tuo problema sia il calcolo di una scala. E' la domanda
> che mi pongono, sempre, i clienti. La risposta è che in un browser puoi
> solo approssimare usando un valore di riferimento.
> OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
> (giustamente) questa costante arbitraria.
> Noi, se obbligati a calcolare una scala, usiamo la dimensione pixel
> fissata dalla specifica WMS 1.3: 0.28mm/pixel, che corrisponde a circa
> 90.71 DPI.
>
> giovanni
>
> Il 13 ott 2017 10:06, "Andrea Peri" <[hidden email]> ha scritto:
>
>> Salve,
>> in una webapp gis che sto perfezionando, vorrei riuscire a ricavare
>> tramite
>> codice Javascript il valore DPI del monitor dell'utente che la sta
>> consultando.
>>
>> Infatti: mentre una applicazione desktop riesce ad avere questa
>> informazione dalle API del driver della scheda video e del sistema
>> operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
>> per una applicazione javascript che gira su un browser web, non e'
>> possibile. Forse su Internet Explorer si, ma il mio riferimento e'
FireFox

>> e per quando ne so', la sandbox del firefox non permette l'accesso a tali
>> API.
>>
>> Per questo devo studiarmi una via traversa per arrivare a tale
>> informazione.
>>
>> Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
>> su questo argomento.
>> Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
>> per ricavare i DPI di un monitor utente ?
>>
>> Grazie,
>>
>>
>> --
>> -----------------
>> Andrea Peri
>> . . . . . . . . .
>> qwerty àèìòù
>> -----------------
>> _______________________________________________
>> [hidden email]
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>> dell'Associazione GFOSS.it.
>> 801 iscritti al 19/07/2017
>
>


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Sandro Santilli-2
On Fri, Oct 13, 2017 at 05:34:23PM +0200, Amedeo Fadini wrote:
> Direi che dovresti chiedere la collaborazione dell'utente.... ad esempio su
> questo sito
>
> https://www.zeiss.it/vision-care/it_it/better-vision/migliore-visione-con-zeiss/esame-visivo-online-zeiss.html
>
> chiedono di appoggiare una carta di credito al monitor..

Che idea fantastica !
Dal ambo i lati ?

</sarcasm>

--strk;
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Andrea Peri
In reply to this post by Matteo De Stefano
No, ma già avevo in mente un sistema di rilevamento con un test comparativo
da parte dell' utente. Un po' uggioso, ma ovviamente si rivolge a chi è
interessato a ciò.
L utente standard può continuare a guardarsi mappe a 90dpi.

Valuterò alcune ipotetiche soluzioni. In ogni caso sicuramente ci vorrà una
interazione da parte dell' utente.


Grazie a tutti.

Il 13 Ott 2017 19:19, "Matteo De Stefano" <[hidden email]> ha
scritto:

> Buongiorno,
>
> hai gia' visto questo?
> Window.matchMedia()
> <https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia>
>
> Window.matchMedia()
> Returns a new MediaQueryList object representing the parsed results of the
> specified media query string.
> <https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia>
>
> Matteo
>
> ------------------------------
> *Da:* Andrea Peri <[hidden email]>
> *A:* "[hidden email]" <[hidden email]>
> *Inviato:* Venerdì 13 Ottobre 2017 10:06
> *Oggetto:* [Gfoss] Estrapolare il valore DPI del monitor in javascript
> client-side
>
> Salve,
> in una webapp gis che sto perfezionando, vorrei riuscire a ricavare tramite
> codice Javascript il valore DPI del monitor dell'utente che la sta
> consultando.
>
> Infatti: mentre una applicazione desktop riesce ad avere questa
> informazione dalle API del driver della scheda video e del sistema
> operativo che co nosckno il monitor dell'utente e ne sanno i DPI, questo
> per una applicazione javascript che gira su un browser web, non e'
> possibile. Forse su Internet Explorer si, ma il mio riferimento e' FireFox
> e per quando ne so', la sandbox del firefox non permette l'accesso a tali
> API.
>
> Per questo devo studiarmi una via traversa per arrivare a tale
> informazione.
>
> Per prima cosa sto cercando informazioni su soluzioni e lavori gia' fatti
> su questo argomento.
> Qualcuno e' a conoscenza di soluzioni client-side e javascript compliant
> per ricavare i DPI di un monitor utente ?
>
> Grazie,
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 801 iscritti al 19/07/2017
>
>
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Andrea Peri
In reply to this post by Amedeo Fadini
Infatti.
Alla fine salvare il risultato in un cookies e usarlo per le richieste
al server.

Ero partito proprio pensando una cosa simile a questa qui. NOn avevo
pensato alla carta di credito, quanto piuttosto a qualcosa da stamparsi,
ma il concetto di base e' il medesimo.
Alla fine salvare il risultato in un cookies e usarlo per le future
richieste al server.

Pero' , mi convinceva poco la necessita' di fare un confronto sul video.
Anche perche' il mio notebook e' touch e questo diviene difficile.
Non mi dispiaceva neanche una soluzione come quella proposta da Matteo.
Una immagine nota a priori.
magari con una scala graduata in se'.
Poi, in base a cosa si riesce a leggere si ottiene il valore
approssimato dei DPI.

Ovvio che si parla di una utenza di nicchia, non certamente il curioso
del webgis o il visitatore occasionale, il quale certo non fara' mai una
configurazione di questo genere.
Ma per questi bastano i 90dpi.
Penso invece a una utenza che accetta di dedicare del tempo a calibrare
l'ambiente perche' gli interessa avere una restituzione in scala quasi
esatta.

Dal mio punto di vista e' solo un esperimento per vedere se e' possibile
avvicinarsi di piu' alla qualita' di un QGIS che su WMS ha una resa
nettamente superiore a un ambiente webgis.

Infatti questa e' una mia iniziativa personale, fuori orario di ufficio.

A.


Il 13/10/2017 17:34, Amedeo Fadini ha scritto:
> Direi che dovresti chiedere la collaborazione dell'utente.... ad
> esempio su questo sito
>
> https://www.zeiss.it/vision-care/it_it/better-vision/migliore-visione-con-zeiss/esame-visivo-online-zeiss.html
>
> chiedono di appoggiare una carta di credito al monitor..
>
> amefad
>

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Marco Guiducci-3
In reply to this post by giohappy


Il 13/10/2017 10:31, G. Allegri ha scritto:
> OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
> (giustamente) questa costante arbitraria.
>

rimosso giustamente si, in quanto la tecnologia è andata avanti. Ma non
è una costante arbitraria.
Deriva direttamente dalle dimensioni del punto tipografico che è circa
1/72 di pollice.
I primi Macintosh vennero dotati di schermi i cui pixel erano
dimensionati proprio così, in modo da fare divenire realtà il wysiwyg. [1]
I mac erano vocati  al desktop publishing ed hanno, per così dire,
imposto uno standard, quando il pc si usava per creare cose che venivano
fruite in altro modo, o stampate.
Adesso che con il pc si creano cose che vengono fruite con lo stesso pc
o apparecchi similari, ovvero "se la suonano e se la cantano" non ha più
senso il numero "72", ma allora mi chiedo: perché non fare in modo che
attraverso il web (modo principale di friuzione) questo valore non posso
essere esposto? Tanto ormai abbiamo dato tutto... diamo anche la
dimensione del nostro pixel ;-)
marcog

[1] http://www.italiagrafica.com/la-leggenda-metropolitana-dei-72-dpi/

--
Marco Guiducci - 055 4383194
SITA - Sistema informativo territoriale e ambientale
Regione Toscana - Via di Novoli 26 - 50127 Firenze

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

Marco Guiducci-3


Il 16/10/2017 08:06, Marco Guiducci ha scritto:
>
>
> Il 13/10/2017 10:31, G. Allegri ha scritto:
>> OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
>> (giustamente) questa costante arbitraria.
>>
>
> rimosso giustamente si, in quanto la tecnologia è andata avanti. Ma
> non è una costante arbitraria.

o meglio, arbitraria si, nel senso che è stata decisa da un "arbitro",
ma non casuale...

--
Marco Guiducci - 055 4383194
SITA - Sistema informativo territoriale e ambientale
Regione Toscana - Via di Novoli 26 - 50127 Firenze

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017
Reply | Threaded
Open this post in threaded view
|

Re: Estrapolare il valore DPI del monitor in javascript client-side

giohappy
Certo Marco, arbitraria nel senso per un browser, ma il valore ha
un'origine non casuale.
Mentre il valore di 0.28 mm/pixel suppongo sia stato scelto perché è il dot
pitch di un tipico monitor standard:
https://it.m.wikipedia.org/wiki/Dot_pitch

giovanni

Il 16 ott 2017 12:01, "Marco Guiducci" <[hidden email]>
ha scritto:

>
>
> Il 16/10/2017 08:06, Marco Guiducci ha scritto:
>
>>
>>
>> Il 13/10/2017 10:31, G. Allegri ha scritto:
>>
>>> OpenLayers 2 fissava un valore di 72 DPI. OpenLayers 4 ha rimosso
>>> (giustamente) questa costante arbitraria.
>>>
>>>
>> rimosso giustamente si, in quanto la tecnologia è andata avanti. Ma non è
>> una costante arbitraria.
>>
>
> o meglio, arbitraria si, nel senso che è stata decisa da un "arbitro", ma
> non casuale...
>
> --
> Marco Guiducci - 055 4383194
> SITA - Sistema informativo territoriale e ambientale
> Regione Toscana - Via di Novoli 26 - 50127 Firenze
>
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 801 iscritti al 19/07/2017
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
801 iscritti al 19/07/2017