![]() |
HDF User’s GuideVersion 4.2r4 |
[Top] [Prev][Next] |
r24_ex1.c#include "hdf.h" #define WIDTH 5 #define HEIGHT 6 #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, 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,74,75, 76,77,78, 79,80,81, 82,83,84, 85,86,87, 88,89,90 }; intn status; /* Write the 24-bit raster image to the HDF file. */ status = DF24addimage("Example1.hdf", (VOIDP)raster_data, WIDTH, \ HEIGHT); }r24_ex1.fPROGRAM WRITE RIS24 integer status, d2aimg integer*4 WIDTH, HEIGHT, PIXEL_DEPTH parameter (WIDTH = 5, + HEIGHT = 6, + 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, + 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,74,75, + 76,77,78, 79,80,81, 82,83,84, 85,86,87, 88,89,90 / C Write the 24-bit raster image to the file. status = d2aimg(`Example1.hdf', raster_data, WIDTH, + HEIGHT) endr24_ex2.c#include "hdf.h" #include "hcomp.h" #define WIDTH 5 #define HEIGHT 6 #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, 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,74,75, 76,77,78, 79,80,81, 82,83,84, 85,86,87, 88,89,90 }; intn status; /* Change interlace from pixel to scan-plane. */ status = DF24setil(DFIL_PLANE); /* Write the 24-bit image data to file. */ status = DF24addimage("Example2.hdf", (VOIDP)raster_data, WIDTH, HEIGHT); }r24_ex2.fPROGRAM CHANGE INTERLACE integer status, d2aimg, d2setil integer*4 WIDTH, HEIGHT, PIXEL_DEPTH, DFIL_PLANE parameter (WIDTH = 5, + HEIGHT = 6, + PIXEL_DEPTH = 3, + DFIL_PLANE = 2) integer 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, + 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,74,75, + 76,77,78, 79,80,81, 82,83,84, 85,86,87, 88,89,90 / C Change interlace from pixel to scan plane. status = d2setil(DFIL_PLANE) C Write the 24-bit raster image to the file. status = d2aimg(`Example2.hdf', raster_data, WIDTH, + HEIGHT) endr24_ex3.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 = DF24setcompress(COMP_JPEG, &compress_info); /* Write the 24-bit image data to file. */ status = DF24addimage("Example2.hdf", (VOIDP)raster_data, WIDTH, HEIGHT); }r24_ex3.fPROGRAM COMPRESS RIS24 integer d2aimg, d2scomp, d2sjpeg, status integer*4 WIDTH, HEIGHT, PIXEL_DEPTH parameter(WIDTH = 3, + HEIGHT = 5, + 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 = d2scomp(COMP_JPEG) C Set JPEG parameters to quality = 60, and turn compatibility on. status = d2sjpeg(60, 1) C Write the 24-bit image data to the HDF file. status = d2aimg(`Example2.hdf', raster_data, WIDTH, HEIGHT) endr24_ex4.c#include "hdf.h" #define WIDTH 5 #define HEIGHT 6 #define PIXEL_DEPTH 3 main( ) { uint8 raster_data[PIXEL_DEPTH][HEIGHT][WIDTH]; int32 width, height; intn interlace, status; /* Get the image dimensions from the HDF file. */ status = DF24getdims("Example2.hdf", &width, &height, &interlace); /* * Read raster data if the dimensions are * correct. */ if (width <= WIDTH && height <= HEIGHT) status = DF24getimage("Example2.hdf", (VOIDP)raster_data, width, height); }r24_ex4.fPROGRAM READ RIS24 integer d2gimg, d2gdims, status, width, height, interlace integer*4 X_LENGTH, Y_LENGTH, PIXEL_DEPTH parameter(X_LENGTH = 5, Y_LENGTH = 6, PIXEL_DEPTH = 3) integer raster_data(PIXEL_DEPTH, X_LENGTH, Y_LENGTH) C Read the dimensions raster image. status = d2gdims(`Example2.hdf', width, height, interlace) C Read image data from the HDF file if the dimensions are C correct. if (width .eq. X_LENGTH .and. height .eq. Y_LENGTH) then status = d2gimg(`Example2.hdf', raster_data, width, height) endif end
HDF4.2r4 - February 2009 Copyright |
The HDF Group www.hdfgroup.org ![]() |