Grayscale image: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→{{header|Raku}}: argument to 'chr' must be integer) |
(Added Wren) |
||
Line 1,953: | Line 1,953: | ||
End Sub</lang> |
End Sub</lang> |
||
=={{header|Wren}}== |
|||
{{libheader|DOME}} |
|||
This script converts the image [https://rosettacode.org/File:Lenna100.jpg Lenna100.jpg] to grayscale and then displays the two images side by side. |
|||
<lang ecmascript>import "graphics" for Canvas, Color, ImageData |
|||
import "dome" for Window |
|||
class PercentageDifference { |
|||
construct new(width, height, image1, image2) { |
|||
Window.title = "Grayscale Image" |
|||
Window.resize(width, height) |
|||
Canvas.resize(width, height) |
|||
_image1 = image1 |
|||
_image2 = image2 |
|||
_img1 = ImageData.loadFromFile(image1) |
|||
_img2 = ImageData.create(image2, _img1.width, _img1.height) |
|||
} |
|||
init() { |
|||
toGrayScale() |
|||
// display images side by side |
|||
_img1.draw(0, 0) |
|||
_img2.draw(550, 0) |
|||
Canvas.print(_image1, 200, 525, Color.white) |
|||
Canvas.print(_image2, 750, 525, Color.white) |
|||
} |
|||
toGrayScale() { |
|||
for (x in 0..._img1.width) { |
|||
for (y in 0..._img1.height) { |
|||
var c1 = _img1.pget(x, y) |
|||
var lumin = (0.2126 * c1.r + 0.7152 * c1.g + 0.0722 * c1.b).floor |
|||
var c2 = Color.rgb(lumin, lumin,lumin, c1.a) |
|||
_img2.pset(x, y, c2) |
|||
} |
|||
} |
|||
} |
|||
update() {} |
|||
draw(alpha) {} |
|||
} |
|||
var Game = PercentageDifference.new(1100, 550, "Lenna100.jpg", "Lenna-grayscale.jpg")</lang> |
|||
=={{header|Yabasic}}== |
=={{header|Yabasic}}== |