`

.net上传图片生成缩略图,加文字水印和图片水印

    博客分类:
  • .net
阅读更多

引用页的代码:

 

Imports dll图片水印缩略图

Partial Class _Default
    Inherits System.Web.UI.Page
    Private imageutile As dell图片缩略图水印 = New dell图片缩略图水印
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim imagehz As String() = {".jpg", ".jpge", ".png", ".gif", ".bmp"}
        '(ByVal Fup上传控件 As FileUpload, ByVal strimage As String(), ByVal image缩略图 As Image, ByVal lab错误提示
        'str水印图片路径 As String, ByVal str图片保存路径 As String, ByVal str水印文字 As String, ByVal x水印坐标 As Integer, ByVal y水印坐标 As Integer, ByVal 缩略图高 As String, ByVal 缩略图宽 As String, ByVal 文字 As Boolean, ByVal 图片 As Boolean
        Me.imageutile.upimage图片上传设置水印(Me.FileUpload1, imagehz, Me.Image1, Me.Label1, "image/logo.jpg", "imagelocal", "weizhigan", 30, 30, 100, 150, True, False)
    End Sub
End Class

附加库文件下载和测试工程下载

dll的代码在公司了,今天写完dll的代码后直接拷贝dll文件回来而已,代码没拷贝回来

如果对dll代码感兴趣的给我留言留下你的邮件我发给各位

早上忙,没能补dll的代码上来现在发布

Public Class dell图片缩略图水印

    '
    '
    '上传图片缩略
    Sub upimage图片上传设置水印(ByVal Fup上传控件 As FileUpload, ByVal strimage As String(), ByVal image缩略图

As Image, ByVal lab错误提示 As Label, ByVal str水印图片路径 As String, ByVal str图片保存路径 As String, ByVal str

水印文字 As String, ByVal x水印坐标 As Integer, ByVal y水印坐标 As Integer, ByVal 缩略图高 As String, ByVal 缩略图

宽 As String, ByVal 文字 As Boolean, ByVal 图片 As Boolean)
        Dim imagelocal = str图片保存路径 ' "~/imagelocal"
        Dim iname As String ' 文件保存名
        Dim flash是否继续 As Boolean = False
        If Not (Fup上传控件.PostedFile Is Nothing) Then '上传的图片不为空的时候进行一下操作
            Dim namestr1 As String = (Fup上传控件.PostedFile.FileName) '获取上传的文件名


            Dim j As Integer = namestr1.LastIndexOf(".")
            Dim newname As String = namestr1.Substring(j) '图片得到后辍名

            For k As Int32 = 0 To strimage.Length - 1 Step 1
                If newname = strimage(k) Then
                    flash是否继续 = True '
                End If
            Next k


            If flash是否继续 Then
                iname = CStr(Now.ToFileTimeUtc) '随机的文件名(不会重复)
                Dim newnames As String = iname + newname '重新组合文件名

                '是否保存原图?
                'Fup上传控件.PostedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath(imagelocal) + "/" +

newnames) '保存文件到文件夹

                Dim image, sImage, stimgs As System.Drawing.Image
                image = System.Drawing.Image.FromStream(Fup上传控件.PostedFile.InputStream) '得到原图
                Dim imagelocals As String = HttpRuntime.AppDomainAppPath
                Dim files As New System.IO.FileStream(imagelocals + "/" + str水印图片路径, IO.FileMode.Open,

IO.FileAccess.ReadWrite) '实例化FileStream类()
                stimgs = System.Drawing.Image.FromStream(files) '即将把获得的水印图流写入
                files.Close() '关闭流

                Dim width As Decimal = image.Width '得到原图的宽
                Dim height As Decimal = image.Height '得到原图的高

                Dim swidth As Decimal = stimgs.Width
                Dim sheight As Decimal = stimgs.Height

                Dim newwidth, newheight As Integer '定义缩略图的大小


                If 缩略图高 > 0 And 缩略图宽 > 0 Then
                    newwidth = 缩略图宽
                    newheight = 缩略图高

                Else
                    '计算缩略图的大小
                    If (width > height) Then
                        newwidth = 150
                        newheight = CInt(height / width * 150)
                    Else
                        newheight = 150
                        newwidth = CInt(width / height * 150)
                    End If

                End If


                sImage = image '.GetThumbnailImage(width, height, Nothing, IntPtr.Zero) '返回image的缩略图

                Dim output As Drawing.Bitmap = New Drawing.Bitmap(sImage) '设置缩略图为位图

                Dim g As Drawing.Graphics = Drawing.Graphics.FromImage(output) '即将用绘画类画出图片


                '设计文字水印的位置
                '如果没有设定文字水印坐标就进行默认位置
                Dim x As Integer = x水印坐标
                Dim y As Integer = y水印坐标
                Dim fonts As New Drawing.Font("Tw Cen MT", 18) '默认的水印字体和大小

                '给缩略图加上文字水印
                '如果设置了文字水印

                If 文字 Then
                    If str水印文字 = "" Then
                        g.DrawString("顶佳技术中心", fonts, New Drawing.SolidBrush(Drawing.Color.Red), (width - x),

(height - y)) '给图片设置文字水印
                    Else
                        g.DrawString(str水印文字, fonts, New Drawing.SolidBrush(Drawing.Color.Red), (width - x), (height -

y)) '给图片设置文字水印
                    End If
                End If

                '给缩略图加上图片水印
                '如果设置了图片水印
                If 图片 Then
                    If str水印图片路径 = "" Then
                        g.DrawString("顶佳软件提醒你:图片未找到!", fonts, New Drawing.SolidBrush(Drawing.Color.Red),

(width - x), (height - y)) '给图片设置文字水印
                    Else
                        g.DrawImage(stimgs, (width - swidth - x), (height - sheight - y)) '给图片设置图片水印
                    End If
                End If
                output.Save(System.Web.HttpContext.Current.Server.MapPath(imagelocal) + "/s_" + newnames,

System.Drawing.Imaging.ImageFormat.Jpeg)

                '保存缩略图到Simagelocal文件夹

                image缩略图.Height = newheight
                image缩略图.Width = newwidth
                image缩略图.Visible = True
                image缩略图.ImageUrl = "../" + imagelocal + "/s_" + newnames
            Else
                lab错误提示.Text = "你要上传的图片不符合类型"

            End If

        End If


    End Sub


End Class

  • dll.zip (18.3 KB)
  • 下载次数: 10
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics