LoadImageIntoDIB  Method

Description         Load the n-th image of the format TIFF, JPEG, PDF (image only), PNG, DIB, GIF, IOCA, MO:DCA (image only) , WMF, EMF, PCX, DCX, CLP, TGA, ColorFax or CALS into a Device Independent Bitmap (DIB). The n-th image does not apply to some file formats like BMP.

Usage                  Dib = [BiDib.]LoadImageIntoDIB FileName Image

Remarks             Dib                          LONGLONG The device independent bitmap. 0 if error occurred.

                            FileName                String              The source file name.

                            Image                     Integer             The nth image, or page number, for multi page images.  Numbering is zero based, for example:  Page 2 would be referenced as ‘1’

 

For supported image formats see the GetImageFormat method.

Call BitmaniError method to retrieve the error code.

 

The LoadImageIntoDIB method consolidates the several image loading methods into one method. For example, you can use this method to load TIFF, JPEG , BMP or PCX files. The LoadImageIntoDIB method determines the file format based on the file content, not the extension, so any extension can be used for the files.

You can use the GetImageFormat method to determine the image format of the specified file.

To load the various image types, the appropriate Black Ice DLL is needed.

For example: If you want to load a TIFF file with the LoadImageIntoDIB method,

you need the BiTiff.dll, because the LoadImageIntoDIB method loads a method from the BiTiff.dll. So if you want to load a TIFF file you can call LoadImageIntoDIB from BiDib.ocx or LoadTiffIntoDIB method from BiTiff.ocx. But you need the BiTiff.dll in both cases.

 

Available error codes:

Error Code number

Error Code

Meaning

0

LS_OK

Operation was successful.

Error codes for loading Bitmap, ColorFax, WMF, EMF and Clipboard files:

1

LS_INOTENOUGHMEMORY

Not enough memory to allocate block.

2

LS_IDCCREATEERROR

Unable to create DC.

3

LS_IFILEOPENERROR

Can’t open the file.

4

LS_IFILEIOERROR

General I/O error in reading or writing.

5

LS_ICLIPOPENERROR

Can’t open clipboard.

6

LS_ICLIPRECERROR

Could not receive from clipboard.

7

LS_IBITCOPYERROR

Can’t copy bits from bitmap.

8

LS_IPARAMETERERROR

Parameter error.

9

LS_IFILEFORMAT

Invalid file format.

10

LS_ICREATEPALETTE

Can’t create palette.

11

LS_ICREATEBITMAP

Can’t create bitmap.

12

LS_IMETAMAPMODEERROR

Mapping mode is improperly set in metafile.

13

LS_IINVALIDBITSPIXEL

Invalid bit/pixel value.

14

LS_IFORMATNOTFOUND

Format not found in clipboard file.

15

LS_IGETOBJECT

Can’t get bitmap parameters.

16

LS_IMETAERROR

Can’t create metafile.

17

LS_ILOCKMEMORY

Can’t lock global memory.

18

LS_IDIBCOMPRESSED

DIB must be uncompressed.

19

LS_ISIZEERROR

Invalid DIB size.

20

LS_IREJECTPARAM

Parameter error in Dithering.

21

LS_IBADBITPIXEL

Bad bit/pixel value in DIB header.

22

LS_IBADCAPIXPARAM

The CAPIX algorithm creates only 1 or 4 bit image.

23

LS_IMG_PRINTERDC

Could not get printer DC.

24

LS_IMG_PRINTERRASTER

Device not capable to handle raster.

25

LS_IMG_PRINTERAPPDC

Could not get display DC.

26

LS_IMG_PRINTERESC4

Escape failed SETABORTPROC.

27

LS_IMG_PRINTERESC5

Escape failed STARTDOC.

28

LS_IMG_PRINTERESC6

Escape failed NEXTBAND.

29

LS_IMG_CLIPBOARD

Clipboard error.

30

LS_IMG_PRINTCANCEL

User canceled the printing.

31

LS_INOTHINGTODO

Nothing to do.

32

LS_IPAGENOTFOUND

Unable to find a scanned page for cropping.

