DATAKIT SDK  V2026.3
WritePreview.cpp File Reference

Functions

void WritePreview (const Dtk_PreviewPtr &inPreview, const Dtk_string &inName)
 

Function Documentation

◆ WritePreview()

void WritePreview ( const Dtk_PreviewPtr inPreview,
const Dtk_string inName 
)
5 {
6  if( inPreview.IsNULL() )
7  return;
8 
9  Dtk_Int32 size = inPreview->GetStreamSize();
10  char* imageData = inPreview->GetStream();
11 
12  if( size <= 0 || imageData == nullptr )
13  return;
14 
15  Dtk_string previewExt;
16 
17  switch( inPreview->GetType() )
18  {
20  previewExt = "jpg";
21  break;
23  previewExt = "bmp";
24  break;
26  previewExt = "png";
27  break;
29  previewExt = "cgm";
30  break;
32  previewExt = "gif";
33  break;
35  previewExt = "tiff";
36  break;
38  previewExt = "ico";
39  break;
41  previewExt = "emf";
42  break;
44  default:
45  previewExt = "jpg"; // Default to jpg if type is unknown
46  break;
47  }
48 
49  Dtk_string previewName = inName + "_Preview." + previewExt;
50  FILE* previewPtr = previewName.OpenFile( "wb" );
51  if( previewPtr )
52  {
53  fwrite( imageData, sizeof( char ), size, previewPtr );
54  fclose( previewPtr );
55  //std::cout << "Writing Preview " << previewName.c_str() << std::endl;
56  }
57 }
PREVIEW_TYPE_DETK_TIFF
@ PREVIEW_TYPE_DETK_TIFF
Definition: define.h:638
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:53
PREVIEW_TYPE_DETK_GIF
@ PREVIEW_TYPE_DETK_GIF
Definition: define.h:637
PREVIEW_TYPE_DETK_JPG
@ PREVIEW_TYPE_DETK_JPG
Definition: define.h:633
Dtk_string::OpenFile
FILE * OpenFile(const Dtk_string &inRights) const
File Utility : Open a file with the given rights.
PREVIEW_TYPE_DETK_PNG
@ PREVIEW_TYPE_DETK_PNG
Definition: define.h:635
PREVIEW_TYPE_DETK_CGM
@ PREVIEW_TYPE_DETK_CGM
Definition: define.h:636
PREVIEW_TYPE_DETK_BMP
@ PREVIEW_TYPE_DETK_BMP
Definition: define.h:634
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:686
PREVIEW_TYPE_DETK_EMF
@ PREVIEW_TYPE_DETK_EMF
Definition: define.h:640
PREVIEW_TYPE_DETK_ICO
@ PREVIEW_TYPE_DETK_ICO
Definition: define.h:639
PREVIEW_TYPE_DETK_UNKNOWN
@ PREVIEW_TYPE_DETK_UNKNOWN
Definition: define.h:632
Dtk_SmartPtr::IsNULL
Dtk_bool IsNULL() const
Definition: util_ptr_dtk.hpp:118