Image resize

Status
Niet open voor verdere reacties.

JohnyD

Gebruiker
Lid geworden
3 nov 2008
Berichten
12
Hallo, wie kan mij helpen?
Ik ben met een programma bezig dat alle jpg files uit en geselecteerde folder verkleind door een schaal op te geven. Dit werkt alleen worden de verkleinde jpg's in dezelfde folder geplaats met een suffix "_Smal". Nu lukt het mij om in de specifieke folder een nieuwe folder te maken "\Small" alleen krijg ik het niet voor elkaar om de verkleinde jpg's hierin op te slaan.

Hieronder een stukje van de code die ik gebruik:
Dim new_name As String = file_info.FullName
new_name = new_name.Substring(0, _
new_name.Length - ext.Length)
new_name &= "_small" & ext
Select Case ext
Case ".bmp"
bm2.Save(new_name, _
System.Drawing.Imaging.ImageFormat.Bmp)
Case ".gif"
bm2.Save(new_name, _
System.Drawing.Imaging.ImageFormat.Gif)
Case ".jpg", "jpeg"
bm2.Save(new_name, _
System.Drawing.Imaging.ImageFormat.Jpeg)
End Select

Wie heeft hier een oplossing voor?

Alvast dank
 
Wat is de waarde van new_name ?
 
De Waarde van New_Name is de huidige filename + "Small" vb: Picture wordt Picture_Small.jpg
 
OK, maar dan specificeer je de directory waar het in opgeslagen moet worden niet.

Het zou nl. zoiets moeten zijn: C:\map\picture_small.png.
 
Ja, zoiets zou ik willen alleen met de functie save wordt de file in dezelfde folder opgeslagen en ik weet niet hoe ik deze locatie kan wijzigen
 
Het is wel zo dat alle jpeg files in de specifieke folder worden verkleind. Zie de code:
Dim dir_info As New _
System.IO.DirectoryInfo(txtDirectory.Text)
For Each file_info As System.IO.FileInfo In _
dir_info.GetFiles()
Try
Dim ext As String = _
file_info.Extension.ToLower()
If ext = ".bmp" OrElse ext = ".gif" OrElse ext _
= ".jpg" OrElse ext = ".jpeg" Then
Dim bm As New Bitmap(file_info.FullName)
picWorking.Image = bm
Me.Text = "howto_2005_resize_pics - " & _
file_info.Name
Application.DoEvents()

Dim from_rect As New Rectangle(0, 0, _
bm.Width, bm.Height)

Dim bm2 As New Bitmap(CInt(scale * _
bm.Width), CInt(scale * bm.Height))
Dim dest_rect As New Rectangle(0, 0, _
CInt(scale * bm.Width), CInt(scale * _
bm.Height))
Using gr As Graphics = _
Graphics.FromImage(bm2)
gr.InterpolationMode = _
Drawing2D.InterpolationMode.HighQualityBicubic
gr.DrawImage(bm, dest_rect, from_rect, _
GraphicsUnit.Pixel)
End Using
 
Stel dat je nieuwe map 'test' heet:

[cpp]Dim output As String = file_info.Directory.FullName & "\test\" & _
IO.Path.GetFileNameWithoutExtension(file_info.FullName) & _
"_small" & file_info.Extension[/cpp]
 
Hey Hallo,

Hartelijk dank voor het stukje code, dit werkt precies zoals ik het bedoelde. Weer wat geleerd!

Thanks.
 
Graag gedaan hoor. :thumb:

Zet je de status even op opgelost?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan