Immagini e DPI...

domenica 25 maggio 2008 - 17.46

DkSw Profilo | Junior Member

Sera!

Il mio report crea problemi nel visualizzare alcune immagine con una risoluzione bassa, per cui ho deciso di introdurre un controllo prima dell'inserimento delle immagini nel database per verificare una risoluzione maggiore di 72dpi.
Il codice che uso è:

ofdCopertina.ShowDialog()
percorso = ofdCopertina.FileName()
If percorso = "" Then
lblCopertina.Text = percorso
DisegnaImmagine()
Else
Dim img As Bitmap
img = TryCast(System.Drawing.Bitmap.FromFile(percorso), Bitmap)
If ((img.HorizontalResolution + img.VerticalResolution) / 2) < 72 Then
MsgBox("La risoluzione dell'immagine è inferiore a 72dpi. Scegliere un'immagine con risoluzione maggiore, oppure utilizzare l'apposito ImageTool per dimensionare l'immagine.", MsgBoxStyle.Exclamation, "Attenzione!")
Else
lblCopertina.Text = percorso
DisegnaImmagine()
End If
End If

Può andare?

Stroke Profilo | Junior Member

Mi devo essere perso qualcosa per strada. Parli di visualizzazione e non di stampi quindi i dpi cioè i punti per pollice hanno a che vedere con la stampa. Per la visualizzazione la misura è in pixel che sono i punti a schermo.
Cioè se memorizzi un immagine da 1200 px per 800 px la vedrai a 1200 pixel per 800 px indipendentemente dai dpi di memorizzazione che potrebbero darti qualità differenti in stampa.
Partendo dal presupposto che l'immagine sia a fuoco o la scansione sia fatta bene, la scadenza di qualità di un immagine può essere data soprattutto dal fatto che cerchi di visualizzare una immagine a misure superiori di quanto è memorizzata e quindi perde in qualità fino a sgranarsi. Quindi la verifica che farei è sulla misura in pixel dell'immagine da salvare rispetto alla misura che vuoi vedere.
Ma non essendo un grafico magari sbaglio.
ciao
Furio
http://www.opsi.ws

DkSw Profilo | Junior Member

Scusami, forse non mi sono spigato benissimo...
Diciamo che ho un programma in vb.net che fra le altre cose aggiunge dei dati in un db. Successivamente genera anche dei report.
Visto che il report dopo va stampato, ed ho ottenuto degli errori con immagini con bassi dpi, ho pensato bene di fare un controllo durante l'inserimento dell'immagine.
Ora è chiaro no? In ogni caso il codice è corretto? O c'è qualche altro metodo più indicato?

Stroke Profilo | Junior Member

Secondo me il codice è corretto.
Furio
http://www.opsi.ws

DkSw Profilo | Junior Member

Si, e pare funzionare...
Ero solo in cerca di conferme...ciao e grazie!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5