Difference between revisions of "love.graphics.setColor"

m (1 revision: Importing from potato (again).)
m
 
(16 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 +
Sets the color used for drawing. The color is used for all subsequent draw operations.
  
Sets the color used for drawing.
+
In versions prior to [[11.0]], color component values were within the range of 0 to 255 instead of 0 to 1.
 
== Function ==
 
== Function ==
 
=== Synopsis ===
 
=== Synopsis ===
Line 10: Line 11:
 
{{param|number|green|The amount of green.}}
 
{{param|number|green|The amount of green.}}
 
{{param|number|blue|The amount of blue.}}
 
{{param|number|blue|The amount of blue.}}
{{param|number|alpha (255)|The amount of alpha.}}
+
{{param|number|alpha (1)|The amount of alpha.}}
 +
=== Returns ===
 +
Nothing.
 +
 
 +
== Function ==
 +
{{newin|[[0.7.0]]|070|type=variant}}
 +
=== Synopsis ===
 +
<source lang="lua">
 +
love.graphics.setColor( rgba )
 +
</source>
 +
=== Arguments ===
 +
{{param|table|rgba|A numerical indexed table with the red, green, blue and alpha values as [[number]]s. The alpha is optional and defaults to 1 if it is left out.}}
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
Nothing.
 
== Examples ==
 
== Examples ==
=== Set draw a red circle and a blue one ===
+
=== Set the color from r, g, b bytes ===
 +
Using [[love.math.colorFromBytes]] we can specify color components in the range 0..255.
 +
<source lang="lua">
 +
love.graphics.setColor(love.math.colorFromBytes(128, 234, 255))
 +
</source>
 +
 
 +
=== Draw a red, blue and green circle ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.setColor(255, 0, 0)
+
function love.draw()
love.graphics.circle(50, 50, 20, 20)
+
love.graphics.setColor(1, 0, 0)
love.graphics.setColor(0, 0, 255)
+
love.graphics.circle("fill", 50,50, 20)
love.graphics.circle(50, 100, 20, 20)
+
 
 +
love.graphics.setColor(0, 0, 1)
 +
love.graphics.circle("fill", 50,100, 20)
 +
 
 +
local myColor = {0, 1, 0, 1}
 +
love.graphics.setColor(myColor)
 +
love.graphics.circle("fill", 50,150, 20)
 +
end
 
</source>
 
</source>
 +
 
=== Display a Venn diagram ===
 
=== Display a Venn diagram ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
baseX = 300
+
love.graphics.setBackgroundColor(1, 1, 1)
baseY = 400
 
radius = 100
 
offsetY = radius*.5*math.sqrt(3)
 
love.graphics.setBackgroundColor(255,255,255)
 
 
end
 
end
  
 
function love.draw()
 
function love.draw()
love.graphics.setColor(255, 0, 0, 100)
+
local baseX  = love.graphics.getWidth()/2
love.graphics.circle('fill', baseX, baseY, radius, 50)
+
local baseY  = 400
love.graphics.setColor(0, 255, 0, 100)
+
local radius  = 100
love.graphics.circle('fill', baseX + radius / 2, baseY - offsetY, radius, 50)
+
local offsetY = radius/2 * math.sqrt(3)
love.graphics.setColor(0, 0, 255, 100)
+
 
love.graphics.circle('fill', baseX + radius, baseY, radius, 50)
+
love.graphics.setBlendMode("multiply", "premultiplied")
 +
love.graphics.setColor(1, .6, .6)
 +
love.graphics.circle("fill", baseX-radius/2, baseY, radius)
 +
love.graphics.setColor(.6, 1, .6)
 +
love.graphics.circle("fill", baseX, baseY-offsetY, radius)
 +
love.graphics.setColor(.6, .6, 1)
 +
love.graphics.circle("fill", baseX+radius/2, baseY, radius)
 
end
 
end
 
</source>
 
</source>
 +
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]
 +
* [[love.math.colorFromBytes]]
 +
* [[HSL color]] (an alternate color space, based on human perception)
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Sets the color used for drawing.}}
 
{{#set:Description=Sets the color used for drawing.}}
 +
{{#set:Since=000}}
 +
{{#set:Sub-Category=State}}
 +
== Other Languages ==
 +
{{i18n|love.graphics.setColor}}

Latest revision as of 21:03, 29 April 2024

Sets the color used for drawing. The color is used for all subsequent draw operations.

In versions prior to 11.0, color component values were within the range of 0 to 255 instead of 0 to 1.

Function

Synopsis

love.graphics.setColor( red, green, blue, alpha )

Arguments

number red
The amount of red.
number green
The amount of green.
number blue
The amount of blue.
number alpha (1)
The amount of alpha.

Returns

Nothing.

Function

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

Synopsis

love.graphics.setColor( rgba )

Arguments

table rgba
A numerical indexed table with the red, green, blue and alpha values as numbers. The alpha is optional and defaults to 1 if it is left out.

Returns

Nothing.

Examples

Set the color from r, g, b bytes

Using love.math.colorFromBytes we can specify color components in the range 0..255.

love.graphics.setColor(love.math.colorFromBytes(128, 234, 255))

Draw a red, blue and green circle

function love.draw()
	love.graphics.setColor(1, 0, 0)
	love.graphics.circle("fill", 50,50, 20)

	love.graphics.setColor(0, 0, 1)
	love.graphics.circle("fill", 50,100, 20)

	local myColor = {0, 1, 0, 1}
	love.graphics.setColor(myColor)
	love.graphics.circle("fill", 50,150, 20)
end

Display a Venn diagram

function love.load()
	love.graphics.setBackgroundColor(1, 1, 1)
end

function love.draw()
	local baseX   = love.graphics.getWidth()/2
	local baseY   = 400
	local radius  = 100
	local offsetY = radius/2 * math.sqrt(3)

	love.graphics.setBlendMode("multiply", "premultiplied")
	love.graphics.setColor(1, .6, .6)
	love.graphics.circle("fill", baseX-radius/2, baseY, radius)
	love.graphics.setColor(.6, 1, .6)
	love.graphics.circle("fill", baseX, baseY-offsetY, radius)
	love.graphics.setColor(.6, .6, 1)
	love.graphics.circle("fill", baseX+radius/2, baseY, radius)
end

See Also


Other Languages