回答編集履歴
1
補足
answer
CHANGED
@@ -1,3 +1,28 @@
|
|
1
1
|
Jpegは(圧縮時の設定にもよりますが)おおむね8x8の塊で画像を圧縮していきますので、画像部分については、`((幅+7)/8)*8 * ((高+7)/8)*8 * チャンネル数`で収まるんじゃないかと思います。
|
2
2
|
|
3
|
-
ヘッダについては、これも圧縮時によって変わりますので、一概には決められません。
|
3
|
+
ヘッダについては、これも圧縮時によって変わりますので、一概には決められません。
|
4
|
+
|
5
|
+
---
|
6
|
+
追記:式の意味について
|
7
|
+
|
8
|
+
画像が納まり、かつ8で割り切れる数を求めたい場合を、最小のケースを例に考えます。
|
9
|
+
1x1の画像があったとします。これがおさまり、かつ、8で割り切れる数は、幅高ともに8です。
|
10
|
+
|
11
|
+
これを求めるために、上記の計算式を用います。
|
12
|
+
まず(幅+7)=1+7=8ですね。この数自体に意味はありません。
|
13
|
+
次に、割る8ですが、整数で考えます。整数の割り算は余りを切り捨てます。
|
14
|
+
(1+7)/8 = 8/8 = 1 です。8ピクセルの最小単位の個数になります。
|
15
|
+
最後に掛ける8です。ピクセル単位に戻してやります。
|
16
|
+
((1+7)/8)*8 = 8、で、答えが求まりました。
|
17
|
+
|
18
|
+
仮に8x8の画像であった場合も、収まりつつ8で割り切れる数は8です。
|
19
|
+
(8+7) = 15、(8+7)/8 = 1 です。小数点以下は切り捨てです。
|
20
|
+
((8+7)/8)*8 = 8です。
|
21
|
+
|
22
|
+
これが9x9になったらどうでしょう。8x8の最小単位では収まりきらないので、16x16になることは予想できますね。
|
23
|
+
先ほどの計算式に当てはめてみましょう。
|
24
|
+
(9+7) = 16、(9+7)/8 = 2、((9+7)/8)*8 = 16です。
|
25
|
+
|
26
|
+
最初に7を足しこむことで、8で割り切れる天井の値を手に入れることができます。
|
27
|
+
|
28
|
+
~~うーん、伝わるかなぁ。。。~~
|