blob: 9edf5326a0c57bc09a8432af824ca7153c2643d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Storage</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<h1>
Image Storage</h1>
<p>Essentially all the file formats save the same image data. There is no such
thing like a GIF image, instead we have a color indexed image that can be
saved in a file with a GIF format, or a TIFF format, etc. However the
compression encoding can be lossy and degrade the original image. The point is
file formats and image data are two different things.</p>
<p>A file format is a file organization of the image data and its attributes.
The IM library model considers all the file formats under the same model,
including image, video, animation, stacks and volume file formats. When there
is more than one image each one is treated as an independent frame. Each frame
can have its own parameters and set of attributes.</p>
<p>The abstract model we use has the following structure:</p>
<div align="center">
<center>
<table border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="300" id="AutoNumber1" cellpadding="3">
<tr>
<td align="center" bgcolor="#C0C0C0"><b>Format Identifier</b></td>
</tr>
<tr>
<td align="center" bgcolor="#C0C0C0"><b>Compression</b></td>
</tr>
<tr>
<td align="center" bgcolor="#C0C0C0"><b>Image Count</b></td>
</tr>
<tr>
<td align="center" style="border-top-style: solid; border-top-width: 1" bgcolor="#FFFF99">
Image Information:<br>
parameters, attributes, palette</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFF99">Image Data</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFCC">Image Information:<br>
parameters, attributes, palette</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFCC">Image Data</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFF99">...</td>
</tr>
</table>
</center>
</div>
<p>The compression is usually the same for all the images in the file, but it
can be changed after loading an image. For tradicional file formats image
count is always 1. Image information must always be loaded or saved before
image data.</p>
<p>We consider only formats that starts with a signature so we can recognize
the format without using its file extension. If there is more than one driver
that handles the same signature the first registered driver will open the
file. Since the internal drivers are automatically registered all the external
drivers can be loaded first if no <b>imFile</b> function has been called. In
this way you can also control which external driver goes first.</p>
</body>
</html>
|