Я использую vb.net и sql server 2008 и ящик для загрузки фотографий. Это то, что я хочу сделать.Как обрезать и изменять размер изображения с помощью vb.net и SQL Server
1. Изображение может быть любым. Это может быть bitmap, jpg, png, anything 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 New OpenFileDialog» дважды? Если вы собираетесь обрезать изображение в окне изображения, используйте это изображение, когда вы добавляете его в свою БД вместо исходного файла изображения. –
@chase Rocker sorry 'dim a as New OpenFileDialog' объявляется только один раз. i Исправьте код выше. Я прочитал этот [Ссылка] (http://stackoverflow.com/questions/8725489/how-to-crop-an-image-in-vb-net), но я не могу применить его с моим кодом. Можете ли вы помочь мне с моей проблемой? –
Вы не понимаете конкретную строку кода или не понимаете ее? Если вы этого не понимаете, вы, вероятно, захотите ознакомиться с функциональностью графической подсистемы .net, пытаясь объяснить, что здесь слишком много темы. –