Difference between revisions of "ImageData:encode"

(Draw a circle in a canvas, save it in file and display it on screen)
m (Draw a circle in a canvas, save it in file and display it on screen: Small wording changes and fixes.)
 
Line 48: Line 48:
  
 
== Examples ==
 
== Examples ==
=== Draw a circle in a canvas, save it in file and display it on screen ===
+
=== Draw a circle to a canvas and save it to a file ===
 
<source lang="lua">
 
<source lang="lua">
  function love.load()
+
function love.load()
     canvas = love.graphics.newCanvas(800,600)
+
     canvas = love.graphics.newCanvas(800, 600)
 +
 
 
     love.graphics.setCanvas(canvas)
 
     love.graphics.setCanvas(canvas)
     love.graphics.circle("fill",200,200,100)
+
     love.graphics.circle("fill", 200,200, 100)
  -- Another active Canvas need to be set to be able to call canvas:newImageData()
+
    love.graphics.setCanvas() -- The canvas must not be active when we call canvas:newImageData().
    love.graphics.setCanvas()
+
 
     imagedata = canvas:newImageData()
+
     local imagedata = canvas:newImageData()
     imagedata:encode("tga", "test.png")
+
     imagedata:encode("tga", "test.tga")
  end
+
end
 
+
 
  function love.draw()
+
function love.draw()
     love.graphics.draw(canvas) -- Draw canvas on screen
+
     love.graphics.draw(canvas) -- Draw canvas on screen.
  end
+
end
 
</source>
 
</source>
  

Latest revision as of 19:16, 3 June 2022

Encodes the ImageData to a file format and optionally writes it to the save directory.

Function

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Synopsis

filedata = ImageData:encode( format, filename )

Arguments

ImageEncodeFormat format
The format to encode the image as.
string filename (nil)
The filename to write the file to. If nil, no file will be written but the FileData will still be returned.

Returns

FileData filedata
The encoded image as a new FileData object.

Function

Available since LÖVE 0.8.0 and removed in LÖVE 0.10.0
This variant is not supported in earlier or later versions.

Synopsis

ImageData:encode( outFile )

Arguments

string outFile
Name of a file to write encoded data to. The format will be automatically deduced from the file extension.

Returns

Nothing.

Function

Available since LÖVE 0.8.0 and removed in LÖVE 0.10.0
This variant is not supported in earlier or later versions.

Synopsis

ImageData:encode( outFile, format )

Arguments

string outFile
Name of a file to write encoded data to.
ImageEncodeFormat format
The format to encode the image in.

Returns

Nothing.

Function

Removed in LÖVE 0.8.0
This variant is not supported in that and later versions.

Synopsis

data = ImageData:encode( format )

Arguments

ImageEncodeFormat format
The format to encode the image in.

Returns

Data data
The encoded image data.

Examples

Draw a circle to a canvas and save it to a file

function love.load()
    canvas = love.graphics.newCanvas(800, 600)

    love.graphics.setCanvas(canvas)
    love.graphics.circle("fill", 200,200, 100)
    love.graphics.setCanvas() -- The canvas must not be active when we call canvas:newImageData().

    local imagedata = canvas:newImageData()
    imagedata:encode("tga", "test.tga")
end

function love.draw()
    love.graphics.draw(canvas) -- Draw canvas on screen.
end

User Notes

  • If you want the file to have an extension when saved add it in the file name. Example :
    image:encode("png","aPngImage.png")
    

See Also


Other Languages