{"id":6893,"date":"2024-03-14T04:48:03","date_gmt":"2024-03-14T04:48:03","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/"},"modified":"2025-08-02T09:30:06","modified_gmt":"2025-08-02T09:30:06","slug":"how-to-generate-a-qr-code-with-a-background-using-phpqrcode","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/","title":{"rendered":"PHP QR Code with Background: phpqrcode Guide"},"content":{"rendered":"<p>One way to add a background to a generated QR code is by using the merge method in the PHP QR Code library. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">require<\/span> <span class=\"hljs-string\">'phpqrcode\/qrlib.php'<\/span>;\r\n\r\n<span class=\"hljs-comment\">\/\/ \u751f\u6210\u4e8c\u7ef4\u7801<\/span>\r\n<span class=\"hljs-variable\">$text<\/span> = <span class=\"hljs-string\">'https:\/\/example.com'<\/span>;\r\n<span class=\"hljs-variable\">$qrCode<\/span> = <span class=\"hljs-title class_\">QRcode<\/span>::<span class=\"hljs-title function_ invoke__\">png<\/span>(<span class=\"hljs-variable\">$text<\/span>, <span class=\"hljs-literal\">false<\/span>, QR_ECLEVEL_L, <span class=\"hljs-number\">10<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bfb\u53d6\u80cc\u666f\u56fe\u7247<\/span>\r\n<span class=\"hljs-variable\">$background<\/span> = <span class=\"hljs-title function_ invoke__\">imagecreatefrompng<\/span>(<span class=\"hljs-string\">'background.png'<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u5408\u5e76\u4e8c\u7ef4\u7801\u548c\u80cc\u666f\u56fe\u7247<\/span>\r\n<span class=\"hljs-title function_ invoke__\">imagecopy<\/span>(<span class=\"hljs-variable\">$background<\/span>, <span class=\"hljs-variable\">$qrCode<\/span>, <span class=\"hljs-number\">100<\/span>, <span class=\"hljs-number\">100<\/span>, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-title function_ invoke__\">imagesx<\/span>(<span class=\"hljs-variable\">$qrCode<\/span>), <span class=\"hljs-title function_ invoke__\">imagesy<\/span>(<span class=\"hljs-variable\">$qrCode<\/span>));\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u5408\u5e76\u540e\u7684\u56fe\u7247<\/span>\r\n<span class=\"hljs-title function_ invoke__\">header<\/span>(<span class=\"hljs-string\">'Content-Type: image\/png'<\/span>);\r\n<span class=\"hljs-title function_ invoke__\">imagepng<\/span>(<span class=\"hljs-variable\">$background<\/span>);\r\n<span class=\"hljs-title function_ invoke__\">imagedestroy<\/span>(<span class=\"hljs-variable\">$background<\/span>);\r\n<\/code><\/pre>\n<p>In the example code above, the QRcode::png method is first used to generate a QR code and read a background image. Then the imagecopy function is used to merge the QR code into the background image and output the merged image. Finally, the header function is used to set the output image type as PNG, and the temporary image resource is destroyed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One way to add a background to a generated QR code is by using the merge method in the PHP QR Code library. Here is an example code: require &#8216;phpqrcode\/qrlib.php&#8217;; \/\/ \u751f\u6210\u4e8c\u7ef4\u7801 $text = &#8216;https:\/\/example.com&#8217;; $qrCode = QRcode::png($text, false, QR_ECLEVEL_L, 10); \/\/ \u8bfb\u53d6\u80cc\u666f\u56fe\u7247 $background = imagecreatefrompng(&#8216;background.png&#8217;); \/\/ \u5408\u5e76\u4e8c\u7ef4\u7801\u548c\u80cc\u666f\u56fe\u7247 imagecopy($background, $qrCode, 100, 100, 0, 0, imagesx($qrCode), [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[8642,8632,8553,8641,8619],"class_list":["post-6893","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-image-merge-php","tag-php-qr-code","tag-phpqrcode","tag-qr-code-background","tag-qr-code-generation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP QR Code with Background: phpqrcode Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP QR Code with Background: phpqrcode Guide\" \/>\n<meta property=\"og:description\" content=\"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T04:48:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T09:30:06+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"PHP QR Code with Background: phpqrcode Guide\",\"datePublished\":\"2024-03-14T04:48:03+00:00\",\"dateModified\":\"2025-08-02T09:30:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\"},\"wordCount\":98,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"image merge PHP\",\"PHP QR code\",\"phpqrcode\",\"QR code background\",\"QR code generation\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\",\"name\":\"PHP QR Code with Background: phpqrcode Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T04:48:03+00:00\",\"dateModified\":\"2025-08-02T09:30:06+00:00\",\"description\":\"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP QR Code with Background: phpqrcode Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP QR Code with Background: phpqrcode Guide - Blog - Silicon Cloud","description":"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.","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:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/","og_locale":"en_US","og_type":"article","og_title":"PHP QR Code with Background: phpqrcode Guide","og_description":"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T04:48:03+00:00","article_modified_time":"2025-08-02T09:30:06+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"PHP QR Code with Background: phpqrcode Guide","datePublished":"2024-03-14T04:48:03+00:00","dateModified":"2025-08-02T09:30:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/"},"wordCount":98,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["image merge PHP","PHP QR code","phpqrcode","QR code background","QR code generation"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/","name":"PHP QR Code with Background: phpqrcode Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T04:48:03+00:00","dateModified":"2025-08-02T09:30:06+00:00","description":"Learn to generate QR codes with custom backgrounds using phpqrcode library. Step-by-step PHP code example included.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-generate-a-qr-code-with-a-background-using-phpqrcode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP QR Code with Background: phpqrcode Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=6893"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6893\/revisions"}],"predecessor-version":[{"id":151664,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6893\/revisions\/151664"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=6893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=6893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=6893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}