Ik heb in VisualStudio het volgende vb.net scriptje gemaakt aan de hand van een c# codevoorbeeld dat ik ergens heb gevonden.
Het script resized een .jpg foto, en werkt prima! Ik ben net begonnen met .Net en kan het script alleen niet helemaal volgen.
In onderstaand codevoorbeeld heb ik commentaar geschreven wat ik begrijp, en er is 1 stap die ik niet kan volgen, nl. hoe het door het object myGraphic getekende plaatje in het object myThumb terecht is gekomen:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myImage As System.Drawing.Image
Dim myThumb As System.Drawing.Image
Dim myGraphic As System.Drawing.Graphics
Dim myRectangle As Rectangle
Dim myNewImageWidth As Integer
Dim myNewImageHeight As Integer
'Plaatje inlezen en loskoppelen van bronbestand
myImage = System.Drawing.Image.FromFile("C:\Inetpub\wwwroot\test\img\Afbeelding 008.jpg")
myImage = myImage.Clone
myNewImageWidth = 500
myNewImageHeight = myImage.Height / (myImage.Width / myNewImageWidth)
'myThumb is het kader waarop het gerisizede plaatje getekend gaat worden (leeg zwart vlak)
myThumb = New System.Drawing.Bitmap(myNewImageWidth, myNewImageHeight, myImage.PixelFormat)
myGraphic = Graphics.FromImage(myThumb)
myGraphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed
myGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
myGraphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Low
'myRectangle is het plaatje wat op myThumb geplaatst gaat worden
myRectangle = New Rectangle(0, 0, myNewImageWidth, myNewImageHeight)
'Het plaatje (myImage) gerisized tekenen op myRectangle
myGraphic.DrawImage(myImage, myRectangle)
myGraphic.Dispose()
myImage.Dispose()
'Deze stap volg ik niet: hoe komt het plaatje van myGraphic.DrawImage(myImage, myRectangle)
'in het myThumb object?
myThumb.Save("C:\Inetpub\wwwroot\test\img\thumbnail.jpg")
End Sub
Het script resized een .jpg foto, en werkt prima! Ik ben net begonnen met .Net en kan het script alleen niet helemaal volgen.
In onderstaand codevoorbeeld heb ik commentaar geschreven wat ik begrijp, en er is 1 stap die ik niet kan volgen, nl. hoe het door het object myGraphic getekende plaatje in het object myThumb terecht is gekomen:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myImage As System.Drawing.Image
Dim myThumb As System.Drawing.Image
Dim myGraphic As System.Drawing.Graphics
Dim myRectangle As Rectangle
Dim myNewImageWidth As Integer
Dim myNewImageHeight As Integer
'Plaatje inlezen en loskoppelen van bronbestand
myImage = System.Drawing.Image.FromFile("C:\Inetpub\wwwroot\test\img\Afbeelding 008.jpg")
myImage = myImage.Clone
myNewImageWidth = 500
myNewImageHeight = myImage.Height / (myImage.Width / myNewImageWidth)
'myThumb is het kader waarop het gerisizede plaatje getekend gaat worden (leeg zwart vlak)
myThumb = New System.Drawing.Bitmap(myNewImageWidth, myNewImageHeight, myImage.PixelFormat)
myGraphic = Graphics.FromImage(myThumb)
myGraphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed
myGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
myGraphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Low
'myRectangle is het plaatje wat op myThumb geplaatst gaat worden
myRectangle = New Rectangle(0, 0, myNewImageWidth, myNewImageHeight)
'Het plaatje (myImage) gerisized tekenen op myRectangle
myGraphic.DrawImage(myImage, myRectangle)
myGraphic.Dispose()
myImage.Dispose()
'Deze stap volg ik niet: hoe komt het plaatje van myGraphic.DrawImage(myImage, myRectangle)
'in het myThumb object?
myThumb.Save("C:\Inetpub\wwwroot\test\img\thumbnail.jpg")
End Sub