![]() |
HDF User’s GuideVersion 4.2r4 |
[Top] [Prev][Next] |
r8_ex1.c#include "hdf.h" #define WIDTH 5 #define HEIGHT 6 main( ) { /* Initialize the image array */ static uint8 raster_data[HEIGHT][WIDTH] = { 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 }; intn status; /* Write the 8-bit raster image to file */ status = DFR8addimage("Example1.hdf", raster_data, WIDTH, HEIGHT, 0); }r8_ex1.fPROGRAM RASTER8 character*1 raster_data(5,6) integer retn, d8aimg integer*4 WIDTH, HEIGHT parameter(WIDTH = 5, HEIGHT = 6) C Initialize the image array data raster_data / 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 / C Write the 8-bit raster image to the file retn = d8aimg(`Example1.hdf', raster_data, WIDTH, HEIGHT, 0) endr8_ex2.c#include "hdf.h" #define WIDTH 20 #define HEIGHT 20 main( ) { uint8 colors[256*3], picture[HEIGHT][WIDTH]; uint8 i, j; int16 status; /* Initialize image arrays. */ for (j = 0; j < WIDTH; j++) { for (i = 0; i < HEIGHT; i++) picture[j][i] = 1; } /* Set the current palette. */ status = DFR8setpalette(colors); /* Write the image data to the file. */ status = DFR8putimage("Example2.hdf", picture, WIDTH, HEIGHT, COMP_NONE); }r8_ex2.fPROGRAM WRITE UNCOMPRESSED RIS8 integer d8spal, d8pimg, status, i, j integer colors(768) integer*4 WIDTH, HEIGHT, COMP_NONE parameter (COMP_NONE = 0, + WIDTH = 20, + HEIGHT = 20) integer picture(WIDTH, HEIGHT) C Initialize the image data. do 20 j = 1, WIDTH do 10 i = 1, HEIGHT picture(j, i) = 1 10 continue 20 continue C Set the current palette. status = d8spal(colors) C Write the image data to the file. status = d8pimg(`Example2.hdf', picture, WIDTH, HEIGHT, + COMP_NONE) endr8_ex3.c#include "hdf.h" #define WIDTH 20 #define HEIGHT 20 main ( ) { uint8 paletteA[256*3], paletteB[256*3]; uint8 picture1[HEIGHT][WIDTH], picture2[HEIGHT][WIDTH]; uint8 picture3[HEIGHT][WIDTH], picture4[HEIGHT][WIDTH]; uint8 i, j; int16 status; /* Initialize image arrays. */ for (j = 0; j < WIDTH; j++) { for (i = 0; i < HEIGHT; i++) { picture1[j][i] = 1; picture2[j][i] = 1; picture3[j][i] = 1; picture4[j][i] = 1; } } /* Set the first palette. */ status = DFR8setpalette(paletteA); /* Write the compressed image data to the HDF file. */ status = DFR8putimage("Example3.hdf", (VOIDP)picture1, WIDTH, HEIGHT, \ COMP_RLE); status = DFR8addimage("Example3.hdf", (VOIDP)picture2, WIDTH, HEIGHT, \ COMP_RLE); /* Set the second palette. */ status = DFR8setpalette(paletteB); /* Write the uncompressed image data to the HDF file. */ status = DFR8addimage("Example3.hdf", (VOIDP)picture3, WIDTH, HEIGHT, \ COMP_NONE); status = DFR8addimage("Example3.hdf", (VOIDP)picture4, WIDTH, HEIGHT, \ COMP_NONE); }r8_ex3.fPROGRAM WRITE IMAGE SETS integer d8spal, d8pimg, d8aimg, status integer*4 COMP_RLE, COMP_NONE, WIDTH, HEIGHT parameter (COMP_RLE = 11, + COMP_NONE = 0, + WIDTH = 20, + HEIGHT = 20) integer paletteA(768), paletteB(768) integer picture1(WIDTH, HEIGHT), picture2(WIDTH, HEIGHT) integer picture3(WIDTH, HEIGHT), picture4(WIDTH, HEIGHT) C Initialize the image data. do 20 j = 1, WIDTH do 10 i = 1, HEIGHT picture1(j, i) = 1 picture2(j, i) = 1 picture3(j, i) = 1 picture4(j, i) = 1 10 continue 20 continue C Set the first palette. status = d8spal(paletteA) C Write the compressed image data to the HDF file. status = d8pimg(`Example3.hdf', picture1, WIDTH, HEIGHT, + COMP_RLE) status = d8aimg(`Example3.hdf', picture2, WIDTH, HEIGHT, + COMP_RLE) C Set the second palette. status = d8spal(paletteB) C Write the uncompressed image data to the HDF file. status = d8aimg(`Example3.hdf', picture3, WIDTH, HEIGHT, + COMP_NONE) status = d8aimg(`Example3.hdf', picture4, WIDTH, HEIGHT, + COMP_NONE) endr8_ex4.c#include "hdf.h" #include "hcomp.h" #define WIDTH 3 #define HEIGHT 5 #define PIXEL_DEPTH 3 main( ) { /* Initialize the image array. */ static uint8 raster_data[HEIGHT][WIDTH][PIXEL_DEPTH] = { 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 }; static comp_info compress_info; intn status; /* Initialize JPEG compression structure. */ compress_info.jpeg.quality = 60; compress_info.jpeg.force_baseline = 1; /* Set JPEG compression for storing the image. */ status = DFR8setcompress(COMP_JPEG, &compress_info); /* Write the 8-bit image data to file. */ status = DFR8addimage("Example2.hdf", (VOIDP)raster_data, WIDTH, HEIGHT, COMP_JPEG); }r8_ex4.fPROGRAM COMPRESS RIS8 integer d8aimg, d8scomp, d8sjpeg, status integer*4 WIDTH, HEIGHT, PIXEL_DEPTH, COMP_JPEG C COMP_JPEG is defined in hcomp.h. parameter(WIDTH = 3, + HEIGHT = 5, + COMP_JPEG = 1, + PIXEL_DEPTH = 3) character raster_data(PIXEL_DEPTH, WIDTH, HEIGHT) C Initialize the image array. data raster_data + / 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 / C Set compression. status = d8scomp(COMP_JPEG) C Set JPEG parameters to quality = 60, and turn compatibility on. status = d8sjpeg(60, 1) C Write the 8-bit image data to the HDF file. status = d8aimg(`Example2.hdf', raster_data, WIDTH, HEIGHT, + COMP_JPEG) endr8_ex5.c#include "hdf.h" #define WIDTH 5 #define HEIGHT 6 main( ) { uint8 raster_data[HEIGHT][WIDTH]; int32 width, height; intn haspal, status; /* Get the dimensions of the image */ status = DFR8getdims("Example1.hdf", &width, &height, &haspal); /* Read the raster data if the dimensions are correct */ if (width <= WIDTH && height <= HEIGHT) status = DFR8getimage("Example1.hdf", (VOIDP)raster_data, width, height, NULL); }r8_ex5.fPROGRAM RASTER8 character*1 image(5, 6) integer status, height, width, d8gimg, d8gdims, haspal integer*4 width, height C Get the dimensions of the image. status = d8gdims(`Example1.hdf', width, height, haspal) C Read the raster data if the dimensions are correct. if (width .le. 5 .and. height .le. 6) then status = d8gimg(`Example1.hdf', image, width, height, 0) endif end PROGRAM GET LABEL LIST integer dallist integer*4 DFTAG_NDG, LISTSIZE, DFS_MAXLEN parameter (DFTAG_NDG = 720, + LISTSIZE = 20, + DFS_MAXLEN = 255) character*60 label_list(DFS_MAXLEN*LISTSIZE) integer i, num_of_labels, start_position, ref_list(DFS_MAXLEN) start_position = 1 num_of_labels = dallist(`Example1.hdf', DFTAG_NDG, ref_list, + label_list, 10, DFS_MAXLEN, + start_position) do 10 i = 1, num_of_labels print *,' Ref number: `,ref_list(i), + ` Label: `,label_list(i) 10 continue end
HDF4.2r4 - February 2009 Copyright |
The HDF Group www.hdfgroup.org ![]() |