Giter Site home page Giter Site logo

imazen / freeimage Goto Github PK

View Code? Open in Web Editor NEW
34.0 13.0 40.0 17.22 MB

DEPRECATED. This repository is not maintained, it is an old mirror of the inactive FreeImage project

License: Other

C++ 27.65% C 52.01% Makefile 0.03% Shell 0.09% Pascal 1.44% Objective-C 0.06% C# 15.12% Awk 0.02% Visual Basic 3.43% CMake 0.05% Gnuplot 0.01% Batchfile 0.05% PHP 0.04% HTML 0.01%

freeimage's Introduction

freeimage

Appveyor builds

Current master:

Build status

Last build:

Build status

Travis build

Build Status

freeimage's People

Contributors

7er avatar ark42 avatar chase547 avatar cklein05 avatar detlevv avatar drolon avatar lilith avatar noescom avatar tostercx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freeimage's Issues

How to save JPEG lossless?

FIBITMAP* imagen = FreeImage_Load(FIF_JPEG, "Cameron_Diaz_orig.jpg");
FreeImage_Save(FIF_JPEG, imagen, "Cameron_Diaz_test_orig.jpg");

Cameron_Diaz_orig.jpg - size : 233.9 kb
after save
Cameron_Diaz_test_orig.jpg - size : 145.9 kb

if I am using flag 'JPEG_QUALITYSUPERB'

FIBITMAP* imagen = FreeImage_Load(FIF_JPEG, "Cameron_Diaz_orig.jpg");

after save
FreeImage_Save(FIF_JPEG, imagen, "Cameron_Diaz_test_orig.jpg", JPEG_QUALITYSUPERB);

Cameron_Diaz_test_orig.jpg - size : 570.4 kb

How can I use load/save lossless?

Creating multipage TIFF file with differing compressions on each page

I am trying to get FreeImage to work with the multipage API calls, but I have not been able to create a multipage TIFF file, where each page is a different compression. For example, the first page may be LZW, the next page might be Group4 fax compression, etc. I have had no luck so far.

I have only been able to successfully create a multipage TIFF file, but the entire file uses one compression type. I have tried a combination of FreeImage_OpenMultiBitmap, FreeImage_AppendPage, FreeImage_SaveMultiBitmapToHandle, etc.. However as stated before, I can't produce a multipage TIFF file that has differing compression schemes used for each page.

The "flags" parameter denoting the compression to use either is placed on FreeImage_OpenMultiBitmap and Free_CloseMultiBitmap, but no such flags parameter exists for FreeImage_AppendPage (which would have been ideal).

Before anyone suggests doing this -- what I don't want to do is create "mini" TIFF files on disk, and stitch them together to make one file. There should be no need to involve the file system in doing this, since LibTiff has the ability to change compression on the fly, in memory, for each page that is produced.

So if you have a small sample program that shows how to create, say a 2 page TIFF file, where the first page uses no compression, and the second page uses LZW (or something else), I would appreciate it.

Update to newer version

Is this still being maintained? If so, can you please update the files to the latest version?

automate library dependencies (git modules?)

This project does not compile out of box because it fails to find the library headers.

The readme states that freeimage will use its own version but looking around at the it doesn't seem obvious as to where these libraries. Accidentally I saw you had forked these libraries here on github.

Perhaps git modules would make this easier or at least a git clone script in the root.

nunit tests fail to build on appveyor

C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "nunit.framework". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\projects\freeimage\Wrapper\FreeImage.NET\cs\UnitTest\UnitTest.csproj]

Is there linux library build option available?

I am doing OPENCL project which uses freeimage library. I can utilize the freeimage.h include to build however for linking, it needs linux version of dynamic link library conforming to the name i.e. libfreeimage.so. Is it available?
or is it possible to build from source?

Build Fails With Local FreeImage

When I try to build with a local (in repo) copy of LibPNG, I the error /usr/bin/ld: cannot find -llibpng
Output From make VERBOSE=1

