readbytes hat den Wert 0 ....
mh. ..... irgend einen dummen Fehler überseh ich doch hier wieder ... hier mal die function ...
Public Function createImage(ByVal Quelldatei As String, ByVal ResampleBreite As _
Integer, ByVal ResampleHoehe As Integer, ByVal Qualitaet As Integer) As _
MemoryStream
Dim arrFiletyp() As String
Dim StrFileTyp As String
Dim ms As New MemoryStream
arrFiletyp = Split(Quelldatei, ".")
StrFileTyp = arrFiletyp(UBound(arrFiletyp))
Dim ImgCodec As ImageCodecInfo = GetEncoderInfo("image/jpeg")
Select Case StrFileTyp
Case "jpg", "jpeg"
ImgCodec = GetEncoderInfo("image/jpeg")
Case "gif"
ImgCodec = GetEncoderInfo("image/gif")
Case "bmp"
ImgCodec = GetEncoderInfo("image/bmp")
Case "png"
ImgCodec = GetEncoderInfo("image/png")
End Select
Dim Kompression As New EncoderParameters(1)
Kompression.Param(0) = New EncoderParameter(Encoder.Quality, Qualitaet)
Dim Originalbild As Image
Originalbild = Originalbild.FromFile(Quelldatei, True)
Dim KonvertiertesBild As New Bitmap(ResampleBreite, ResampleHoehe)
Dim Grafik As Graphics = Graphics.FromImage(KonvertiertesBild)
Grafik.InterpolationMode = InterpolationMode.High
Grafik.DrawImage(Originalbild, 0, 0, ResampleBreite, ResampleHoehe)
KonvertiertesBild.Save(ms, ImgCodec, Kompression)
Return ms
End Functionund hier meine schleife ....
msFile = nConverter.createImage(nFileInfo.OriginalPfad, _
nFileInfo.PictureNewWidth, nFileInfo.PictureNewHeight, _
nFileInfo.PictuerNewQuality)
fsCopyFile = New FileStream(nFileInfo.Verzeichnis, _
FileMode.OpenOrCreate)
fsReader = New BinaryReader(msFile)
fsWriter = New BinaryWriter(fsCopyFile)
Dim buffer As Byte() = New Byte(4095) {}
Dim readBytes As Integer = 0
Dim i As Integer = 0
Dim intAnz As Integer
sb_bar.Maximum = (msFile.Length \ 4095) * 4095
Do
readBytes = fsReader.Read(buffer, 0, buffer.Length)
fsWriter.Write(buffer, 0, readBytes)
i += 1
intAnz = i * buffer.Length
If intAnz > sb_bar.Maximum Then
sb_bar.Value = sb_bar.Maximum
Else
sb_bar.Value = intAnz
End If
Loop While readBytes > 0
sb_bar.Value = 0
fsWriter.Close()
fsReader.Close()schon einmal vielen Dank für deine Mühe ...
Gidi |