{"id":3413,"date":"2014-11-11T01:52:40","date_gmt":"2014-11-10T22:52:40","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=3413"},"modified":"2014-11-11T01:53:44","modified_gmt":"2014-11-10T22:53:44","slug":"image-to-grayscale-script","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2014\/11\/11\/image-to-grayscale-script\/","title":{"rendered":"Image To Grayscale Script"},"content":{"rendered":"<p>Quick test trying to convert this Basic256 script into Unity c# (trying to keep it close to original code..)<br \/>\nmaybe still some problems as the output seems darker than the example..<\/p>\n<p><a title=\"http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256\" href=\"http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256\" target=\"_blank\">http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256<\/a><\/p>\n<p><strong>Source C# (Image2Grayscale.cs)<\/strong><\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ Original source: http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256\r\n\r\nusing UnityEngine;\r\nusing System.Collections;\r\n\r\npublic class Image2Grayscale : MonoBehaviour\r\n{\r\nstring fileName = &quot;BASIC256_greyscale_Mona_Lisa&quot;;\r\nTexture2D graph;\r\n\r\nvoid Start ()\r\n{\r\nLoadImage();\r\nConvertToGrayscale();\r\n}\r\n\r\nvoid LoadImage()\r\n{\r\ngraph = Resources.Load(fileName, typeof(Texture2D)) as Texture2D;\r\n}\r\n\r\nvoid ConvertToGrayscale()\r\n{\r\nColor32&#x5B;] pixels = graph.GetPixels32();\r\nfor (int x=0;x&lt;graph.width;x++)\r\n{\r\nfor (int y=0;y&lt;graph.height;y++)\r\n{\r\nColor32 pixel = pixels&#x5B;x+y*graph.width];\r\nint p =\u00a0 ( (256 * 256 + pixel.r) * 256 + pixel.b) * 256 + pixel.g;\r\nint b = p % 256;\r\np = Mathf.FloorToInt(p \/ 256);\r\nint g = p % 256;\r\np = Mathf.FloorToInt (p \/ 256);\r\nint r = p % 256;\r\nfloat l = (0.2126f*r\/255f) + 0.7152f*(g\/255f) + 0.0722f*(b\/255f);\r\nColor c = new Color(l,l,l,1);\r\ngraph.SetPixel(x,y,c);\r\n}\r\n}\r\ngraph.Apply(false);\r\nvar bytes = graph.EncodeToPNG();\r\nSystem.IO.File.WriteAllBytes(Application.dataPath + &quot;ImageSaveTest.png&quot;, bytes);\r\n}\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Quick test trying to convert this Basic256 script into Unity c# (trying to keep it close to original code..) maybe still some problems as the output seems darker than the example.. http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256 Source C# (Image2Grayscale.cs) \/\/ Original source: http:\/\/rosettacode.org\/wiki\/Grayscale_image#BASIC256 using UnityEngine; using System.Collections; public class [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[23,3],"tags":[389,675,674,142],"class_list":["post-3413","post","type-post","status-publish","format-standard","hentry","category-functions-unity3d","category-unity3d","tag-convert","tag-grayscale","tag-luminance","tag-texture"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-T3","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=3413"}],"version-history":[{"count":2,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3413\/revisions"}],"predecessor-version":[{"id":3415,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3413\/revisions\/3415"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=3413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=3413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=3413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}