{"id":25073,"date":"2020-03-05T12:15:00","date_gmt":"2020-03-05T10:15:00","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=25073"},"modified":"2020-06-23T14:54:23","modified_gmt":"2020-06-23T11:54:23","slug":"image-titler-1-5-2-supports-logo-insertion","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/","title":{"rendered":"Image Titler 1.5.2 Supports Logo Insertion"},"content":{"rendered":"\n<p>During the first weekend of the semester, I got inspired to do some Python development. Out of the inspiration came the latest feature of the Image Titler took: logo insertion. In this article, we\u2019ll take a look at what that means and how it was implemented.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is Logo Insertion?<\/h2>\n\n\n\n<p>As far as names are concerned, logo insertion isn\u2019t a formal term. It\u2019s just what I\u2019ve been calling the latest feature of the Image Titler script. Now, in addition to being able to add titles and borders to image, you can also insert your logo:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/26-songs-that-made-me-who-i-am-today-featured-image.jpeg\" alt=\"\" class=\"wp-image-25083\" width=\"768\" height=\"480\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/26-songs-that-made-me-who-i-am-today-featured-image.jpeg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/26-songs-that-made-me-who-i-am-today-featured-image-300x188.jpeg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/26-songs-that-made-me-who-i-am-today-featured-image-768x480.jpeg 768w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p>Notice how there\u2019s now an image of my logo in the lower left corner. How cool is that?<\/p>\n\n\n\n<p>Personally, I haven\u2019t tried other logos, but I imagine you\u2019ll get similar performance as long as it\u2019s square. Otherwise, it\u2019ll shrink one way or the other.<\/p>\n\n\n\n<p>In any case, you can add a logo of your own with the following code:<\/p>\n\n\n\n<div>\n<div id=\"highlighter_422794\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">pip install image-titler # in <\/code><code class=\"java keyword\">case<\/code> <code class=\"java plain\">you haven't already<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java plain\">image_titler -l <\/code><code class=\"java string\">\"path\/to\/logo\"<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n\n\n\n<p>That will open up a prompt for you to select an image. Then, the tool will attempt to parse the file name (i.e. assumes <code>-<\/code> separators) and place it as a title on the image. Finally, the logo will be positioned in the lower left corner, and the image will be saved wherever you wrote this command.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Does Logo Insertion Work?<\/h2>\n\n\n\n<p>Under the hood, we take advantage of the PIL library in Python. Essentially, we load two images: the background and the foreground. Then, we paste one onto the other:<\/p>\n\n\n\n<div>\n<div id=\"highlighter_502075\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">def draw_logo(img: Image, logo_path: str):<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java string\">\"\"<\/code><code class=\"java plain\">\"<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">Adds a logo to the image <\/code><code class=\"java keyword\">if<\/code> <code class=\"java plain\">a path is provided.<\/code><\/div>\n<div class=\"line number4 index3 alt1\">&nbsp;<\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">:param img: an image to be modified<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">:param logo_path: the path to a logo<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">:<\/code><code class=\"java keyword\">return<\/code><code class=\"java plain\">: nothing<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java string\">\"\"<\/code><code class=\"java plain\">\"<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java keyword\">if<\/code> <code class=\"java plain\">logo_path:<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">logo = Image.open(logo_path, <\/code><code class=\"java string\">\"r\"<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">logo.thumbnail(LOGO_SIZE)<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">width, height = img.size<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"java plain\">img.paste(logo, (LOGO_PADDING, height - LOGO_SIZE[<\/code><code class=\"java value\">1<\/code><code class=\"java plain\">] - LOGO_PADDING), logo)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n\n\n\n<p>As you can see, I wrote a <code>draw_logo()<\/code> function which takes a background image and a path to a logo. Then, if the logo path is present, we load the logo, convert it to a thumbnail of a particular size, and paste it onto the background image.<\/p>\n\n\n\n<p>Here, the real magic is in the last line. In other words, we can the <code>paste()<\/code> function which takes a few inputs: the image file, its location, and a mask. In this case, we use the logo, and we calculate where to paste it using the height of the logo and the height of the background. Since we don\u2019t want it perfectly in the corner, we add some padding.<\/p>\n\n\n\n<p>If you\u2019re interested in seeing the entire script, you can check it out <a href=\"https:\/\/github.com\/TheRenegadeCoder\/image-titler\/blob\/master\/image_titler\/trc_image_titler.py\">here<\/a>. Keep in mind that it\u2019s a little rough around the edges, but it gets the job done. Feel free to fork it and modify it to your needs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Any Other Changes?<\/h2>\n\n\n\n<p>While I was putting this feature together, I realized that there was this strange artifact showing up in my output images. Let me show you what I mean:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/how-to-write-a-loop-in-python-featured-image.jpeg\" alt=\"\" class=\"wp-image-25084\" width=\"768\" height=\"480\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/how-to-write-a-loop-in-python-featured-image.jpeg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/how-to-write-a-loop-in-python-featured-image-300x188.jpeg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/how-to-write-a-loop-in-python-featured-image-768x480.jpeg 768w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p>Since I put the Image Titler tool together, I\u2019d been generating images that look exactly like this one. If you don\u2019t look to hard, there\u2019s nothing to see. It\u2019s just a regular featured image.<\/p>\n\n\n\n<p>However, if you zoom in on the text, you\u2019ll notice some strange artifacts. For instance, the red isn\u2019t exactly solid\u2014there are some darker shades mixed in. Overall, the image looks rather poor.<\/p>\n\n\n\n<p>For awhile, I chalked this up to WordPress. After all, the previews that Image Titler generates are always extremely clean and clear. Unfortunately, that\u2019s not the same quality you get when you save the image. Apparently, the save function does some compression which can actually be toggled off:<\/p>\n\n\n\n<div>\n<div id=\"highlighter_339981\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">edited_image.save(storage_path, subsampling=<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">, quality=<\/code><code class=\"java value\">100<\/code><code class=\"java plain\">)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n\n\n\n<p>Here, I set the quality to max and subsampling to zero. Now, images in <a href=\"https:\/\/github.com\/TheRenegadeCoder\/image-titler\/releases\/tag\/v1.5.1\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"v1.5.1 (opens in a new tab)\">v1.5.1<\/a> look exactly how I expect them to:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/11-reasons-why-i-quit-my-engineering-career-featured-image.jpeg\" alt=\"\" class=\"wp-image-25085\" width=\"768\" height=\"480\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/11-reasons-why-i-quit-my-engineering-career-featured-image.jpeg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/11-reasons-why-i-quit-my-engineering-career-featured-image-300x188.jpeg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/11-reasons-why-i-quit-my-engineering-career-featured-image-768x480.jpeg 768w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p>Of course, WordPress still does some minor distortion. If you want to compare the two raw images, try right clicking and selecting \u201copen image in new tab.\u201d<\/p>\n\n\n\n<p>Outside of this change, I also updated the dimensions of the image in <a href=\"https:\/\/github.com\/TheRenegadeCoder\/image-titler\/releases\/tag\/v1.5.2\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"v1.5.2 (opens in a new tab)\">v1.5.2<\/a>, so they conform more to my thumbnails:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/python-code-snippets-for-everyday-problems-feature-image.jpeg\" alt=\"\" class=\"wp-image-25086\" width=\"768\" height=\"384\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/python-code-snippets-for-everyday-problems-feature-image.jpeg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/python-code-snippets-for-everyday-problems-feature-image-300x150.jpeg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2020\/03\/python-code-snippets-for-everyday-problems-feature-image-768x384.jpeg 768w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p>Now, you\u2019ll be able to see both the title and the logo on the archive pages of the website. How cool is that?!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Future Changes<\/h2>\n\n\n\n<p>At this point, I\u2019m fairly satisfied with where the Image Titler tool is at. That said, there are a few outstanding issues I\u2019d like to deal with at some point. In addition, I\u2019m open to suggestions. Is there anything you\u2019d like to see?<\/p>\n\n\n\n<p>Otherwise, thanks for stopping by! If you\u2019re interested in getting updates like this in your inbox, <a href=\"https:\/\/newsletter.therenegadecoder.com\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">hop on my mailing list<\/a>. I publish twice a week, and I always send both posts out in a Friday newsletter. In addition, you can support this project and others like it by <a href=\"https:\/\/www.patreon.com\/TheRenegadeCoder\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">becoming a patron<\/a> or <a href=\"https:\/\/github.com\/sponsors\/jrg94\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">sponsor me directly on GitHub<\/a>.<\/p>\n\n\n\n<p>Here are a few related posts for your perusal:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/therenegadecoder.com\/meta\/sample-programs-100-article-release\/\">Sample Programs 100 Article Release<\/a><\/li><li><a href=\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-4-1-features-borders\/\">Image Titler 1.4.1 Features Borders<\/a><\/li><\/ul>\n\n\n\n<p>Thanks for taking some time to check out this update! I appreciate the support.<\/p>\n\n\n\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>\n<p>Published on Web Code Geeks with permission by Jeremy Grifski, partner at our <a href=\"\/\/www.webcodegeeks.com\/join-us\/wcg\/\" target=\"_blank\" rel=\"noopener noreferrer\">WCG program<\/a>. See the original article here: <a href=\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/\" target=\"_blank\" rel=\"noopener noreferrer\">Image Titler 1.5.2 Supports Logo Insertion<\/a><\/p>\n<p>Opinions expressed by Web Code Geeks contributors are their own.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>During the first weekend of the semester, I got inspired to do some Python development. Out of the inspiration came the latest feature of the Image Titler took: logo insertion. In this article, we\u2019ll take a look at what that means and how it was implemented. What Is Logo Insertion? As far as names are &hellip;<\/p>\n","protected":false},"author":14722,"featured_media":1651,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[],"class_list":["post-25073","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-05T10:15:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-23T11:54:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Grifski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@RenegadeCoder94\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Grifski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/\"},\"author\":{\"name\":\"Jeremy Grifski\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/7eaa8e89cf23a5de82a048beb4c59aa1\"},\"headline\":\"Image Titler 1.5.2 Supports Logo Insertion\",\"datePublished\":\"2020-03-05T10:15:00+00:00\",\"dateModified\":\"2020-06-23T11:54:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/\"},\"wordCount\":840,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/\",\"url\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/\",\"name\":\"Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg\",\"datePublished\":\"2020-03-05T10:15:00+00:00\",\"dateModified\":\"2020-06-23T11:54:23+00:00\",\"description\":\"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.\",\"breadcrumb\":{\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Image Titler 1.5.2 Supports Logo Insertion\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/7eaa8e89cf23a5de82a048beb4c59aa1\",\"name\":\"Jeremy Grifski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9d50311a27dff0a54d775b6106b8f804d5d11d0b5182ed537f325046a020c6f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9d50311a27dff0a54d775b6106b8f804d5d11d0b5182ed537f325046a020c6f5?s=96&d=mm&r=g\",\"caption\":\"Jeremy Grifski\"},\"description\":\"Jeremy is the founder of The Renegade Coder, a software curriculum website launched in 2017. In addition, he is a PhD student with an interest in education and data visualization.\",\"sameAs\":[\"https:\/\/therenegadecoder.com\/\",\"https:\/\/www.linkedin.com\/in\/jeremy-grifski-22240552\/\",\"https:\/\/x.com\/RenegadeCoder94\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/jeremy-grifski\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026","description":"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.","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:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/","og_locale":"en_US","og_type":"article","og_title":"Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026","og_description":"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.","og_url":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2020-03-05T10:15:00+00:00","article_modified_time":"2020-06-23T11:54:23+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg","type":"image\/jpeg"}],"author":"Jeremy Grifski","twitter_card":"summary_large_image","twitter_creator":"@RenegadeCoder94","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Jeremy Grifski","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/"},"author":{"name":"Jeremy Grifski","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/7eaa8e89cf23a5de82a048beb4c59aa1"},"headline":"Image Titler 1.5.2 Supports Logo Insertion","datePublished":"2020-03-05T10:15:00+00:00","dateModified":"2020-06-23T11:54:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/"},"wordCount":840,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/python\/image-titler-1-5-2-supports-logo-insertion\/","url":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/","name":"Image Titler 1.5.2 Supports Logo Insertion - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage"},"image":{"@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg","datePublished":"2020-03-05T10:15:00+00:00","dateModified":"2020-06-23T11:54:23+00:00","description":"Interested to learn about Logo Insertion? Check our article explaining what a logo instertion means and how it was implemented.","breadcrumb":{"@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/11\/python-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/therenegadecoder.com\/meta\/image-titler-1-5-2-supports-logo-insertion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/www.webcodegeeks.com\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Image Titler 1.5.2 Supports Logo Insertion"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/7eaa8e89cf23a5de82a048beb4c59aa1","name":"Jeremy Grifski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9d50311a27dff0a54d775b6106b8f804d5d11d0b5182ed537f325046a020c6f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9d50311a27dff0a54d775b6106b8f804d5d11d0b5182ed537f325046a020c6f5?s=96&d=mm&r=g","caption":"Jeremy Grifski"},"description":"Jeremy is the founder of The Renegade Coder, a software curriculum website launched in 2017. In addition, he is a PhD student with an interest in education and data visualization.","sameAs":["https:\/\/therenegadecoder.com\/","https:\/\/www.linkedin.com\/in\/jeremy-grifski-22240552\/","https:\/\/x.com\/RenegadeCoder94"],"url":"https:\/\/www.webcodegeeks.com\/author\/jeremy-grifski\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/25073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/14722"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=25073"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/25073\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/1651"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=25073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=25073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=25073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}