回答編集履歴

5

画像ずれ説明更新

2019/07/18 12:02

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -34,9 +34,15 @@
34
34
 
35
35
  各ライン毎のバイト数が4の倍数に満たない場合は0パディングされます。
36
36
 
37
- このコードで24bitBMPファイルを読むと幅が4の倍数でないずれますね。
37
+ このコードで24bitBMPファイルを読むとRGBが3バイトなので、画像の幅が4の倍数でない場合はずれますね。
38
38
 
39
39
  ```C++
40
+
41
+ typedef struct {
42
+
43
+ unsigned char r, g, b;//24Bitなので
44
+
45
+ }RGB;
40
46
 
41
47
  RGB *bits = (RGB*)malloc(sizeof RGB * bi.biWidth * bi.biHeight);//ピクセルデータを確保する
42
48
 

4

リンク追加

2019/07/18 12:02

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,6 +1,8 @@
1
1
  BMPファイルは`RGB`ではなく、`BGR`の順で格納されています。
2
2
 
3
3
  `B`と`R`の並び順を入れ替えるのではなく、`glTexImage2D`の引数で`GL_RGB`の代わりに`GL_BGR`を指定すればよいのでは?
4
+
5
+ [glTexImage2D](http://docs.gl/gl4/glTexImage2D)
4
6
 
5
7
 
6
8
 

3

パディング説明更新

2019/07/18 11:58

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- 各ライン毎4の倍数に満たない場合は0パディングされます。
33
+ 各ライン毎のバイト数が4の倍数に満たない場合は0パディングされます。
34
34
 
35
35
  このコードで24bitBMPファイルを読むと幅が4の倍数でないとずれますね。
36
36
 

2

0パディングについて追記

2019/07/18 11:54

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -27,3 +27,17 @@
27
27
  If biCompression is BI_JPEG or BI_PNG, the biHeight member specifies the height of the decompressed JPEG or PNG image file, respectively.
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ 各ライン毎に4の倍数に満たない場合は0パディングされます。
34
+
35
+ このコードで24bitBMPファイルを読むと幅が4の倍数でないとずれますね。
36
+
37
+ ```C++
38
+
39
+ RGB *bits = (RGB*)malloc(sizeof RGB * bi.biWidth * bi.biHeight);//ピクセルデータを確保する
40
+
41
+ fread(bits, sizeof RGB, bi.biWidth * bi.biHeight, pFile);//ピクセルデータを読み込んだ
42
+
43
+ ```

1

誤字修正

2019/07/18 11:50

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- `BITMAPINFOHEADER`の`biHeight`がの場合は下から上に向かって格納されています。
11
+ `BITMAPINFOHEADER`の`biHeight`がの場合は下から上に向かって格納されています。
12
12
 
13
13
  [BITMAPINFOHEADER](https://msdn.microsoft.com/ja-jp/windows/dd183376(v=vs.80))
14
14