{"id":19001,"date":"2022-11-05T01:54:06","date_gmt":"2022-11-04T20:24:06","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/"},"modified":"2022-11-05T01:54:06","modified_gmt":"2022-11-04T20:24:06","slug":"solved-how-to-create-a-graphics-object-using-an-atom-text-editor","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/","title":{"rendered":"[Solved] how to create a graphics object using an Atom text editor"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-45127073\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"45127073\" data-parentid=\"45123305\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" 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>There are lot of graphics formats available with varying capabilities.<\/p>\n<p>First distinction I would make is:<\/p>\n<p><strong>raster graphics<\/strong> vs. <strong>vector graphics<\/strong><\/p>\n<p>Raster graphics (storing the image pixel by pixel) are more often binary encoded as the amount of data is usally directly proportional to size of image. However some of them are textual encoded or can be textual as well as binary encoded.<\/p>\n<p>Examples are:<\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Netpbm_format\">Portable anymap<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/X_PixMap\">X Pixmap<\/a><\/li>\n<\/ul>\n<p>Although these file formats are a little bit exotic, it is not difficult to find software which supports them. E.g. <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.gimp.org\/\">GIMP<\/a> supports both out of the box (and even on Windows). Btw. they are that simple that it is not too complicated to write loader and writer by yourself.<\/p>\n<p>A simple reader and writer for PPM (the color version of Portable anymap) can be found in my answer to SO: Convolution for Edge Detection in C.<\/p>\n<p>Vector graphics (store graphics primitives which build the image) are more often textual encoded. As vector graphics can be &#8220;loss-less&#8221; scaled to any image size by simply applying a scaling factor to all coordinates, file size and destination image size are not directly related. Thus, vector graphics are the preferrable format for drawings especially if they are needed in multiple target resolutions.<\/p>\n<p>For this, I would exclusively recommend:<\/p>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Scalable_Vector_Graphics\">Scalable Vector Graphics<\/a><\/li>\n<\/ul>\n<p>which is (hopefully) the upcoming standard for scalable graphics in Web contents. Qt does provide (limited) support for SVG and thus, it is my preferred option for resolution independent icons.<\/p>\n<hr>\n<p>A different (but maybe related) option is to embed graphics in source code. This can be done with rather any format if your image loader library provides image loading from memory (as well as from file). (All I know does this.)<br \/>\nThus, the problem can be reduced to: How to embed a large chunk of (ASCII or binary) data as constant in C\/C++ source code? which is IMHO trivial to solve.<\/p>\n<p>I did this in my answer for SO: Paint a rect on qglwidget at specifit times.<\/p>\n<hr>\n<p><strong>Update:<\/strong><\/p>\n<p>As I noticed that the linked sample for PPM (as well as another for PBM) read actually the binary format, I implemented a sample application which demonstrates usage of ASCII PPM.<\/p>\n<p>I believe that XPM is better suitable for the specific requirement to be editable in a text editor. Thus, I considered this in my sample also.<\/p>\n<p>As the question doesn&#8217;t mention what specific internal image format is desired nor in what API it shall be usable, I choosed Qt which<\/p>\n<ul>\n<li>is something I&#8217;m familiar with<\/li>\n<li>provides a QImage which is used as destination for image import<\/li>\n<li>needs only a few lines of code for visual output of result.<\/li>\n<\/ul>\n<p>Source code <code>test-QShowPPM-XPM.cc<\/code>:<\/p>\n<pre><code>\/\/ standard C++ header:\n#include &lt;cassert&gt;\n#include &lt;iostream&gt;\n#include &lt;string&gt;\n#include &lt;sstream&gt;\n\n\/\/ Qt header:\n#include &lt;QtWidgets&gt;\n\n\/\/ sample image in ASCII PPM format\n\/\/ (taken from https:\/\/en.wikipedia.org\/wiki\/Netpbm_format)\nconst char ppmData[] =\n\"P3\\n\"\n\"3 2\\n\"\n\"255\\n\"\n\"255   0   0     0 255   0     0   0 255\\n\"\n\"255 255   0   255 255 255     0   0   0\\n\";\n\n\/\/ sample image in XPM3 format\n\/* XPM *\/\nconst char *xpmData[] = {\n  \/\/ w, h, nC, cPP\n  \"16 16 5 1\",\n  \/\/ colors\n  \"  c #ffffff\",\n  \"# c #000000\",\n  \"g c #ffff00\",\n  \"r c #ff0000\",\n  \"b c #0000ff\",\n  \/\/ pixels\n  \"       ##       \",\n  \"    ###gg###    \",\n  \"   #gggggggg#   \",\n  \"  #gggggggggg#  \",\n  \" #ggbbggggbbgg# \",\n  \" #ggbbggggbbgg# \",\n  \" #gggggggggggg# \",\n  \"#gggggggggggggg#\",\n  \"#ggrrggggggrrgg#\",\n  \" #ggrrrrrrrrgg# \",\n  \" #ggggrrrrgggg# \",\n  \" #gggggggggggg# \",\n  \"  #gggggggggg#  \",\n  \"   #gggggggg#   \",\n  \"    ###gg###    \",\n  \"       ##       \"\n};\n\n\/\/ Simplified PPM ASCII Reader (no support of comments)\n\ninline int clamp(int value, int min, int max)\n{\n  return value &lt; min ? min : value &gt; max ? max : value;\n}\n\ninline int scale(int value, int maxOld, int maxNew)\n{\n  return value * maxNew \/ maxOld;\n}\n\nQImage readPPM(std::istream &amp;in)\n{\n  std::string header;\n  std::getline(in, header);\n  if (header != \"P3\") throw \"ERROR! Not a PPM ASCII file.\";\n  int w = 0, h = 0, max = 255; \/\/ width, height, bits per component\n  if (!(in &gt;&gt; w &gt;&gt; h &gt;&gt; max)) throw \"ERROR! Premature end of file.\";\n  if (max &lt;= 0 || max &gt; 255) throw \"ERROR! Invalid format.\";\n  QImage qImg(w, h, QImage::Format_RGB32);\n  for (int y = 0; y &lt; h; ++y) {\n    for (int x = 0; x &lt; w; ++x) {\n      int r, g, b;\n      if (!(in &gt;&gt; r &gt;&gt; g &gt;&gt; b)) throw \"ERROR! Premature end of file.\";\n      qImg.setPixel(x, y,\n          scale(clamp(r, 0, 255), max, 255) &lt;&lt; 16\n        | scale(clamp(g, 0, 255), max, 255) &lt;&lt; 8\n        | scale(clamp(b, 0, 255), max, 255));\n    }\n  }\n  return qImg;\n}\n\n\/\/ Simplified XPM Reader (implements sub-set of XPM3)\n\nchar getChar(const char *&amp;p)\n{\n  if (!*p) throw \"ERROR! Premature end of file.\";\n  return *p++;\n}\n\nstd::string getString(const char *&amp;p)\n{\n  std::string str;\n  while (*p &amp;&amp; !isspace(*p)) str += *p++;\n  return str;\n}\n\nvoid skipWS(const char *&amp;p)\n{\n  while (*p &amp;&amp; isspace(*p)) ++p;\n}\n\nQImage readXPM(const char **xpmData)\n{\n  int w = 0, h = 0; \/\/ width, height\n  int nC = 0, cPP = 1; \/\/ number of colors, chars per pixel\n  { std::istringstream in(*xpmData);\n    if (!(in &gt;&gt; w &gt;&gt; h &gt;&gt; nC &gt;&gt; cPP)) throw \"ERROR! Premature end of file.\";\n    ++xpmData;\n  }\n  std::map&lt;std::string, std::string&gt; colTbl;\n  for (int i = nC; i--; ++xpmData) {\n    const char *p = *xpmData;\n    std::string chr;\n    for (int j = cPP; j--;) chr += getChar(p);\n    skipWS(p);\n    if (getChar(p) != 'c') throw \"ERROR! Format not supported.\";\n    skipWS(p);\n    colTbl[chr] = getString(p);\n  }\n  QImage qImg(w, h, QImage::Format_RGB32);\n  for (int y = 0; y &lt; h; ++y, ++xpmData) {\n    const char *p = *xpmData;\n    for (int x = 0; x &lt; w; ++x) {\n      std::string pixel;\n      for (int j = cPP; j--;) pixel += getChar(p);\n      qImg.setPixelColor(x, y, QColor(colTbl[pixel].c_str()));\n    }\n  }\n  return qImg;\n}\n\n\/\/ a customized QLabel to handle scaling\nclass LabelImage: public QLabel {\n\n  private:\n    QPixmap _qPixmap, _qPixmapScaled;\n\n  public:\n    LabelImage();\n    LabelImage(const QPixmap &amp;qPixmap): LabelImage()\n    {\n      setPixmap(qPixmap);\n    }\n    LabelImage(const QImage &amp;qImg): LabelImage(QPixmap::fromImage(qImg))\n    { }\n\n    void setPixmap(const QPixmap &amp;qPixmap) { setPixmap(qPixmap, size()); }\n\n  protected:\n    virtual void resizeEvent(QResizeEvent *pQEvent);\n\n  private:\n    void setPixmap(const QPixmap &amp;qPixmap, const QSize &amp;size);\n};\n\n\/\/ main function\nint main(int argc, char **argv)\n{\n  qDebug() &lt;&lt; QT_VERSION_STR;\n  \/\/ main application\n#undef qApp \/\/ undef macro qApp out of the way\n  QApplication qApp(argc, argv);\n  \/\/ setup GUI\n  QMainWindow qWin;\n  QGroupBox qBox;\n  QGridLayout qGrid;\n  LabelImage qLblImgPPM(readPPM(std::istringstream(ppmData)));\n  qGrid.addWidget(&amp;qLblImgPPM, 0, 0, Qt::AlignCenter);\n  LabelImage qLblImgXPM(readXPM(xpmData));\n  qGrid.addWidget(&amp;qLblImgXPM, 1, 0, Qt::AlignCenter);\n  qBox.setLayout(&amp;qGrid);\n  qWin.setCentralWidget(&amp;qBox);\n  qWin.show();\n  \/\/ run application\n  return qApp.exec();\n}\n\n\/\/ implementation of LabelImage\n\nLabelImage::LabelImage(): QLabel()\n{\n  setFrameStyle(Raised | Box);\n  setAlignment(Qt::AlignCenter);\n  \/\/setMinimumSize(QSize(1, 1)); \/\/ seems to be not necessary\n  setSizePolicy(QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored));\n}\n\nvoid LabelImage::resizeEvent(QResizeEvent *pQEvent)\n{\n  QLabel::resizeEvent(pQEvent);\n  setPixmap(_qPixmap, pQEvent-&gt;size());\n}\n\nvoid LabelImage::setPixmap(const QPixmap &amp;qPixmap, const QSize &amp;size)\n{\n  _qPixmap = qPixmap;\n  _qPixmapScaled = _qPixmap.scaled(size, Qt::KeepAspectRatio);\n  QLabel::setPixmap(_qPixmapScaled);\n}\n<\/code><\/pre>\n<p>This has been compiled in VS2013 and tested in Windows 10 (64 bit):<\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\"><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\" alt=\"Snapshot of testQShowPPM-XPM\"><\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved how to create a graphics object using an Atom text editor <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] There are lot of graphics formats available with varying capabilities. First distinction I would make is: raster graphics vs. vector graphics Raster graphics (storing the image pixel by pixel) are more often binary encoded as the amount of data is usally directly proportional to size of image. However some of them are textual encoded &#8230; <a title=\"[Solved] how to create a graphics object using an Atom text editor\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/\" aria-label=\"More on [Solved] how to create a graphics object using an Atom text editor\">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],"class_list":["post-19001","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] how to create a graphics object using an Atom text editor - 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-create-a-graphics-object-using-an-atom-text-editor\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] how to create a graphics object using an Atom text editor - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] There are lot of graphics formats available with varying capabilities. First distinction I would make is: raster graphics vs. vector graphics Raster graphics (storing the image pixel by pixel) are more often binary encoded as the amount of data is usally directly proportional to size of image. However some of them are textual encoded ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-04T20:24:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\" \/>\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=\"6 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-create-a-graphics-object-using-an-atom-text-editor\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] how to create a graphics object using an Atom text editor\",\"datePublished\":\"2022-11-04T20:24:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/\"},\"wordCount\":486,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\",\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/\",\"name\":\"[Solved] how to create a graphics object using an Atom text editor - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\",\"datePublished\":\"2022-11-04T20:24:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Solved-how-to-create-a-graphics-object-using-an-Atom.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] how to create a graphics object using an Atom text editor\"}]},{\"@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\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"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 create a graphics object using an Atom text editor - 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-create-a-graphics-object-using-an-atom-text-editor\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] how to create a graphics object using an Atom text editor - JassWeb","og_description":"[ad_1] There are lot of graphics formats available with varying capabilities. First distinction I would make is: raster graphics vs. vector graphics Raster graphics (storing the image pixel by pixel) are more often binary encoded as the amount of data is usally directly proportional to size of image. However some of them are textual encoded ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/","og_site_name":"JassWeb","article_published_time":"2022-11-04T20:24:06+00:00","og_image":[{"url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png","type":"","width":"","height":""}],"author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] how to create a graphics object using an Atom text editor","datePublished":"2022-11-04T20:24:06+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/"},"wordCount":486,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png","keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/","name":"[Solved] how to create a graphics object using an Atom text editor - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#primaryimage"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png","datePublished":"2022-11-04T20:24:06+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#primaryimage","url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/11\/Solved-how-to-create-a-graphics-object-using-an-Atom.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-create-a-graphics-object-using-an-atom-text-editor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] how to create a graphics object using an Atom text editor"}]},{"@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\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","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\/19001","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=19001"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/19001\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=19001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=19001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=19001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}