[Openmcl-devel] Any ideas why this isn't working?
    Ron Garret 
    ron at flownet.com
       
    Mon Feb 10 06:46:35 PST 2020
    
    
  
Trying to use a CGImageDestination to create an animated GIF following the recipe at:
https://stackoverflow.com/questions/15584931/creating-an-animated-gif-in-cocoa-defining-frame-type
but creating the CGImageDestination seems to fail:
Welcome to Clozure Common Lisp Version 1.11-r16812M  (DarwinX8664)!
? (setf url (#_CFURLCreateWithString +null-ptr+ (nsstr "file:///Users/ron/Desktop/foo.gif") +null-ptr+))
#<NS-URL file:///Users/ron/Desktop/foo.gif (#x6000008650C0)>
? (#_CGImageDestinationCreateWithURL url #$kUTTypeGIF 2 +null-ptr+)
#<NS-OBJECT [uninitialized] (#x6000000B49A0)>
? 
Trying to use the uninitialized object doesn’t crash CCL, but also doesn’t produce any results.  Any idea what I’m doing wrong here?
Thanks,
rg
P.S.: Some additional code just in case you want to noodle around with this:
(defun make-blank-image (x y)
  (#/initWithSize: (make-instance 'ns:ns-image) (nssize x y)))
(defun nsstr (s)
  (with-encoded-cstrs :utf-8 ((s s))
    (#/stringWithUTF8String: ns:ns-string s)))
(setf prep (#/dictionaryWithObject:forKey:
            ns:ns-dictionary
            (#/dictionaryWithObject:forKey:
             ns:ns-dictionary
             (#/initWithFloat: (#/alloc ns:ns-number) (coerce 0.2 'single-float))
             #$kCGImagePropertyGIFDelayTime)
            #$kCGImagePropertyGIFDictionary))
(setf img (make-blank-image 10 10))
(setf dest (#_CGImageDestinationCreateWithURL url #$kUTTypeGIF 2 +null-ptr+)) ; Not working
(#_CGImageDestinationAddImage dest img prep)
(#_CGImageDestinationFinalize dest)
    
    
More information about the Openmcl-devel
mailing list