Error codes for loading TIFF and CALS files:

33

LS_TNOTENOUGHMEMORY

Not enough memory to allocate block.

34

LS_TBADOPENMODE

No T_READ or T_CREAT in OpenTiffFile().

35

LS_TINDEXOUTOFRANGE

Image or tag data index is out of range.

36

LS_TSTRIPOUTOFRANGE

Strip index is out of range.

37

LS_TENDOFDATA

Unexpected end of file in reading data.

38

LS_TFILEIOERROR

General I/O error in reading or writing.

39

LS_TPATHTOOLONG

Pathname is longer than MAXPATH.

40

LS_TNOTTIFFILE

File does not have a valid TIFF format.

41

LS_TBADTAG

Invalid TIFF directory tag.

42

LS_TTOOFEWINFO

Indispensable tags are missing.

43

LS_TUNKNOWNCOMPRESSION

Image compression type is not known.

44

LS_TCOMPRESSIONFAILED

Error during compression or decompression.

45

LS_TNOSUCHTAG

Such tag is not defined.

46

LS_TBADBYTEORDER

Invalid byte order ID in ModiTiffFileInfo().

47

LS_TBADBITORDER

Invalid BITORDER tag value.

48

LS_TBADNUMBEROFCOLORS

Invalid BITSPERPIXEL tag value.

49

LS_TTOFEWCOLORINFO

Color info is not enough.

50

LS_TNOTCALSFILE

File does not have a valid CALS format.

51

LS_TNOEOFB

End of Facsimile Block is missing (EOFB).

52

LS_TBADEOFB

Unexpected End of Facsimile Block (EOFB).

53

LS_TBADWIDTH

Image width must be 1728 pixels (Can’t save it).

54

LS_TNOJPEGDLL

Module JPEG DLL is not found.

55

LS_TBADJPEGDLL

Can’t find a function in module JPEG DLL.

56

LS_TFORMATCLIPBOARD

Clipboard format is not bitmap.

57

LS_TOPENCLIPBOARD

Could not open clipboard.

58

LS_TRECEIVECLIPBOARD

Could not receive bitmap from clipboard.

59

LS_TIMAGENOTREGISTERED

Image is not registered.

60

LS_TNOBIDLGS

BiDlgs.dll does not exist.

Error codes for loading PCX and DCX files:

61

LS_PCX_BUF_ALLOC

Unable to allocate buffers.

62

LS_PCX_UNKNOWN_VERSION

Uninterpreatable version.

63

LS_PCX_UNKNOWN_ENCODING

Possibly PCX, but doesn’t use ZSoft encoding.

64

LS_PCX_FILEOPEN

Unable to open file.

65

LS_PCX_BITMAP

Unable to create bitmap.

66

LS_PCX_CLIP_OPEN

Unable to open clipboard.

67

LS_PCX_HDC

Unable to create compatible DC.

68

LS_PCX_TOO_SPECIAL_FORMAT

Too hardware dependent bitmap.

69

LS_PCX_BAD_PALETTE

Error in reading palette info.

70

LS_PCX_ERROR_GLOCK

Global and local lock error.

71

LS_PCX_ERROR_GALLOC

Global and local alloc error.

72

LS_PCX_ERROR_USERFUNC

User function return with FALSE.

73

LS_PCX_ERROR_BITMAPFORMAT

PCX file and bitmap is not the same type.

74

LS_PCX_ERROR_GETCLIPBOARD

Error in GetClipboardData function.

75

LS_PCX_ERROR_READ

Error in _lread.

76

LS_PCX_ERROR_WRITE

Error in _lwrite.

77

LS_PCX_ERROR_IO

File I/O error.

78

LS_PCX_ERROR_COLORSPACE

Invalid color space format.

79

LS_DCX_ERROR_INVALIDITEM

Reference to non-existent item number.

80

LS_DCX_ERROR_BADFILETYPE

Bad DCX file identifier.

81

LS_DCX_ERROR_BADOFFSET

Bad item offset in DCX header.

82

LS_DCX_ERROR_DISKSPACE

Not enough disk space for file operation.

83

