Difference between revisions of "love.graphics.newImage"
(→Load image if it exists) |
|||
(17 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | Creates a new [[Image]] from a filepath, [[FileData]], an [[ImageData]], or a [[CompressedImageData]]. | + | Creates a new [[Image]] from a filepath, [[FileData]], an [[ImageData]], or a [[CompressedImageData]], and optionally generates or specifies mipmaps for the image. |
+ | |||
+ | Version [[11.0]] updated love.graphics.newImage to treat file names ending with "@2x", "@3x", etc. as a pixel density scale factor if none is explicitly supplied. | ||
{{newobjectnotice}} | {{newobjectnotice}} | ||
+ | |||
== Function == | == Function == | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | image = love.graphics.newImage( filename ) | + | image = love.graphics.newImage( filename, settings ) |
</source> | </source> | ||
=== Arguments === | === Arguments === | ||
− | {{param|string|filename|The filepath to the image file.}} | + | {{param|string|filename|The filepath to the image file (or a [[FileData]] or [[ImageData]] or [[CompressedImageData]] or [[ByteData]] object).}} |
+ | {{New feature|0.10.0| | ||
+ | {{param|table|settings (nil)|Optional table of settings to configure the image, containing the following fields:}} | ||
+ | {{subparam|boolean|mipmaps (false)|If true, mipmaps for the image will be automatically generated (or taken from the images's file if possible, if the image originated from a [[CompressedImageData]]).}} | ||
+ | {{subparam|boolean|linear (false)|True to treat the image's pixels as linear instead of sRGB, when [[love.graphics.isGammaCorrect|gamma correct rendering]] is enabled. Most images are authored as sRGB.}} | ||
+ | {{New feature|11.0| | ||
+ | {{subparam|number|dpiscale (1)|The DPI scale to use when drawing the image and calling [[Texture:getWidth|getWidth]]/[[Texture:getHeight|getHeight]].}} | ||
+ | |110}} | ||
+ | |100}} | ||
=== Returns === | === Returns === | ||
− | {{param|Image|image| | + | {{param|Image|image|A new Image object which can be drawn on screen.}} |
== Function == | == Function == | ||
+ | {{newinoldin|[[0.9.1]]|091|[[0.10.0]]|100|type=variant}} | ||
=== Synopsis === | === Synopsis === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | image = love.graphics.newImage( | + | image = love.graphics.newImage( filename, format ) |
</source> | </source> | ||
=== Arguments === | === Arguments === | ||
− | {{param| | + | {{param|string|filename|The filepath to the image file (or a [[FileData]] or [[ImageData]] or [[CompressedImageData]] object.)}} |
+ | {{param|TextureFormat|format|The format to interpret the image's data as.}} | ||
=== Returns === | === Returns === | ||
{{param|Image|image|An Image object which can be drawn on screen.}} | {{param|Image|image|An Image object which can be drawn on screen.}} | ||
− | == | + | == Examples == |
− | + | === Draw a bunny on the screen === | |
− | === | ||
<source lang="lua"> | <source lang="lua"> | ||
− | + | function love.load() | |
+ | bunny = love.graphics.newImage("MyBunny.png") | ||
+ | end | ||
+ | function love.draw() | ||
+ | love.graphics.draw(bunny, 0, 0) | ||
+ | end | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | == | + | === Load image if it exists === |
− | |||
− | |||
<source lang="lua"> | <source lang="lua"> | ||
− | + | function loadImage (path) | |
+ | local info = love.filesystem.getInfo( path ) | ||
+ | if info then | ||
+ | return love.graphics.newImage( path ) | ||
+ | end | ||
+ | end | ||
+ | |||
+ | image = loadImage ("graphics/image-1.png") | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== See Also == | == See Also == | ||
* [[parent::love.graphics]] | * [[parent::love.graphics]] | ||
+ | * [[love.graphics.draw]] | ||
+ | * [[love.graphics.newQuad]] | ||
* [[Constructs::Image]] | * [[Constructs::Image]] | ||
+ | * [[love.image.newImageData]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
[[Sub-Category::Object Creation| ]] | [[Sub-Category::Object Creation| ]] | ||
{{#set:Description=Creates a new [[Image]].}} | {{#set:Description=Creates a new [[Image]].}} | ||
{{#set:Since=000}} | {{#set:Since=000}} | ||
+ | |||
== Other Languages == | == Other Languages == | ||
{{i18n|love.graphics.newImage}} | {{i18n|love.graphics.newImage}} |
Latest revision as of 18:39, 17 May 2022
Creates a new Image from a filepath, FileData, an ImageData, or a CompressedImageData, and optionally generates or specifies mipmaps for the image.
Version 11.0 updated love.graphics.newImage to treat file names ending with "@2x", "@3x", etc. as a pixel density scale factor if none is explicitly supplied.
This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused! |
Contents
Function
Synopsis
image = love.graphics.newImage( filename, settings )
Arguments
string filename
- The filepath to the image file (or a FileData or ImageData or CompressedImageData or ByteData object).
Available since LÖVE 0.10.0
table settings (nil)
- Optional table of settings to configure the image, containing the following fields:
boolean mipmaps (false)
- If true, mipmaps for the image will be automatically generated (or taken from the images's file if possible, if the image originated from a CompressedImageData).
boolean linear (false)
- True to treat the image's pixels as linear instead of sRGB, when gamma correct rendering is enabled. Most images are authored as sRGB.
Available since LÖVE 11.0
Returns
Image image
- A new Image object which can be drawn on screen.
Function
Available since LÖVE 0.9.1 and removed in LÖVE 0.10.0 |
This variant is not supported in earlier or later versions. |
Synopsis
image = love.graphics.newImage( filename, format )
Arguments
string filename
- The filepath to the image file (or a FileData or ImageData or CompressedImageData object.)
TextureFormat format
- The format to interpret the image's data as.
Returns
Image image
- An Image object which can be drawn on screen.
Examples
Draw a bunny on the screen
function love.load()
bunny = love.graphics.newImage("MyBunny.png")
end
function love.draw()
love.graphics.draw(bunny, 0, 0)
end
Load image if it exists
function loadImage (path)
local info = love.filesystem.getInfo( path )
if info then
return love.graphics.newImage( path )
end
end
image = loadImage ("graphics/image-1.png")
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info