Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VB.NET] Ottenere l'aspect ratio dello schermo

    Ciao a tutti,
    vorrei sapere come ottenere l'aspect ratio dello schermo in VB.Net 2008
    Grazie.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  2. #2
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    Puoi usare:
    codice:
    System.Windows.Forms.SystemInformation.PrimaryMonitorSize
    che ti restituisce un oggetto di tipo Size e poi calcoli il formato in base alle sue proprietà width e height che in questo caso contengono rispettivamente larghezza e altezza in pixel del formato video corrente.
    Crestron Control Systems and AMX Control Systems Programmer

  3. #3
    Originariamente inviato da sotoli
    Puoi usare:
    codice:
    System.Windows.Forms.SystemInformation.PrimaryMonitorSize
    che ti restituisce un oggetto di tipo Size e poi calcoli il formato in base alle sue proprietà width e height che in questo caso contengono rispettivamente larghezza e altezza in pixel del formato video corrente.
    Ciao ,
    grazie per la risposta. Ma il rapporto che ottengo facendo Largezza /altezza così è uguale a 1.25 invece che 1.333... che è l'aspect ratio del mio schermo.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    L'aspect ratio è relativo al formato video che stai utilizzando, non allo schermo.
    Crestron Control Systems and AMX Control Systems Programmer

  5. #5
    Un momento. Non ci capisco più niente. In un software che ho creato devo ridimensionare la larghezza di una immagine moltiplicandola per l'aspect ratio (poi l'immagine si proporrziona da sola in base al software). La mia risoluzione schermo è impostata per la risoluzione nativa: 1280 x 1024. Se apro con un editor di immagini una immagine con risoluzione di 72 dpi questa non mi appare con le sue dimensioni in cm corrispondenti alla sua risoluzione ma con dimensioni ridotte. Esattamente divise per 1,33.. che è l'aspect ratio del mio schermo.
    Ciao. Spero che mi sia spiegato bene.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  6. #6
    Da quanto ne so l'aspect ratio è quello che ti è stato detto, ossia il rapporto tra la base e l'altezza dello schermo o di una qualunque immagine bidimensionale; per gli schermi gli aspect ratio più diffusi sono il 4:3 (1,33) e il 16:9 (1,77).
    La faccenda dell'immagine a 72 DPI non l'ho capita per niente, ma non credo che l'aspect ratio c'entri niente. In ogni caso tieni conto che quando visualizzi un'immagine sullo schermo con zoom 100% i suoi pixel vengono fatti corrispondere con quelli dello schermo, il che non ti garantisce assolutamente che l'immagine sullo schermo risponda alle dimensioni reali; quando visualizzi un'immagine sullo schermo i DPI non vengono minimamente considerati, essi vengono tenuti in conto solo al momento della stampa, visto che il sistema operativo conosce la risoluzione di stampa della stampante, ma non quella di visualizzazione dello schermo, che viene considerata sempre 72 o 96 DPI per convenzione. Leggi qui per maggiori informazioni.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Ciao Mytaly,
    grazie dell'intervento. Dunque: a parte tutto, il numero 1.3333... ricorre ancora quando faccio il rapporto 96/72. Ora 72 è la risoluzione di una mia immagine e 96 DPI è il numero che leggo in desktop>Proprietà>Impostazioni>Avanzate>Generale, con la mia scheda video.
    A me basterebbe ottenere con VB.net il numero 96.
    Come devo fare?
    Grazie.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Stai facendo un po' troppa confusione....

    I DPI non c'entrano nulla. Lasciali perdere.
    Che contano sono i pixel.

    Quello che ti ha indicato sotoli è corretto.

    Adesso, spiega esattamente cosa devi fare, e mostra il codice che usi per farlo.
    Altrimenti rischiamo di parlare di aria fritta.

    Ciao

  9. #9
    @giorgiogio: ribadisco, i DPI non contano nella visualizzazione su schermo, ed è impossibile per un'applicazione conoscere le dimensioni effettive dello schermo per mostrare un'immagine a dimensioni reali. Stai facendo una gran confusione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Ciao a tutti,
    le righe di codice in questione sono
    codice:
    If (image1.Width / 72) * 2.54 > 17 And (image1.Height / 72) * 2.54 > 12.25 Then              
    strPadleft = (17 / 2.54 - 12.25 / 2.54 * (image1.Width / image1.HorizontalResolution) / (image1.Height / image1.VerticalResolution)) * 72 / 2             strPadRight = strPadleft          
    Else              
    strPadleft = (17 / 2.54 - (image1.Width / 72) / (4 / 3)) * 72 / 2           
    strPadRight = strPadleft            
    End If
    e funzionano perfettamente.
    17 e 12.25 sono le dimensioni del controllo immagine di un reportvierwer della Microsoft. mentre strPadRight è strPadleft sono i padding destro è sinistro del controllo immagine.
    72 sono i punti per pollice.
    Se tolgo quel 4/3 (aspect ratio del mio 17 pollici) nella terzultima riga, l'immagine mi viene più grande che nell'editor di immagini.
    La domanda è: come captare l'aspect ratio per ogni tipo di schermo?
    Scusate se vi annoio. Nel qual caso lasciatemi perdere.
    Ciao.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.