LS_DCX_ERROR_DCXFULL

No empty entry in DCX header.

84

LS_DCX_ERROR_DELETEFILE

Unable to delete file.

85

LS_DCX_ERROR_RENAMEFILE

Unable to rename file.

86

LS_DCX_ERROR_EMPTY

No image in DCX-file.

Error codes for loading GIF files:

87

LS_GNOTENOUGHMEMORY

Not enough memory to allocate block.

88

LS_GBADOPENMODE

No G_READ or G_CREAT in OpenGifFile().

89

LS_GINDEXOUTOFRANGE

Image index is out of range.

90

LS_GENDOFDATA

Unexpected end of file in reading data.

91

LS_GFILEIOERROR

General I/O error in reading or writing.

92

LS_GPATHTOOLONG

Pathname is longer than MAXPATH.

93

LS_GNOTGIFFILE

File does not have a valid GIF format.

94

LS_GCOMPRESSIONFAILED

Error during compression or decompression.

95

LS_GBADNUMBEROFCOLORS

Invalid BITSPERPIXEL value.

96

LS_GCLIPOPEN

Can’t open clipboard.

Error codes for loading TGA files:

97

LS_TGA_ERROR_GALLOC

Error during global alloc.

98

LS_TGA_ERROR_GLOCK

Error during global lock.

99

LS_TGA_ERROR_LALLOC

Error during local alloc.

100

LS_TGA_ERROR_LLOCK

Error during local lock.

101

LS_TGA_ERROR_ORIG_GALLOC

Error during global alloc for TGAOriginalFile.

102

LS_TGA_ERROR_ORIG_GLOCK

Error during global lock for TGAOriginalFile.

103

LS_TGA_ERROR_SCAN_GALLOC

Error during global alloc for ScanLineTable.

104

LS_TGA_ERROR_SCAN_GLOCK

Error during global lock for ScanLineTable.

105

LS_TGA_ERROR_EXT_GALLOC

Error during global alloc for TGAExtDevArea.

106

LS_TGA_ERROR_EXT_GLOCK

Error during global lock for TGAExtDevArea.

107

LS_TGA_ERROR_EXT_SIZE

Extension area size incorrect.

108

LS_TGA_ERROR_FILLEXT

Error during filling up extension are struct.

109

LS_TGA_ERROR_DEV_GALLOC

Error during global alloc for Developer Area.

110

LS_TGA_ERROR_DEV_GLOCK

Error during global lock for Developer Area.

111

LS_TGA_ERROR_STAMP_GALLOC

Error during global alloc for Postage Stamp.

112

LS_TGA_ERROR_STAMP_GLOCK

Error during global lock for Postage Stamp.

113

LS_TGA_ERROR_CORR_GALLOC

Error during global alloc for Correction Table.

114

LS_TGA_ERROR_CORR_GLOCK

Error during global lock for Correction Table.

115

LS_TGA_ERROR_FILE_CORRUPTED

File corrupted or incorrect format.

116

LS_TGA_ERROR_NEWFILE_CORRUPTED

New TGA file corrupted or incorrect format above Original Area.

117

LS_TGA_ERROR_NOT_NEW_FORMAT

The given function cannot operate on original or unknown TGA file format.

118

LS_TGA_ERROR_NOT_ENCODED

User hasn’t run EncodeTGAFile function.

119

LS_TGA_ERROR_BITMAP

Error in data of BitmapInfoHeader.

120

LS_TGA_ERROR_IMAGETYPE

Unknow TGA image type.

121

LS_TGA_ERROR_NO_CLRMAP

No color map data in TGA file.

122

LS_TGA_ERROR_NO_EXTAREA

No extension area in TGA file.

123

LS_TGA_ERROR_NO_DEV

No developer area in TGA file.

124

LS_TGA_ERROR_NO_CLRCORR

No color correction table in TGA file.

125

LS_TGA_ERROR_NO_STAMP

No Postage Stamp Data in TGA file.

126

LS_TGA_ERROR_BUF_GALLOC

Buffer alloc error.

127

LS_TGA_ERROR_BUF_GLOCK

Buffer lock error.

