Esta funcionalidad ya la implementamos hace algunas semanas y la verdad que nos funciona de maravilla. A continuación te indicamos el sencillo código con el que podrás subir una imagen y añadirle una marca de agua a cualquier imagen mediante asp.net
Dim UploadFichero As HttpPostedFile = UploadFicheroColeccion(0)
UploadFichero.SaveAs(HttpContext.Current.Server.MapPath("files\") & Path.GetFileName(UploadFichero.FileName))
UploadFicheroColeccion = Nothing
strNombreFile = Path.GetFileName(UploadFichero.FileName)
UploadFichero.InputStream.Dispose()
UploadFichero.InputStream.Close()
UploadFichero = Nothing
' OBTENER RUTA Y NOMBRE DEL ARCHIVO
RutaFichero = HttpContext.Current.Server.MapPath("files") & "\" & strNombreFile
Dim Width, Height As Integer
Dim Img As System.Drawing.Image
Dim baseMap As Bitmap
Dim letterBrush As SolidBrush = New SolidBrush(Color.FromArgb(50, 255, 255, 255))
Dim shadowBrush As SolidBrush = New SolidBrush(Color.FromArgb(50, 0, 0, 0))
Dim fontTitle As Font = New Font("verdana", 18, FontStyle.Bold)
Dim txtMarcaAgua As String = incFuncionesObject.fObtenerValorConfiguracion(2190)
Img = System.Drawing.Image.FromFile(RutaFichero)
Width = Img.Width
Height = Img.Height
baseMap = New Bitmap(Width, Height)
Dim myGraphic As Graphics = Graphics.FromImage(baseMap)
With myGraphic
.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
.DrawImage(Img, 0, 0, Width, Height)
.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
.DrawString(txtMarcaAgua, fontTitle, shadowBrush, Width / 4, Height - 29)
.DrawString(txtMarcaAgua, fontTitle, letterBrush, (Width / 4) + 2, Height - 31)
End With
Img.Dispose()
'' Grabar la imagen físicamente
baseMap.Save(RutaFichero)
baseMap.Dispose()
Img = Nothing
y con esto ya tienes lista esta útil funcionalidad que más de un cliente ya nos ha solicitado.
