Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libimage is a shared C library for operating on image files to perform such functions as duplicating a file, converting a file to another type, lowering the resolution of a file, altering image pixel data.

The purpose of this project is as an exercise and to improve my skills in building C libraries. This library is by no means exhaustive and will only support a limited number of use cases. It is a work in progress, so this is not the finished state of the library.

Author: Michael Skipper

Version: 1.0.0

Date: December 31, 2024

Features:

- File types supported: JPEG, BMP
- Data representation: supports 24-bit RGB and 8-bit grayscale images
- Conversion: supports compression to and decompression from JPEG
- Duplication: supports duplication of BMP and JPEG files.
    - NOTE: obviously there are easier methods of duplicating a file,
            but for the sake of the library's completeness, duplication
            is done manually by interpreting data (getting headers, pixel data
            for BMP; decompressing and compressing for JPEG)

Future Implementations:

- Support for reduction in resolution of images.
- Support for PNG files, possibly other file types.
- Modification of pixel data 
    - Inversion of colors
    - increase/decrease value for a color channel
    - Conversion between RGB and grayscale representations

References:

- For BMP file format: [https://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/2003_w/misc/bmp_file_format/bmp_file_format.htm]

- For libjpeg: [https://github.com/winlibs/libjpeg/blob/master/libjpeg.txt]

About

A simple library for handling image files.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages