<commit_before>= FreeImage Ruby Bindings

== Overview
The free-image gem provides Ruby language bindings for the
FreeImage[http://freeimage.sourceforge.net/] library.  It is free software,
released under the MIT License.

FreeImage is an light-weight, open source image manipulation library that
supports many popular graphics image {formats}[rdoc-ref:FreeImage.formats]
such as PNG, JPEG, GIF, BMP, and TIFF.

We think FreeImage is a great library for applications that need to read, write,
create and modify images and thumbnails because:

* Its easy to use
* Its supports almost all popular image formats
* Its a light-weight alternative to larger libraries such as ImageMagick,
  supporting basic manipulation functions but not advanced functionality
* Its cross-platform
* The ruby bindings are implemented using FFI, so work across all Ruby
  implementations and do not have to be compiled
* Its much more comprehensive than ImageScience
* Has comprehensive documentation

Note that FreeImage is not the right library for you if you need:
* Advanced image processing operations such as convolution and transforms
* Bitmap drawing
* Vector graphics

== Installation
free-image requires Ruby 1.8.7 or higher.  The easiest way to install
free-image is via Ruby Gems.  To install:

 gem install free-image

== Getting Started
Getting started is easy - first work through the examples in the {cookbook}[http://cfis.github.io/free-image-ruby/].
Once you've done that, the refer to rdocs for extensive documentation.

== Memory Management
Opening and working with images consumes some memory.  Generally you won't have to
worry about this.  When an image goes out of scope, it will be garbage collected
and the underlying image memory will be freed.

Having said that, \FreeImage also lets you control when the memory is freed.
Any method that creates a new image also takes a block.  When the block finishes,
the underlying image memory is freed.  This works the same way as the File.open
method.  For example:

  FreeImage::Bitmap.open('images/lena.png') do |image|
    thumbnail = image.make_thumbail do |thumbail|
      thumbnail.save('images/thumbnail.png', :png)
    end
  end<commit_msg>Specify freeimage version requirement. #3.<commit_after>= FreeImage Ruby Bindings

== Overview
The free-image gem provides Ruby language bindings for the
FreeImage[http://freeimage.sourceforge.net/] library.  It is free software,
released under the MIT License.

FreeImage is an light-weight, open source image manipulation library that
supports many popular graphics image {formats}[rdoc-ref:FreeImage.formats]
such as PNG, JPEG, GIF, BMP, and TIFF.

We think FreeImage is a great library for applications that need to read, write,
create and modify images and thumbnails because:

* Its easy to use
* Its supports almost all popular image formats
* Its a light-weight alternative to larger libraries such as ImageMagick,
  supporting basic manipulation functions but not advanced functionality
* Its cross-platform
* The ruby bindings are implemented using FFI, so work across all Ruby
  implementations and do not have to be compiled
* Its much more comprehensive than ImageScience
* Has comprehensive documentation

Note that FreeImage is not the right library for you if you need:
* Advanced image processing operations such as convolution and transforms
* Bitmap drawing
* Vector graphics

== Installation
free-image requires FreeImage version 3.10 or higher and Ruby 1.8.7 or higher.  The easiest way to install
free-image is via Ruby Gems.  To install:

 gem install free-image

== Getting Started
Getting started is easy - first work through the examples in the {cookbook}[http://cfis.github.io/free-image-ruby/].
Once you've done that, the refer to rdocs for extensive documentation.

== Memory Management
Opening and working with images consumes some memory.  Generally you won't have to
worry about this.  When an image goes out of scope, it will be garbage collected
and the underlying image memory will be freed.

Having said that, \FreeImage also lets you control when the memory is freed.
Any method that creates a new image also takes a block.  When the block finishes,
the underlying image memory is freed.  This works the same way as the File.open
method.  For example:

  FreeImage::Bitmap.open('images/lena.png') do |image|
    thumbnail = image.make_thumbail do |thumbail|
      thumbnail.save('images/thumbnail.png', :png)
    end
  end
{'fraction_non_alphanumeric': 0.05480682839173405, 'fraction_numerical': 0.0022461814914645105, 'mean_word_length': 4.443765281173594, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2035415', 'n_tokens_mistral': 1168, 'n_tokens_neox': 1117, 'n_words': 603}