Hello,
I have a suggestion. Save your images in png format instead of jpeg. PNG is
lossless, and will preserve your pixel values exactly. There is an excellent
free png compressor:
http://advsys.net/ken/util/pngout.htm For natural images taken by cameras, not computer generated images, jpeg may
compress more than png, but you cannot predict how the compression will
change the pixels, unless you write the compressor yourself, or use some
open-source tools. That is the nature of lossy compression.
Regards,
Frank Hileman
check out VG.net:
http://www.vgdotnet.com Animated vector graphics system
Integrated Visual Studio .NET graphics editor
[quoted text, click to view] "NutsAboutVB" <dea@sms-networks.com> wrote in message
news:1146429007.330645.38580@i40g2000cwc.googlegroups.com...
> Hello,
>
> I am a VB.NET programmer and I have a JPEG image file (from digital
> camera) of about 109 KB's in size, when I open it and save it
> (without making any alterations at all, just going to File --> Save) in
> MS Photo Editor, the file is automatically shrunk in size to 81 KB's.
> When doing the same thing in MS Paint, the file is shrunk to 54 KB's.
> The file has the same number of pixels after both saves (as expected).
> My question follows...
>
> What are the 'automatic' changes that typical image editing
> software products perform to our images APART from any changes or
> alterations that we may make ourselves?
>
> I understand that one of these would be some form of compression (say,
> at 90) but I am unfamiliar with the other types of alterations that are
> made. When I compare the pixels in the original file and the new saved
> file (even without making changes, just opening & saving the file) I
> get completely different RGB values in each pixel. This is really bad,
> since (in my application) I need to be able to predict all typical (non
> explicit) changes made by graphics programs to normal images. So I have
> tried compressing the images via .NET code (EncoderParameters etc) at
> all possible values, 100, 99, 98 etc all the way down to 0 and I can
> not reproduce the exact pixel arrangements imposed by MS Photo Editor.
>
> My question is, why can't I, and what other types of transformations
> do I need to look into in order to try to replicate (and predict) such
> different pixel RGB values/arrangements imposed by various graphics
> programs? I don't know much about JPEG so not sure what
> ChrominanceTables and Luminance values are. The only thing I've tried
> altering is the Encoder.Quality parameter, and this accepts only
> parameter values between 0 and 100 of Long (Int64) data type. So in
> addition, can't I specify 89.5 or 94.3 (non integer) type values? Is
> this not in the JPEG spec to accept decimal values or is the .NET
> framework just limited in this way? Because I'm wondering, maybe
> these other software applications are specifying decimal fractions for
> the Quality setting of the encoder.
>
> So, in summary, just need to know...
> 1). What types of 'automatic changes' typically occur when an image
> is opened & saved using typical graphics programs?
> 2). If it is possible to pass non integer values floating point values
> (Single/Double/Decimal etc) for the Quality setting in the
> EncoderParameter object?
>
> I've had too many headaches because of this, Microsoft documentation
> is really bad, I understand my purposes may sound uncommon but I really
> need to be able to understand the types of automatic changes that are
> occurring, thank you in advance. I will respond promptly to all input,
> anything would be appreciated at this stage since I'm really empty
> direction wise.
>
> Thank you.
>