Separo gli argomenti altrimenti faccio confusione:
gnufy ha scritto:
io devo ruotare l immagine nalla pagina web. ...
1) Parte WEB: Hai bisogno di un codice che ruoti una immagine in una pagina Web. Hai già del codice tuo (preso da internet e che non hai ancora postato) ma ha dei problemi.
Potresti postare il codice e poi ne parliamo, oppure se preferisci ti propongo delle soluzioni adatte al Web dato che quella che ti ho scritto era per aplicazioni Window. (deve per forza essere in VB o Javascript andrebbe bene allo stesso?)
----------------------------------------------------------------------------------------
gnufy ha scritto:
... a quel punto l immagine essendo una fattura risulta quasi copletamente illeggibile a causa appunto di questa degradazione (usando il codice sopra)
2) Parte Window: Hai usato il codice che ti ho scritto io in una applicazione Windows, usando un PicureBox, ma quando ruoti l' immagine di una fattura diventa illeggibile.
Ho provato a prendere l' immagine di una fattura (del tipo solito, un pò di righe verticali e orizzontali e del testo) ho ruotato l' immagine (ho provato molti angoli, le ho fatto fare tutto il giro) ma rimane sempre bella, solo per certi angoli le linee sono un pò seghettate, ma le scritte rimangono leggibili. Ho usato un .jpg e ruoto di un grado alla volta.
Prova a postare il codice che hai scritto e vediamo se vi sono problemi.
Intanto di do una versione che usa una funzione sola invece che due, è sempre la stessa quindi non cambierà nulla, però è più comoda.
Private Function Rotation(ByVal img As Bitmap, ByVal degree As Double) As Bitmap
Dim a = Math.Abs(Math.Cos(degree * Math.PI / 180))
Dim b = Math.Abs(Math.Sin(degree * Math.PI / 180))
Dim w As Integer = img.Width * a + img.Height * b
Dim h As Integer = img.Height * a + img.Width * b
Dim center As PointF = New PointF(w / 2, h / 2)
Dim matrix As New System.Drawing.Drawing2D.Matrix
matrix.RotateAt(degree, center)
Dim bitmap As New Bitmap(w, h)
Dim g As Graphics = Graphics.FromImage(bitmap)
g.Transform = matrix
g.DrawImage(img, CInt((w - img.Width) / 2), CInt((h - img.Height) / 2))
Return bitmap
End Function
EDIT: Oppure non ho capito ed hai usato questo codice nella applicazione Web?