Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
f392ec7d
S
stb
项目概览
itdan3344
/
stb
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
stb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f392ec7d
编写于
1月 17, 2015
作者:
S
Sean Barrett
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'working'
上级
a7c8694d
6639ef6d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
stb_image_write.h
stb_image_write.h
+11
-7
未找到文件。
stb_image_write.h
浏览文件 @
f392ec7d
...
...
@@ -108,7 +108,7 @@ static void write3(FILE *f, unsigned char a, unsigned char b, unsigned char c)
fwrite
(
arr
,
3
,
1
,
f
);
}
static
void
write_pixels
(
FILE
*
f
,
int
rgb_dir
,
int
vdir
,
int
x
,
int
y
,
int
comp
,
void
*
data
,
int
write_alpha
,
int
scanline_pad
)
static
void
write_pixels
(
FILE
*
f
,
int
rgb_dir
,
int
vdir
,
int
x
,
int
y
,
int
comp
,
void
*
data
,
int
write_alpha
,
int
scanline_pad
,
int
expand_mono
)
{
unsigned
char
bg
[
3
]
=
{
255
,
0
,
255
},
px
[
3
];
stbiw_uint32
zero
=
0
;
...
...
@@ -128,8 +128,12 @@ static void write_pixels(FILE *f, int rgb_dir, int vdir, int x, int y, int comp,
if
(
write_alpha
<
0
)
fwrite
(
&
d
[
comp
-
1
],
1
,
1
,
f
);
switch
(
comp
)
{
case
1
:
case
2
:
fwrite
(
d
,
1
,
1
,
f
);
case
1
:
fwrite
(
d
,
1
,
1
,
f
);
break
;
case
2
:
if
(
expand_mono
)
write3
(
f
,
d
[
0
],
d
[
0
],
d
[
0
]);
// monochrome bmp
else
fwrite
(
d
,
1
,
1
,
f
);
// monochrome TGA
break
;
case
4
:
if
(
!
write_alpha
)
{
...
...
@@ -151,7 +155,7 @@ static void write_pixels(FILE *f, int rgb_dir, int vdir, int x, int y, int comp,
}
}
static
int
outfile
(
char
const
*
filename
,
int
rgb_dir
,
int
vdir
,
int
x
,
int
y
,
int
comp
,
void
*
data
,
int
alpha
,
int
pad
,
const
char
*
fmt
,
...)
static
int
outfile
(
char
const
*
filename
,
int
rgb_dir
,
int
vdir
,
int
x
,
int
y
,
int
comp
,
int
expand_mono
,
void
*
data
,
int
alpha
,
int
pad
,
const
char
*
fmt
,
...)
{
FILE
*
f
;
if
(
y
<
0
||
x
<
0
)
return
0
;
...
...
@@ -161,7 +165,7 @@ static int outfile(char const *filename, int rgb_dir, int vdir, int x, int y, in
va_start
(
v
,
fmt
);
writefv
(
f
,
fmt
,
v
);
va_end
(
v
);
write_pixels
(
f
,
rgb_dir
,
vdir
,
x
,
y
,
comp
,
data
,
alpha
,
pad
);
write_pixels
(
f
,
rgb_dir
,
vdir
,
x
,
y
,
comp
,
data
,
alpha
,
pad
,
expand_mono
);
fclose
(
f
);
}
return
f
!=
NULL
;
...
...
@@ -170,7 +174,7 @@ static int outfile(char const *filename, int rgb_dir, int vdir, int x, int y, in
int
stbi_write_bmp
(
char
const
*
filename
,
int
x
,
int
y
,
int
comp
,
const
void
*
data
)
{
int
pad
=
(
-
x
*
3
)
&
3
;
return
outfile
(
filename
,
-
1
,
-
1
,
x
,
y
,
comp
,(
void
*
)
data
,
0
,
pad
,
return
outfile
(
filename
,
-
1
,
-
1
,
x
,
y
,
comp
,
1
,
(
void
*
)
data
,
0
,
pad
,
"11 4 22 4"
"4 44 22 444444"
,
'B'
,
'M'
,
14
+
40
+
(
x
*
3
+
pad
)
*
y
,
0
,
0
,
14
+
40
,
// file header
40
,
x
,
y
,
1
,
24
,
0
,
0
,
0
,
0
,
0
,
0
);
// bitmap header
...
...
@@ -181,7 +185,7 @@ int stbi_write_tga(char const *filename, int x, int y, int comp, const void *dat
int
has_alpha
=
(
comp
==
2
||
comp
==
4
);
int
colorbytes
=
has_alpha
?
comp
-
1
:
comp
;
int
format
=
colorbytes
<
2
?
3
:
2
;
// 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3
return
outfile
(
filename
,
-
1
,
-
1
,
x
,
y
,
comp
,
(
void
*
)
data
,
has_alpha
,
0
,
return
outfile
(
filename
,
-
1
,
-
1
,
x
,
y
,
comp
,
0
,
(
void
*
)
data
,
has_alpha
,
0
,
"111 221 2222 11"
,
0
,
0
,
format
,
0
,
0
,
0
,
0
,
0
,
x
,
y
,
(
colorbytes
+
has_alpha
)
*
8
,
has_alpha
*
8
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录