Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIBitmapWriter.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __GUIBITMAPWRITER_H__
11#define __GUIBITMAPWRITER_H__
12
13#include "eC_Types.h"
14#include "eC_String.h"
15#include "GUIBitmapPlane.h"
16
22{
23public:
25 typedef struct BITMAPINFOHEADER
26 {
27 eC_UInt bmp_size;
28 eC_UInt bmp_app;
29 eC_UInt bmp_offset;
30 } BMP;
31
33 typedef struct DIB_HEADER
34 {
35 eC_UInt dib_size;
36 eC_UInt dib_w;
37 eC_UInt dib_h;
38 eC_UShort dib_planes;
39 eC_UShort dib_bits;
41 eC_UInt dib_rawsize;
42 eC_UInt dib_xres;
43 eC_UInt dib_yres;
44 eC_UInt dib_palette;
45 eC_UInt dib_important;
46 } DIB;
47
48public:
54 const eC_String &kFileNameAndPath,
55 const GUIBitmapPlaneID_t& eBitmapPlaneID);
56
60 static void CreateScreenshot(const eC_String& kFilename);
61
70 static void WriteBufferToBMP(
71 const eC_String& kFilename,
72 eC_UByte* pubData,
73 const eC_UInt& uiWidth,
74 const eC_UInt& uiHeight,
75 const eC_UInt& uiBytesPerPixel,
76 const CGUICommonEnums::ImageType_t& ePixelFormat);
77
78private:
79 static eC_String GetFreeFilename(const eC_String& kFilename);
80
81 static eC_UByte* CreateBMPData(
82 eC_UByte* pkData,
83 const eC_UInt& uiWidth,
84 const eC_UInt& uiHeight,
85 const eC_UInt& uiBytesPerPixel,
86 const CGUICommonEnums::ImageType_t& ePixelFormat,
87 const eC_Bool& bFlipped,
88 eC_UInt& ruiOutputSize);
89
90 static void WriteBMP(
91 const eC_String& kFileNameAndPath,
92 eC_UByte* pkOutputData,
93 const eC_UInt& uiWidth,
94 const eC_UInt& uiHeight);
95};
96
97#endif
this class will create a bmp-file with the data of a bitmap-plane and save it to disk.
Definition: GUIBitmapWriter.h:22
struct CGUIBitmapWriter::BITMAPINFOHEADER BMP
header of bitmap
static void CreateScreenshot(const eC_String &kFilename)
static void WriteBitmapPlaneToBMP(const eC_String &kFileNameAndPath, const GUIBitmapPlaneID_t &eBitmapPlaneID)
struct CGUIBitmapWriter::DIB_HEADER DIB
dib-header of bitmap
static void WriteBufferToBMP(const eC_String &kFilename, eC_UByte *pubData, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const eC_UInt &uiBytesPerPixel, const CGUICommonEnums::ImageType_t &ePixelFormat)
ImageType_t
Definition: GUICommonEnums.h:80
header of bitmap
Definition: GUIBitmapWriter.h:26
eC_UInt bmp_app
0
Definition: GUIBitmapWriter.h:28
eC_UInt bmp_size
file size
Definition: GUIBitmapWriter.h:27
eC_UInt bmp_offset
offset to image data
Definition: GUIBitmapWriter.h:29
dib-header of bitmap
Definition: GUIBitmapWriter.h:34
eC_UInt dib_yres
y-resolution
Definition: GUIBitmapWriter.h:43
eC_UShort dib_bits
bits
Definition: GUIBitmapWriter.h:39
eC_UInt dib_compression
compression
Definition: GUIBitmapWriter.h:40
eC_UInt dib_palette
data for palette
Definition: GUIBitmapWriter.h:44
eC_UInt dib_w
width
Definition: GUIBitmapWriter.h:36
eC_UInt dib_size
size
Definition: GUIBitmapWriter.h:35
eC_UInt dib_xres
x-resolution
Definition: GUIBitmapWriter.h:42
eC_UInt dib_rawsize
size of raw data
Definition: GUIBitmapWriter.h:41
eC_UInt dib_h
height
Definition: GUIBitmapWriter.h:37
eC_UShort dib_planes
number of planes
Definition: GUIBitmapWriter.h:38
eC_UInt dib_important
important
Definition: GUIBitmapWriter.h:45