我正在使用vb.net和sql server 2008和一个picturebox上传照片。 这就是我想要做的。如何使用vb.net和SQL Server来裁剪和调整图像大小
1.图片可以是任何东西。它可以是位图,JPG,PNG,任何东西 2.从我的电脑上传图像 3.裁剪图像并调整大小以适合我的图片框。 4.将它保存到SQL Server数据库
这是我的工作代码,用于上载和保存图像到数据库中。
Public Class Form1
Dim a As New OpenFileDialog
Private Sub PictureBox1_DoubleClick(sender As Object, e As EventArgs) Handles PictureBox1.DoubleClick
Dim picl as string
a.filter = nothing
picl = a.filename
a.showdialog()
picturebox1.image = image.fromfile(a.filename)
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
cn.Open()
Using cmd As New SqlClient.SqlCommand("dbo.uspAdd", cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New SqlClient.SqlParameter("@customerPic", SqlDbType.Image)).Value = IO.File.ReadAllBytes(a.FileName)
cmd.ExecuteNonQuery()
MsgBox("Save Record New record Successfully")
End Using
cn.close
End Sub
我已经阅读了一些参考资料,但它不适用于我,现在我坚持了将近一个小时。 这是我试过的。
Imports System.Drawing.Drawing2D
Public Class Form1
Dim a As New OpenFileDialog
Private Sub PictureBox1_DoubleClick(sender As Object, e As EventArgs) Handles PictureBox1.DoubleClick
Dim picl As String
a.Filter = Nothing
picl = a.FileName
a.ShowDialog()
PictureBox1.Image = Image.FromFile(a.FileName)
Dim OriginalImage = Image.FromFile(a.FileName)
Dim CropRect As New Rectangle(100, 0, 100, 100)
Dim CropImage = New Bitmap(CropRect.Width, CropRect.Height)
Using grp = Graphics.FromImage(CropImage)
grp.DrawImage(OriginalImage, New Rectangle(0, 0, CropRect.Width, CropRect.Height), CropRect, GraphicsUnit.Pixel)
OriginalImage.Dispose()
End Using
End Sub
有人可以帮我解决我的代码。任何帮助将非常感激。由于
什么是不工作...你能具体点吗?为什么你有'Dim a As OpenFileDialog'两次?如果您要裁剪图片框中的图片,请在将图片添加到数据库而不是原始图片文件时使用该图片。 –
@chase Rocker对不起,因为新的OpenFileDialog只声明一次。我修正了上面的代码。我读过[参考](http://stackoverflow.com/questions/8725489/how-to-crop-an-image-in-vb-net),但我不能将其应用于我的代码。你能帮我解决我的问题吗? –
您不明白特定的代码行或者您不明白其中的任何代码?如果你不明白这一点,你可能需要阅读.net图形功能......试图解释它在这里是一个主题过于宽泛。 –