|
|
|
@ -230,7 +230,12 @@ static void stbi__stdio_write(void *context, void *data, int size) |
|
|
|
|
|
|
|
|
|
static int stbi__start_write_file(stbi__write_context *s, const char *filename) |
|
|
|
|
{ |
|
|
|
|
FILE *f = fopen(filename, "wb"); |
|
|
|
|
FILE *f; |
|
|
|
|
#ifdef _MSC_VER |
|
|
|
|
fopen_s(&f, filename, "wb"); |
|
|
|
|
#else |
|
|
|
|
f = fopen(filename, "wb"); |
|
|
|
|
#endif |
|
|
|
|
stbi__start_write_callbacks(s, stbi__stdio_write, (void *) f); |
|
|
|
|
return f != NULL; |
|
|
|
|
} |
|
|
|
@ -626,7 +631,11 @@ static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, f |
|
|
|
|
char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n"; |
|
|
|
|
s->func(s->context, header, sizeof(header)-1); |
|
|
|
|
|
|
|
|
|
#ifdef _MSC_VER |
|
|
|
|
len = sprintf_s(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); |
|
|
|
|
#else |
|
|
|
|
len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); |
|
|
|
|
#endif |
|
|
|
|
s->func(s->context, buffer, len); |
|
|
|
|
|
|
|
|
|
for(i=0; i < y; i++) |
|
|
|
@ -1010,7 +1019,11 @@ STBIWDEF int stbi_write_png(char const *filename, int x, int y, int comp, const |
|
|
|
|
int len; |
|
|
|
|
unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); |
|
|
|
|
if (png == NULL) return 0; |
|
|
|
|
#ifdef _MSC_VER |
|
|
|
|
fopen_s(&f, filename, "wb"); |
|
|
|
|
#else |
|
|
|
|
f = fopen(filename, "wb"); |
|
|
|
|
#endif |
|
|
|
|
if (!f) { STBIW_FREE(png); return 0; } |
|
|
|
|
fwrite(png, 1, len, f); |
|
|
|
|
fclose(f); |
|
|
|
|