{"id":18938,"date":"2022-11-02T10:25:38","date_gmt":"2022-11-02T04:55:38","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/"},"modified":"2022-11-02T10:25:38","modified_gmt":"2022-11-02T04:55:38","slug":"solved-how-to-set-a-pixel-in-c-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/","title":{"rendered":"[Solved] How to set a pixel in C++? [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-22392769\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"22392769\" data-parentid=\"22389951\" data-score=\"1\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You can turn on a given pixel, but this requires platform specific code and may not portable when the OS or platform changes.  <\/p>\n<p>My understanding is you want direct access to the screen buffer with nothing between stopping you.  Here&#8217;s the way to go.<\/p>\n<p><strong>Common Research<\/strong><br \/>\nOn your platform, find out the graphics controller, brand name and model name, if you are using one.  Search the web for the data sheets on the graphics controller chip.  Most likely, the screen memory is inside the chip and not directly accessible by the CPU.  <\/p>\n<p>Next, find out how to access the board that the Graphics Controller resides on.  You may be able to access the Graphics Controller chip directly by I\/O ports or memory addresses; or you may have to use an interrupt system.  Research the hardware.<\/p>\n<p><strong>Linux<\/strong><br \/>\nDownload a source distribution for the Linux kernel.  Find the graphic driver.  Search the code in the graphic driver to see how the Graphics Controller is manipulated.  <\/p>\n<p>For Linux, you will have to write your own graphics driver and rebuild the kernel.  Next you will need to write a program that accesses your driver and turns on the pixel.  Research &#8220;Linux driver API&#8221;.  There are books available on writing Linux drivers and the standard API that they use.  <\/p>\n<p><strong>Windows<\/strong><br \/>\nWindows uses the same concept of drivers.  You will have to write your own Windows driver and let the OS know you want to use it.  Your driver will talk to the Graphics Controller.  There are books available about writing Windows drivers.  After writing the driver, you will need to write a demo program that uses your driver.  <\/p>\n<p><strong>Embedded Systems<\/strong><br \/>\nEmbedded systems range from simple to complex as far as displays go.  This simplest embedded system uses memory that the display views.  Any writes to this memory are immediately reflected on the display.  <\/p>\n<p>The more complex embedded systems use Graphic Controllers to control the display.  You would need to get the data sheets on the Graphic Controller, figure out how to set it up, then how to turn on a pixel.  <\/p>\n<p><strong>Driver Writers<\/strong><br \/>\nDrivers are not an easy thing to write.  Most drivers are written by teams of experts and take months to produce.  Graphic Controller chips are becoming more and more complex as new features are added.  The driver must be able to support new features and the older models.  Not an easie issue.  <\/p>\n<p><strong>Summary<\/strong><br \/>\nIf you really want to access a pixel directly, go ahead.  It may require more research and effort that using an Off The Shelf (OTS) library.  Most people in the industry use OTS libraries or frameworks (such as QT, wxWidgets and XWindows).  Drivers are only rewritten or modified for performance reasons or to support new graphics hardware.  Driver writing is not a simple task and requires a quality development process as well as a verification strategy.  <\/p>\n<p>Good luck on writing your pixel.  I hope your library has something better to offer than the many graphic libraries already in existence.  <\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to set a pixel in C++? [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You can turn on a given pixel, but this requires platform specific code and may not portable when the OS or platform changes. My understanding is you want direct access to the screen buffer with nothing between stopping you. Here&#8217;s the way to go. Common Research On your platform, find out the graphics controller, &#8230; <a title=\"[Solved] How to set a pixel in C++? [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\" aria-label=\"More on [Solved] How to set a pixel in C++? [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,1528],"class_list":["post-18938","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-graphics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to set a pixel in C++? [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to set a pixel in C++? [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You can turn on a given pixel, but this requires platform specific code and may not portable when the OS or platform changes. My understanding is you want direct access to the screen buffer with nothing between stopping you. Here&#8217;s the way to go. Common Research On your platform, find out the graphics controller, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-02T04:55:38+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to set a pixel in C++? [closed]\",\"datePublished\":\"2022-11-02T04:55:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\"},\"wordCount\":522,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"graphics\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\",\"name\":\"[Solved] How to set a pixel in C++? [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-02T04:55:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to set a pixel in C++? [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to set a pixel in C++? [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to set a pixel in C++? [closed] - JassWeb","og_description":"[ad_1] You can turn on a given pixel, but this requires platform specific code and may not portable when the OS or platform changes. My understanding is you want direct access to the screen buffer with nothing between stopping you. Here&#8217;s the way to go. Common Research On your platform, find out the graphics controller, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/","og_site_name":"JassWeb","article_published_time":"2022-11-02T04:55:38+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to set a pixel in C++? [closed]","datePublished":"2022-11-02T04:55:38+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/"},"wordCount":522,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","graphics"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/","name":"[Solved] How to set a pixel in C++? [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-02T04:55:38+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-set-a-pixel-in-c-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to set a pixel in C++? [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=18938"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18938\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}