Hi,

If that's the case, I'll repeat and expand upon what Fred said: the cause
might be that your version of gnustep-gui was built without PNG support.

Please follow Fred's instruction of listing the contents of the array
containing supported data types.

This should work:
NSLog(@"%@", [NSImage imageUnfilteredFileTypes]);

If it doesn't print out an array (I'm not sure if GNUstep does), try this:
for(NSString * type in [NSImage imageUnfilteredFileTypes])
  NSLog(@"- %@", type);

or if your compiler doesn't support "fast enumeration", try this:
NSEnumerator *e = [[NSImage imageUnfilteredFileTypes] objectEnumerator];
for(NSString * type = [e nextObject]; type; type = [e nextObject])
  NSLog(@"- %@", type);

If you don't see png listed in the output, NSImage cannot load a png under
your installation.

On Wed, Mar 28, 2012 at 23:09, gusborsa <[email protected]> wrote:

>
> Thank you Ivan, I was following yours advices:
>
> 1) I made sure that the image was in the app's resources directory (through
> the Gnumakefile).
> 2) The NSBundle is a very nice class, but the results were the same, the
> NSImage pointer returned by the alloc method was NULL.
> 3) the same result instansiating the image using imageNamed.
>
> I appreciate your help.
>
>
> Ivan Vučica wrote:
> >
> > Loading of the image has failed for some reason.
> >
> > If you are correctly mentioning the file name in "GNUmakefile" as a
> > resource (and hence it gets copied inside the .app), try instantiating
> the
> > image using method +[NSImage imageNamed:].
> >
> > This should work:
> > NSImage *myImage = [NSImage imageNamed:@"imagen"]; // autoreleased
> >
> > Optionally retain it; the object returned is autoreleased.
> >
> > Alternatively get the path like this:
> > NSString *path = [[NSBundle mainBundle] pathForResource:@"imagen"
> ofType:@
> > "png"];
> > NSImage *myImage = [[NSImage alloc] initWithContentsOfFile:path]; //
> > retained already
> >
> > It's a bad idea to reference to things using an absolute path. Always try
> > to refer to paths using some API, even when referring to paths inside the
> > app bundle. When you move the app to a new platform, you'll be glad you
> > did.
> >
> > If nothing of the above helps, try using a different .png to verify your
> > GNUstep installation is capable of decoding the PNG file format.
> >
> > On Thu, Mar 15, 2012 at 23:58, gusborsa <[email protected]> wrote:
> >
> >>
> >> Hello, I´m trying to create a NSImage object from a png type image. My
> >> code:
> >>
> >> NSImage *myImage = [[NSImage alloc] initWithContentsOfFile:
> >> @"c:/MiProyect/Resources/imagen.png"];
> >>
> >> but this method returns "nil", the description message from the myImage
> >> object returns (NULL).
> >>
> >> I Verified the path with the fileExistsAtPath (NSFileManager) method and
> >> it's OK. I'm working on WinXP.
> >>
> >> Thanks
> >> --
> >> View this message in context:
> >> http://old.nabble.com/NSImage-problem-tp33513960p33513960.html
> >> Sent from the GNUstep - Help mailing list archive at Nabble.com.
> >>
> >>
> >> _______________________________________________
> >> Help-gnustep mailing list
> >> [email protected]
> >> https://lists.gnu.org/mailman/listinfo/help-gnustep
> >>
> >
> >
> >
> > --
> > Ivan Vučica - [email protected]
> >
> > _______________________________________________
> > Help-gnustep mailing list
> > [email protected]
> > https://lists.gnu.org/mailman/listinfo/help-gnustep
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/NSImage-problem-tp33513960p33544855.html
> Sent from the GNUstep - Help mailing list archive at Nabble.com.
>
>
> _______________________________________________
> Help-gnustep mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/help-gnustep
>



-- 
Ivan Vučica - [email protected]
_______________________________________________
Help-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-gnustep

Reply via email to