Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ graphics image
I want to load a png image into an array. I was told to download the CImg library.
The problem is that it uses the pngLib which I don't know how to link.
I downloaded some files from the libpng homepage, but adding the directory to additional include directories, the h files to the project and copying the zlib1.dll to the exe directory is not enough.
 
I get an error when I try to use the class:
 
myFloatImg (300,200);
string testFilename="testImage.png";
myFloatImg.load (filename.c_str());
 

the error:
c:\...\cimg.h(34670): error C3861: 'png_set_expand_gray_1_2_4_to_8': identifier not found
 
I guess it's a call to a function from pngLib
What should I do?
*openCV is not an option
 
Thanks!
Posted 13-Feb-12 14:09pm
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

The issue is not a library linking issue.
You're probably missing some header file (#include) or are not using a namespace name (using namespace).
 
What are you trying to do with the image?
You could try to use GDI+.
GDI+ has several classes like Image, Graphics etc. that can do a lot of image manipulation and it supports PNG too.
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

I should have link the objs of pngLib and zlib in additional dependences.
They should be added there as "pnglib.lib, zlib.lib"
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 277
1 Maciej Los 210
2 BillWoodruff 205
3 Jochen Arndt 180
4 Sergey Alexandrovich Kryukov 165
0 OriginalGriff 5,130
1 DamithSL 4,157
2 Maciej Los 3,650
3 Kornfeld Eliyahu Peter 3,460
4 Sergey Alexandrovich Kryukov 2,811


Advertise | Privacy | Mobile
Web01 | 2.8.141216.1 | Last Updated 16 Feb 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100