Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Save images from spritely

edited December 2012 in General Posts: 6

I want to know how to save images from spritely to camera roll

Comments

  • Jmv38Jmv38 Mod
    Posts: 3,295

    You cant do that. Spritely generates a listing you can copy to paste in a codea program to regenerate the image you have drawn, pixel by pixel.

  • edited January 2013 Posts: 6

    ive been trying to do this for several hours yesterday i have found a way. I didnt need the images in camera roll i just want it to be saved in the documents so I could use the images without copying and pasting the code for each project here is the program that does it.

    -- Spritely Saver
    --to save an image paste the image code from spritely chose a save location in line 16
    -- Use this function to perform your initial setup
    function setup()
        print("Spritely Saver v1.0")
        saveimage = Image()
    end
    
    -- This function gets called once every frame
    function draw()
        -- This sets a dark background color 
        background(40, 40, 50)
    
        -- This sets the line thickness
        strokeWidth(5)
        saveImage('Documents:spritely',saveimage)
    
        -- Do your drawing here
    
    end
    function SaveImage:Image()
        --copy and paste image code from spritely to here.
    
  • Posts: 6

    sorry thats one of the versions that didnt work heres the version that worked:

    -- Spritely Saver
    
    -- Use this function to perform your initial setup
    function setup()
        print("Spritely Saver v1.1")
        saveimage = Image()
    end
    
    -- This function gets called once every frame
    function draw()
        -- This sets a dark background color 
        background(40, 40, 50)
    
        -- This sets the line thickness
        strokeWidth(5)
        --chose a location and name to save
        saveImage('Documents:spritely',saveimage)
    
        -- Do your drawing here
    
    end
    
    function Image()
        --paste image code here from spritely
    
  • Posts: 1,255

    You know, I really should do a re-write of this app for 1.5.

    Not only are there many more options now for saving images, the original is a horror on touch handling.

  • Posts: 6

    it seems to work pretty good to me. I am new to programming and am still confused about a few things i wasnt sure how to get the images from spritely to my project

  • Posts: 563

    .@Mark - if you were going to update it, here are some suggestions:

    • save spritely images to dropbox or global data as png's.
    • be able to create and edit larger images. Even 64x64 points would be handy.

    The problem at the moment is the large Codea files required to represent the images. On a 1st Gen iPad these cause frequent crashes.

  • Posts: 1,255

    @reefwing Yes, being able to post to documents and Dropbox would be the biggest target. That plus some of the things I went through great hoops to do at the time could now be done much more cleanly.

    The biggest issue with 64x64 with the current code is simply performance, but a simple fix should make it possible.

  • edited January 2013 Posts: 9

    @tpt98 Actually all you have to do is add this one line of code

    saveImage("Documents:"..k,img)
    
    

    to the LoadScreen:loadImages function in the Loadscreen tab of Spritely.

    So the end result would be

    function LoadScreen:loadImages()
        -- read existing images based on keys
        local keys, k, s, i, img
        self.count = 0
        keys = readGlobalData("SpritelyKeys")
        if keys ~= nil then
            -- keys are a comma-delimited list
            for k in string.gmatch(keys,"([^,]+)") do
                self.count = self.count + 1
                s = readGlobalData(k)
                if string.len(s) < 12 then
                    img = image(16, 16)
                else
                    createImage = loadstring(readGlobalData(k))
                    img = createImage()
                    saveImage("Documents:"..k,img)
                end
                self.icons[self.count] = SImage(k, img)
            end
        end
    end
    

    And you'll find all of your images you've created loaded into your Documents sprite pack folder with the same names you gave them in Spritely.

    I you don't want to have to do this on a repeat basis?
    I recommend you make a copy of Spritely and insert that line of code into the copy of Spritely so it will be there on a more permanent basis.

    Otherwise the program will reload from time to time and wipe any changes you make to it.

    But to be clear this works as is. To check your documents spritepack in any program you're coding just use

    --[[
    readImage()
    --]]
    

    and tap inside the () to pull up your sprite pack. You can then scroll through and delete what you don't want.

  • edited January 2013 Posts: 9

    One more thing for those having trouble getting their images to show up in projects that have 3D?

    CODING ORDER MATTERS.

    In other words if you have image related variables to declare? Do so in the setup BEFORE you declare your 3D matrix. And in order to get your image to show up? Code it in after BOTH

    ortho()
    

    and

        viewMatrix(matrix())
    

    otherwise they won't show up

Sign In or Register to comment.