Giter Club home page Giter Club logo

ppm-images's Introduction

PPM Image Reader and Writer

This program reads a PPM (Portable Pixmap) image file, ignoring any comments, and writes the image to a new PPM file. The program is written in C.

Usage

Compile the program using the following command:

gcc -o ppmReadWrite driver.c ppmUtil.c

Run the program with the input PPM file and the desired output PPM file as command-line arguments:

./ppmReadWrite <input ppm file> <output ppm file>

Program Structure

The program is divided into two files:

  • driver.c: Contains the main function which reads the input file, processes the image, and writes it to the output file.
  • ppmUtil.c: Contains utility functions for reading and writing PPM image files, as well as handling memory allocation and comments.

Functions

  • void ckComment(FILE* fp): Checks for comments in the PPM file and ignores them.
  • void readHeader(FILE* fp, header_t* header): Reads the header information from the PPM file.
  • pixel_t* readPixels(FILE* fp, header_t header): Reads the pixel data from the PPM file.
  • void writeHeader(FILE* fp, header_t header): Writes the header information to the output PPM file.
  • void writePixels(FILE* fp, pixel_t* pixels, header_t header): Writes the pixel data to the output PPM file.
  • pixel_t* read(FILE* fp, header_t* header): Reads the entire PPM image, including header and pixel data.
  • void write(FILE* fp, header_t header, pixel_t* pixels): Writes the entire PPM image, including header and pixel data.
  • pixel_t* allocatePixMemory(header_t header): Allocates memory for the pixel data based on the image dimensions.
  • void freeMemory(pixel_t* pixels): Frees the allocated memory for pixel data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.