There is really no connection between number of pixels and size of a photo in MB. Number of pixels does not completely determine file size. File size depends on a huge number of other things.
The JPG compression algorithm takes photos and compresses them via its own algorithm and user settings, and the amount of compression also depends on the content of the image, and so it is a pointless task to try to figure out the relationship.
Best thing you can do is accept that there is no obvious relationship, and move on.
I understand what you have written. My question is a bit different. In the Image Size window, at the top, there is a Megabyte size given for the current image. This information leads off the Pixel Size section. I will attach an example.
What is the meaning of 2.86 M? Where does this number come from? It is unrelated to the actual filesize of the image. When I keep the file saved in Photoshop format, it is not anywhere near the size mentioned (2.86M)
I hope this makes my question clearer. I don't know how to explain the meaning of that number.
The confusion comes from two causes:
- 1,000 "computer things" is equal to 1,024 "normal things".
- Each pixel has 3 chunks of data -- one chunk for each colour channel (Red, Green, and Blue).
So, the formula to get the "Pixel Dimensions" number is this (Only using the top section. Ignore the "Document Size" area.) :
(Width/1024) x (Height/1024) x 3
For your example:
(1000/1024) x (1000/1024) x 3 =
0.9765625 x 0.9765625 x 3 =
0.95367431641 x 3 =
The obvious question is "What if there are more colour channels?" You guessed it: multiply by the number of channels. Here's the same image opened in PSCS2, first as an RGB image, then after switching the Mode to CMYK;
Message was edited by: photodrawken to add examples
That is exactly the sort of help I wanted but I have one more detail to understand. You translated 1,000 pixels to 1024. How do I translate other pixel dimensions, such at the "640" in your example. Do I have to created an algebraic equation using this - 1000:1024 + 640:X and then solve it?
Or is there a simpler way to apply the tranlation to other pixel dimensions than 1000?
Computers speak in binary (ones and zeros = two values). This means that all numbers work in doubles: 2 -> 4 -> 8... 512 -> 1024. These are "bits" of data. 8 bits make a byte. 1024 bytes makes a kilobyte. 1024 kilobytes makes a megabyte, and so on. So if you want to know how much memory is taken up by a given number (whether it is 640 or 1000), you have to convert it to "computer" numbers.
You can approximate values by simply using 1000, but it is not accurate. If you want accurate, you have to use the formula offered by Ken.
So, for 640:
(640/1024) x (640/1024) x 3 =
0.625 x 0.625 x 3 =
0.390625 x 3 =
There's still the question of what use is that pixel dimensions number?
All I can think of is that it's a way to compare the relative amount of image data between images that is independent of the file size factors mentioned by dj_paige.
This topic is also a great excuse to post my favourite computer joke:
There are 10 kinds of people: Those who understand binary, and those who don't.
OK. Let's see if get this. I opened two images whose size was 1024x768. They were quite different images in tonal values so when saved they would have different file sizes.......
But, when I applied Brett's formula, the filesize given in pixel dimensions should have been 2.25 M and it was!
I realize that this information has no practical value but I am sure to encounter a student who asks me to explain it and now there is an explanation!
I have some photography friends who I will forward this conversation to! Maybe it will set their heads spinning.
Thanks to all of you.