can i change the size of a file dynamically

  • Thread starter Thread starter miladhatam
  • Start date Start date
M

miladhatam

can i change the size of a file dynamically ?
for example have 100 Kb and i want to decrease it to 20 Kb
thanks
 
Michael D. Ober äæÔÊå ÇÓÊ:
System.IO.FileStream.SetLength()

Mike.
thanks mike
is it for image file ?
i am a little amateur about image
can i change an image file size when it will shown by image control
may the main image file size have no change and only in image control
is decreased
thanks
 
Alexey Smirnov نوشته است:
Do you mean you want to resize an image dynamically (make its width and
height smaller)?
Or you want to change a quality/resolution of your image (decrease the
number of colors)?

Look at this
http://www.google.com/search?hl=en&q=resize+image+asp.net
i want to change the quality
i can change the height and and width of it but the file size is same
100KB=100KB
:)
may you help me please?
thanks
 
i can change the height and and width of it but the file size is same
100KB=100KB

You should check EncoderParameters Class (System.Drawing.Imaging),
which you can use when you create a new image.

You need to create a new Bitmap from the original image and set all
parameters you need. There is no way to set the size of the file of
target Bitmap and you have to play with resolution and quality
settings.

Sample code (VB):

Dim SourceBitmap As Drawing.Bitmap = New Bitmap(imageSrc)
Dim TargetBitmap As Drawing.Bitmap = New Bitmap(imageHeight,
imageWidth)

' To set resolution 72 dpi

Const res As Single = 72
TargetBitmap.SetResolution(res, res)

Dim objGraphics As Drawing.Graphics = Graphics.FromImage(TargetBitmap)

Dim objEncoder As Imaging.EncoderParameters

objGraphics.CompositingQuality = Drawing2D.CompositingQuality.Default
objGraphics.InterpolationMode =
Drawing2D.InterpolationMode.HighQualityBicubic

' Take a look MSDN for CompositingQuality and InterpolationMode -
there are many other settings

Dim recCompression As Rectangle = New Rectangle(0, 0, imageHeight,
imageWidth)
objGraphics.DrawImage(objSourceBitmap, recCompression)

objEncoder = New Imaging.EncoderParameters(2)

' Tell it to be "Encoder.Quality" with the desired iJPGQuality
objEncoder.Param(0) = New
Imaging.EncoderParameter(Imaging.Encoder.Quality, 85) ' 100 - quality
0..100
objEncoder.Param(1) = New
Imaging.EncoderParameter(Imaging.Encoder.Compression,
Imaging.EncoderValue.ColorTypeCMYK) ' 100 - quality 0..100

I would also recommend to look for more samples

http://www.google.com/search?hl=en&q=Imaging.EncoderParameters

etc.
 
oh my goodness
very good
i don't forget you my friend
i will go to test it
thanks alot alexey
 
Back
Top