128

LS_TGA_ERROR_CONV

Conversation error.

129

LS_TGA_ERROR_SCANLINE_GALLOC

No space for scan line table.

130

LS_TGA_ERROR_HDC

hDC error.

131

LS_TGA_ERROR_PALETTE

Palette creating error.

132

LS_TGA_ERROR_SET_DIBITS

SetDIBits error.

133

LS_TGA_ERROR_GET_DIBITS

GetDIBits error.

134

LS_TGA_ERROR_CREAT_BITMAP

CreateDIBitmap error.

135

LS_TGA_ERROR_IO

File I/O error.

136

LS_TGA_ERROR_DOSFILE

Must be added to dos error code.

Error codes for loading PNG files:

137

LS_PNGERR_CREATE

Unable to create file.

138

LS_PNGERR_OPEN

File not found.

139

LS_PNGERR_MEMORY

Not enough memory.

140

LS_PNGERR_HANDLE

Invalid bitmap or DIB handle.

141

LS_PNGERR_READING

Error occured while loading.

142

LS_PNGERR_WRITING

Error occured while saving.

143

LS_PNGERR_CREATEDIBITMAP

Unable to create DIB.

144

LS_PNGERR_GETDIBITS

Unable to get DIB.

145

LS_PNGERR_PALETTE

Palette missing.

146

LS_PNGERR_BITDEPTHORALPHA

Unsupported bit depth or alpha channel exist.

Error codes for loading PDF files:

147

LS_WINAPI_GETLASTERROR

Error occured, call the Windows API GetLastError() for the error code.

148

LS_INVALID_HANDLE_VALUE

Invalid handle value.

149

LS_FILE_ALREADY_EXISTS

The file already exists.

150

LS_INVALID_IMAGE_SIZE

Invalid image size.

151

LS_INVALID_BITSPERPIXEL

Invalid bit/pixel value.

152

LS_INVALID_STRING

Invalid string.

153

LS_NULL_POINTER

Null pointer.

154

LS_ZERO_BYTES_TO_WRITE

Zero bytes to write.

155

LS_INVALID_DPI

Invalid DPI value.

156

LS_MEMORY_ALLOCATION_ERROR

Memory allocation error.

157

LS_OBJECT_ALREADY_EXISTS

The Object already exists.

158

LS_TOO_MANY_OBJECTS

Too many objects.

159

LS_INVALID_RESOURCE_TYPE

Invalid resource type.

160

LS_INVALID_STREAM_SIZE

Invalid stream size.

161

LS_FILTER_NOT_SUPPORTED

The filter is not supported.

162

LS_NEGATIVE_VALUE

Negative value.

163

LS_TEMP_DIRECTORY_ERROR

Temp directory error.

164

LS_TEMPFILE_ERROR

Temp file error.

165

LS_INVALID_TIFF_DLL

Invalid Tiff dll.

166

LS_ENCODING_FAILED

Encoding failed.

167

LS_INVALID_JPEG_DLL

Invalid Jpeg dll.

168

LS_INVALID_PARAMETER

Invalid Parameter

169

LS_OPEN_FILE_ERROR

Error opening file.

170

LS_NOT_PDF_FILE

File is not a PDF file.

171

LS_PDF_VERSION_NOT_SUPPORTED

PDF version is not supported.

172

LS_READ_FILE_ERROR

Error reading file.

173

LS_ERROR_DURING_DECOMPRESSION

Error during decompression.

174

LS_INVALID_PALETTE

Invalid palette.

175

LS_COMPRESSION_NOT_SUPPORTED

Compression is not supported.

176

LS_CCITT_DECODING_FAILED 

CCITT decoding failed.

177

LS_INVALID_PAGE_NUMBER     

Invalid page number.

178

LS_PDF_OBJECT_NOT_INITIALIZED_USE_INITPDF

PDF Object not initialized.

179

LS_UNSPECIFIED_ERROR 

Error happened while parsing the PDF file. The PDF file is probably not an image PDF file.

See Also              GetImageFormat Method

Note:                   This method does not free the DIB.  Call the DropDIB Method to free up the DIB