[ 67%] Linking CXX shared library ../../../lib/libFreeImage.so
cd /home/emersont1/OgreDeps/build/thirdparty/freeimage/Source && /usr/bin/cmake -E cmake_link_script CMakeFiles/FreeImage.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC   -shared -Wl,-soname,libFreeImage.so -o ../../../lib/libFreeImage.so CMakeFiles/FreeImage.dir/DeprecationManager/Deprecated.cpp.o CMakeFiles/FreeImage.dir/DeprecationManager/DeprecationMgr.cpp.o CMakeFiles/FreeImage.dir/FreeImage/BitmapAccess.cpp.o CMakeFiles/FreeImage.dir/FreeImage/CacheFile.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ColorLookup.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion16_555.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion16_565.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion24.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion32.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion4.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Conversion8.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionFloat.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionRGBAF.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionRGBA16.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionRGBF.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionRGB16.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionType.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ConversionUINT16.cpp.o CMakeFiles/FreeImage.dir/FreeImage/FreeImage.cpp.o CMakeFiles/FreeImage.dir/FreeImage/FreeImageIO.cpp.o CMakeFiles/FreeImage.dir/FreeImage/GetType.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Halftoning.cpp.o CMakeFiles/FreeImage.dir/FreeImage/LFPQuantizer.cpp.o CMakeFiles/FreeImage.dir/FreeImage/MemoryIO.cpp.o CMakeFiles/FreeImage.dir/FreeImage/MultiPage.cpp.o CMakeFiles/FreeImage.dir/FreeImage/NNQuantizer.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PixelAccess.cpp.o CMakeFiles/FreeImage.dir/FreeImage/Plugin.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginBMP.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginCUT.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginDDS.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginGIF.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginHDR.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginICO.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginIFF.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginKOALA.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPCD.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPCX.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPFM.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPICT.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPNM.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPSD.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginRAS.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginSGI.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginTARGA.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginWBMP.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginXBM.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginXPM.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PSDParser.cpp.o CMakeFiles/FreeImage.dir/FreeImage/TIFFLogLuv.cpp.o CMakeFiles/FreeImage.dir/FreeImage/tmoColorConvert.cpp.o CMakeFiles/FreeImage.dir/FreeImage/tmoDrago03.cpp.o CMakeFiles/FreeImage.dir/FreeImage/tmoFattal02.cpp.o CMakeFiles/FreeImage.dir/FreeImage/tmoReinhard05.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ToneMapping.cpp.o CMakeFiles/FreeImage.dir/FreeImage/WuQuantizer.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Background.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/BSplineRotate.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Channels.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/ClassicRotate.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Colors.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/CopyPaste.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Display.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Flip.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/MultigridPoissonSolver.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Rescale.cpp.o CMakeFiles/FreeImage.dir/FreeImageToolkit/Resize.cpp.o CMakeFiles/FreeImage.dir/Metadata/Exif.cpp.o CMakeFiles/FreeImage.dir/Metadata/FIRational.cpp.o CMakeFiles/FreeImage.dir/Metadata/FreeImageTag.cpp.o CMakeFiles/FreeImage.dir/Metadata/IPTC.cpp.o CMakeFiles/FreeImage.dir/Metadata/TagConversion.cpp.o CMakeFiles/FreeImage.dir/Metadata/TagLib.cpp.o CMakeFiles/FreeImage.dir/FreeImage/MNGHelper.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginJNG.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginMNG.cpp.o CMakeFiles/FreeImage.dir/FreeImage/ZLibInterface.cpp.o CMakeFiles/FreeImage.dir/OpenEXR/Half/half.cpp.o CMakeFiles/FreeImage.dir/FreeImage/PluginPNG.cpp.o -Wl,-rpath,/home/emersont1/OgreDeps/Linux/GNU/bin ../../../../Linux/GNU/bin/libz.a ../../../../Linux/GNU/bin/libpng16.so.16.28.0 -llibpng ../../../../Linux/GNU/bin/libz.so.1.2.11 ../../../../Linux/GNU/bin/libz.a -lm 
/usr/bin/ld: cannot find -llibpng

My CMake Script

cmake_minimum_required (VERSION 3.2)

set(CMAKE_EXT_DIR ${CMAKE_SOURCE_DIR}/thirdparty)
#ThirdParty
  # Local Stuff
  SET(CMAKE_PREFIX_PATH ${CMAKE_EXT_DIR}/zlib ${CMAKE_EXT_DIR}/libpng CACHE INTERNAL "")
    # Setup FindPackage
      set(ZLIB_ROOT ${CMAKE_EXT_DIR}/zlib CACHE PATH "Local ZLib")
      set(ZLIB_DIR ${CMAKE_EXT_DIR}/zlib CACHE PATH "Local ZLib")
      set(ZLIB_INCLUDE_DIR ${CMAKE_EXT_DIR}/zlib CACHE PATH "Local ZLib")
      set(ZLIB_LIBRARY zlib zlibstatic CACHE PATH "Local ZLib")
    add_subdirectory(${CMAKE_EXT_DIR}/zlib)
    set(ZLIB_FOUND ON CACHE BOOL "Zlib is Found")

    # LibPNG
    # Setup FindPackage
      set(PNG_DIR ${CMAKE_EXT_DIR}/libpng CACHE PATH "Local LibPNG")
      set(PNG_INCLUDE_DIR ${CMAKE_EXT_DIR}/libpng CACHE PATH "Local LibPNG")
      set(PNG_LIBRARY png libpng CACHE PATH "Local LibPNG")
      set(PNG_FOUND ON CACHE BOOL "Local LibPNG")
      #set(PNG_BUILD_ZLIB ON)
    add_subdirectory(${CMAKE_EXT_DIR}/libpng)

    # FreeType
    # ZZipLib

    # FreeImage
    # Disable Unnecessary Image Formats
      set(ENABLE_PNG  TRUE  CACHE BOOL "Using PNG")
      set(ENABLE_JPEG FALSE CACHE BOOL "Do Not Use JPEG")
      set(ENABLE_TIFF FALSE CACHE BOOL "Do Not Use TIFF")
      set(FREEIMAGE_DYNAMIC_C_RUNTIME TRUE FALSE CACHE BOOL "Static Linking")
    add_subdirectory(${CMAKE_EXT_DIR}/freeimage)

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.