JPEG files are smaller because the image is compressed, so...the pixel values are changed. If you take a straight-up bitmap and convert it to (save it as) a JPEG, you are changing the pixel values.
There are two ways to make a bitmap file size smaller: resize the image or compress it.
When you load a JPEG into memory with the Graphics/Bitmap/Image classes in .NET you can do everything to that JPEG that you can to a bitmap image. Once you load the JPEG into memory, the .NET framework decompresses the image and you have access to the bits.
See here: http://www.codeproject.com/KB/GDI-plus/GDI_.aspx
Or here: Bob Powell