{"id":40451,"date":"2018-08-31T03:01:38","date_gmt":"2018-08-30T17:01:38","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=40451"},"modified":"2018-08-30T21:05:59","modified_gmt":"2018-08-30T11:05:59","slug":"gimp-guillotine-follow-up-canvas-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/gimp-guillotine-follow-up-canvas-tutorial\/","title":{"rendered":"Gimp Guillotine Follow Up Canvas Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_canvas.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Gimp Guillotine Follow Up Canvas Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_canvas.jpg\" title=\"Gimp Guillotine Follow Up Canvas Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Gimp Guillotine Follow Up Canvas Tutorial<\/p><\/div>\n<p>The second of the non-primer tutorial themes to improve and build on yesterday&#8217;s  <a title='Gimp Guillotine Follow Up Div Margin Tutorial' href='#ggfudmt'>Gimp Guillotine Follow Up Div Margin Tutorial<\/a> &#8230;<\/p>\n<p><code><br \/>\nHTML div element housing HTML img elements (no position: absolute <font>like we like so much for overlay work<\/font>) using style property <em>margin-left<\/em> and HTML br (line break) element (which sometimes requires negative <em>margin-top<\/em> tweaking)<br \/>\n<\/code><\/p>\n<p> &#8230; involves the ever useful <a target=_blank title='HTML Canvas element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ref_canvas.asp'>canvas<\/a> element introduced with HTML5 as per &#8230;<\/p>\n<p><code><br \/>\nHTML canvas element object's drawImage method helps draw HTML img elements positionally so as to recreate the original image look from constituent \"jigsaw image element\" HTML img elements<br \/>\n<\/code><\/p>\n<p>Let&#8217;s take a step back, reread <a target=_blank title='Emoji Border or Background Image Canvas Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-border-or-background-image-canvas-tutorial'>Emoji Border or Background Image Canvas Tutorial<\/a> &#8230;<\/p>\n<blockquote cite='https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-border-or-background-image-canvas-tutorial'>\n<p>What&#8217;s the big deal with the HTML5 <a target=_blank title='HTML5 canvas element information from w3schools ... thanks' href='http:\/\/www.w3schools.com\/html\/html5_canvas.asp'>canvas<\/a> element?  For a few things &#8230;<\/p>\n<p><\/p>\n<ul>\n<li>the HTML5 canvas element right click or two finger gesture functionality includes Copy options &#8230;<\/li>\n<li>the canvas can collect both images and text and be able to summarize that into &#8230;<\/li>\n<li>a single image can be derived from the canvas element, encapsulating its contents &#8230; so that &#8230;<\/li>\n<li>the canvas element can export that graphical content into a data URI that involves no absolute URLs &#8230; and so ties in nicely with &#8230;<\/li>\n<li>email attachments can go hand in hand with the canvas element via a serverside function such as PHP&#8217;s mail function to enhance sharing functionalities<\/li>\n<\/ul>\n<\/blockquote>\n<p> &#8230; because it is both pertinent to this project and shows how the canvas element is such a great generic &#8220;graphic&#8221; sharing element.  Express all its content by data URIs and you have a totally &#8220;mobile&#8221; and transportable container of graphical or pixel data.<\/p>\n<p>The PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/gimp_guillotine_followup.php--GETME\" title=\"gimp_guillotine_followup.php\">gimp_guillotine_followup.php<\/a> today changed for canvas use <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/gimp_guillotine_followup.php--GETME\" title=\"gimp_guillotine_followup.php\">this way<\/a> and it is more than likely you will use this PHP with a local web server like <a target=_blank title='PHP and MySql via MAMP Primer Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=933'>MAMP<\/a>.   We hope this gives you ideas, and please feel free to download this PHP.<\/p>\n<hr>\n<p id='ggfudmt'>Previous relevant <a target=_blank title='Gimp Guillotine Follow Up Div Margin Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/gimp-guillotine-follow-up-div-margin-tutorial\/'>Gimp Guillotine Follow Up Div Margin Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_div_margin.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Gimp Guillotine Follow Up Div Margin Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_div_margin.jpg\" title=\"Gimp Guillotine Follow Up Div Margin Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Gimp Guillotine Follow Up Div Margin Tutorial<\/p><\/div>\n<p>The first non-primer tutorial theme to improve and build on the recent <a title='Gimp Guillotine Follow Up Primer Tutorial' href='#ggfupt'>Gimp Guillotine Follow Up Primer Tutorial<\/a> are a series of representations to put the Gimp Guillotine &#8220;jigsaw image pieces&#8221; back together to make <strike>humpty dumpty<\/strike> <font size=1> &#8230; down, Nala &#8230;<\/font> representations of the original image back for the user.   Sounds a bit counterproductive, but these are all steps in a process to eventually be able to do quite a bit we hope.  Today&#8217;s &#8220;first cab off the rank&#8221; representation is &#8230;<\/p>\n<p><code><br \/>\nHTML div element housing HTML img elements (no position: absolute <font>like we like so much for overlay work<\/font>) using style property <em>margin-left<\/em> and HTML br (line break) element (which sometimes requires negative <em>margin-top<\/em> tweaking)<br \/>\n<\/code><\/p>\n<p>Gasp, how rudimentary!  But sometimes the rudimentary things are the best.  We display this &#8220;pieced back together original image&#8221; data (from the data you guillotined (which may not be the whole picture, as with today&#8217;s data we test)) in three different ways &#8230;<\/p>\n<ul>\n<li>an &#8220;a&#8221; link hashtag navigates the user below the fold to the &#8220;pieced back together original image&#8221;<\/li>\n<li>another &#8220;a&#8221; link hashtag navigates the user to a new window with the &#8220;pieced back together original image&#8221;<\/li>\n<li>a new type=submit name=divmarginuse button of the HTML form is an alternate processing option that automatically &#8220;underlays&#8221; (<a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=zOvyRjVQLjE'>you say underlay, I say overlay, we go<\/a>) the &#8220;pieced back together original image&#8221; under whatever webpage data appears at the top left, with an opacity less than 1 (ie. 0.5 to show with some transparency), this &#8220;underlay&#8221; being position:absolute but not asking that of an pre-existant webpage data &#8230; it is added dynamically via Javascript DOM techniques<\/li>\n<\/ul>\n<p>This last option&#8217;s usage we find pretty efficient, and you can read more on this at <a target=_blank title='HTML Multiple Form Multiple Submit Buttons Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/html-multiple-form-multiple-submit-buttons-primer-tutorial\/'>HTML Multiple Form Multiple Submit Buttons Primer Tutorial<\/a>.  As you might surmise, we&#8217;ll be adding more of these as time goes on, and we dip our toes into the myriad number of representations of this &#8220;pieced back together original image&#8221; data we visit.<\/p>\n<p>The PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/gimp_guillotine_followup.php-GETME\" title=\"gimp_guillotine_followup.php\">gimp_guillotine_followup.php<\/a> today changed <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/gimp_guillotine_followup.php-GETME\" title=\"gimp_guillotine_followup.php\">this way<\/a> it is more than likely you will use this PHP with a local web server like <a target=_blank title='PHP and MySql via MAMP Primer Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=933'>MAMP<\/a> (though into the future we may offer a command line mode of use).<\/p>\n<p>Hopefully today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_div_margin.jpg\" title=\"Tutorial picture\">tutorial picture<\/a> makes what we are talking about here more clear for you.<\/p>\n<hr>\n<p id='ggfupt'>Previous relevant <a target=_blank title='Gimp Guillotine Follow Up Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/gimp-guillotine-follow-up-primer-tutorial\/'>Gimp Guillotine Follow Up Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_followup.jpg\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Gimp Guillotine Follow Up Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_followup.jpg\" title=\"Gimp Guillotine Follow Up Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Gimp Guillotine Follow Up Primer Tutorial<\/p><\/div>\n<p>Still on yesterday&#8217;s <a title='Gimp Image Map HTML Primer Tutorial' href='#gimhtmlpt'>Gimp Image Map HTML Primer Tutorial<\/a>&#8216;s Gimp themes do you remember us saying, relating to <a target=_blank title='GIMP' href='http:\/\/gimp.org'>GIMP<\/a> &#8230;<\/p>\n<blockquote><p>\n&#8230; precursor to being able to break an image into component parts via &#8220;Image -&gt; Transform -&gt; Guillotine&#8221; or the more enticing, for those web developers out there, &#8220;Filter -&gt; Web -&gt; Slice&#8221; which effectively does what Guillotine does and writes out some HTML in the form of an HTML table element that includes some &#8220;a&#8221; link opportunities to do something special for individual images of the new &#8220;image jigsaw&#8221; surrounded by Guides\n<\/p><\/blockquote>\n<p> &#8230; down below?  Well, yes, today is a revisit to the &#8220;Guillotine&#8221; bit of that, because it is all well and good to use &#8220;Filter -&gt; Web -&gt; Slice&#8221; for a fait accompli HTML table &#8220;slicing&#8221; approach, but as you can imagine, there are lots of reasons, such as responsive design, why you might want to stop at the &#8220;Guillotine&#8221; &#8220;just give me the images, <strike>man<\/strike>person&#8221; stage and from there, do your own <strike>thing<\/strike>thang, <strike>man<\/strike>person.<\/p>\n<p>We&#8217;re just starting down the road of this today in our &#8220;Primer&#8221; tutorial, just being able to either &#8230;<\/p>\n<ol>\n<li>image creation method &#8230;\n<ul>\n<li>start GIMP and listen out for new images created &#8230; we&#8217;re hoping via &#8220;Image -&gt; Transform -&gt; Guillotine&#8221; &#8230; or &#8230;<\/li>\n<li>specify your own filespec of images &#8230; we&#8217;re hoping got there via &#8220;Image -&gt; Transform -&gt; Guillotine&#8221;<\/li>\n<\/ul>\n<\/li>\n<li>list those image files &#8230;<\/li>\n<li>show those image files<\/li>\n<\/ol>\n<p>GIMP being a desktop application, you might have guessed that we&#8217;d use a serverside language for this work, and yes, we&#8217;re using PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/gimp_guillotine_followup.php_GETME\" title=\"gimp_guillotine_followup.php\">gimp_guillotine_followup.php<\/a> today, but don&#8217;t show you any live run links because it is more than likely you will use this PHP with a local web server like <a target=_blank title='PHP and MySql via MAMP Primer Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=933'>MAMP<\/a> (though into the future we may offer a command line mode of use).<\/p>\n<p>So please feel free to download that PHP and\/or see its approach via today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_guillotine_followup.jpg\" title=\"Tutorial picture\">tutorial picture<\/a>.<\/p>\n<hr>\n<p id='gimhtmlpt'>Previous relevant <a target=_blank title='Gimp Image Map HTML Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/gimp-image-map-html-primer-tutorial\/'>Gimp Image Map HTML Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_im.pdf\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Gimp Image Map HTML Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_im.jpg\" title=\"Gimp Image Map HTML Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Gimp Image Map HTML Primer Tutorial<\/p><\/div>\n<p>As we intimated yesterday with <a title='Gimp Guides to HTML Primer Tutorial' href='#gghtmlpt'>Gimp Guides to HTML Primer Tutorial<\/a> regarding the <a target=_blank title='GIMP' href='http:\/\/gimp.org'>GIMP<\/a> image editor&#8217;s &#8220;Filter -&gt; Web&#8221; menu &#8230;<\/p>\n<blockquote><p>\n&#8230; you would also see an &#8220;Image Map&#8221; option helping out in a similar fashion to the stupendous <a target=_blank title='mobilefish' href='http:\/\/www.mobilefish.com\/services\/image_map\/image_map.php'>mobilefish<\/a> functionality.\n<\/p><\/blockquote>\n<p> &#8230; and so we are here today to show you how that functionality works via a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/GIMP\/gimp_im.pdf\" title=\"Click picture\">PDF slideshow<\/a> for your perusal.  There are options to shape what goes into the resultant HTML&#8217;s map element&#8217;s area (as rectangle or ellipse or polygon) tag href property link types as per &#8230;<\/p>\n<ul>\n<li>Web Site<\/li>\n<li>Ftp Site<\/li>\n<li><a target=_blank title='Gopher information from Wikipedia, thanks' href='https:\/\/en.wikipedia.org\/wiki\/Gopher_(protocol)'>Gopher<\/a><\/li>\n<li>File<\/li>\n<li><a target=_blank title='Wide Area Information Server information from Wikipedia, thanks' href='https:\/\/en.wikipedia.org\/wiki\/Wide_area_information_server'>WAIS<\/li>\n<li><a target=_blank title='Telnet information from Wikipedia, thanks' href='https:\/\/en.wikipedia.org\/wiki\/Telnet'>Telnet<\/a><\/li>\n<li>Email<\/li>\n<li>Other<\/li>\n<\/ul>\n<p> &#8230; as a very extensive ideas list on top of options to define event logic for &#8230;<\/p>\n<ul>\n<li>onmouseover<\/li>\n<li>onmouseout<\/li>\n<li>onfocus<\/li>\n<li>onblur<\/li>\n<\/ul>\n<p> &#8230; and that there is the option to define exact co-ordinates, and to define the alt attribute and HTML iframe name as applicable, also.<\/p>\n<p>We&#8217;ll leave you with the resultant HTML we had GIMP create for us as a result of the goings on in that PDF slideshow (noting that the only adjustment to HTML in out TextWrangler editing session was to point at the image <em>img element src attribute location<\/em> properly), and we hope this is of benefit for you &#8230;<\/p>\n<p><code><br \/>\n&lt;img src=\"<em>mondrian-1504681_640.jpg<\/em>\" width=\"640\" height=\"480\" border=\"0\" usemap=\"#map\" \/&gt;<br \/>\n&nbsp;<br \/>\n&lt;map name=\"map\"&gt;<br \/>\n&lt;!-- #$-:Image map file created by GIMP Image Map plug-in --&gt;<br \/>\n&lt;!-- #$-:GIMP Image Map plug-in by Maurits Rijk --&gt;<br \/>\n&lt;!-- #$-:Please do not edit lines starting with \"#$\" --&gt;<br \/>\n&lt;!-- #$VERSION:2.3 --&gt;<br \/>\n&lt;!-- #$AUTHOR:User --&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"0,1,36,132\" href=\"mailto:?body=w_1_1&amp;subject=Mondrian%20Composition%20with%20Read%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"51,0,118,128\" href=\"mailto:?body=y_2_1&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"136,1,295,133\" href=\"mailto:?body=b_3_1&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"310,1,500,132\" href=\"mailto:?body=r_4_1&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"514,0,566,131\" href=\"mailto:?body=y_5_1&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"583,1,596,130\" href=\"mailto:?body=w_6_1&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"0,146,36,293\" href=\"mailto:?body=w_1_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"50,145,119,294\" href=\"mailto:?body=w_2_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"134,146,295,292\" href=\"mailto:?body=w_3_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"310,146,375,294\" href=\"mailto:?body=w_4_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"391,147,498,294\" href=\"mailto:?body=w_5_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"514,144,567,294\" href=\"mailto:?body=r_6_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"582,146,597,385\" href=\"mailto:?body=w_7_2&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"0,309,36,479\" href=\"mailto:?body=w_1_3&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"51,308,119,386\" href=\"mailto:?body=w_2_3&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"133,307,374,385\" href=\"mailto:?body=r_3_3&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"390,307,499,385\" href=\"mailto:?body=w_4_3&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"514,309,569,384\" href=\"mailto:?body=y_5_3&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"51,399,118,481\" href=\"mailto:?body=b_2_4&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"132,400,375,479\" href=\"mailto:?body=y_3_4&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"390,400,568,481\" href=\"mailto:?body=w_4_4&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;area shape=\"rect\" coords=\"582,399,597,479\" href=\"mailto:?body=w_5_4&amp;subject=Mondrian%20Composition%20with%20Red%20Yellow%20and%20Blue\" \/&gt;<br \/>\n&lt;\/map&gt;<br \/>\n<\/code><\/p>\n<hr>\n<p id='gghtmlpt'>Previous relevant <a target=_blank title='Gimp Guides to HTML Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/gimp-guides-to-html-primer-tutorial\/'>Gimp Guides to HTML Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"https:\/\/www.youtube.com\/watch?v=uOILGAtY2W4\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Gimp Guides to HTML Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/gimp_guides.jpg\" title=\"Gimp Guides to HTML Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Gimp Guides to HTML Primer Tutorial<\/p><\/div>\n<p>The great <a target=_blank title='GIMP' href='http:\/\/gimp.org'>GIMP<\/a> image editor has several ways to create <a target=_blank title='GIMP Guides information' href='https:\/\/docs.gimp.org\/2.6\/en\/gimp-concepts-image-guides.html'>Guides<\/a>, which are the precursor to being able to break an image into component parts via &#8220;Image -&gt; Transform -&gt; Guillotine&#8221; or the more enticing, for those web developers out there, &#8220;Filter -&gt; Web -&gt; Slice&#8221; which effectively does what Guillotine does and writes out some HTML in the form of an HTML table element that includes some &#8220;a&#8221; link opportunities to do something special for individual images of the new &#8220;image jigsaw&#8221; surrounded by Guides.  Within the options of that last menu you would also see an &#8220;Image Map&#8221; option helping out in a similar fashion to the stupendous <a target=_blank title='mobilefish' href='http:\/\/www.mobilefish.com\/services\/image_map\/image_map.php'>mobilefish<\/a> functionality.<\/p>\n<p>With this in mind, we almost immediately thought of the great <a target=_blank title='Piet Mondrian' href='https:\/\/en.wikipedia.org\/wiki\/Piet_Mondrian'>Piet Mondrian<\/a> and his rectangle paintings in primary colours, wondering if by now you could get image downloads of his work, given he died some time ago now.  And yes, there at this Pixabay <a target=_blank title='Pixabay Mondrian image link, thanks' href='https:\/\/pixabay.com\/en\/mondrian-red-blue-yellow-1504681\/'>webpage<\/a>, thanks, we were able to do that and download an image version of &#8220;Composition with Red Yellow and Blue&#8221; to open with GIMP.<\/p>\n<p>Which ways, then, in GIMP, can you create Guides?<\/p>\n<ul>\n<li>precise Horizontal or Vertical position specification in pixels (via Image -&gt; Guides -&gt; New Guide&#8230;) or percentage (via Image -&gt; Guides -&gt; New Guide (by Percent)&#8230;) values<\/li>\n<li>position via a Selection (via Image -&gt; Guides -&gt; New Guides from Selection) &#8230; and today&#8217;s method of choice &#8230;<\/li>\n<li>user long hover then drag of the rulers at the top and left for dynamic Horizontal and Vertical Guides respectively<\/li>\n<\/ul>\n<p>Best for this is that you can see us doing this with YouTube video we made for the purpose on our MacBook Pro using <a target=_blank title='QuickTime information from Apple' href='https:\/\/support.apple.com\/downloads\/quicktime'>QuickTime Player<\/a> &#8220;File -&gt; New Screen Recording&#8221; resultant presentation you can play below.<\/p>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/uOILGAtY2W4\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p> &#8230; and the resultant HTML code snippet, including <em>our bits<\/em>, produced looked like &#8230;<\/p>\n<p><code><br \/>\n&lt;!--HTML SNIPPET GENERATED BY GIMP<br \/>\n&nbsp;<br \/>\nWARNING!! This is NOT a fully valid HTML document, it is rather a piece of<br \/>\nHTML generated by GIMP's py-slice plugin that should be embedded in an HTML<br \/>\nor XHTML document to be valid.<br \/>\n&nbsp;<br \/>\nReplace the href targets in the anchor (&lt;a &gt;) for your URLS to have it working<br \/>\nas a menu.<br \/>\n<em>&nbsp;<br \/>\n&nbsp;<br \/>\n     Thanks for viewing.<\/em><br \/>\n --&gt;<br \/>\n&lt;table cellpadding=\"0\" border=\"0\" cellspacing=\"0\"&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_0.jpg\" style=\"width: 51px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_1.jpg\" style=\"width: 70px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_2.jpg\" style=\"width: 11px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_3.jpg\" style=\"width: 164px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_4.jpg\" style=\"width: 95px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_5.jpg\" style=\"width: 110px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_0_6.jpg\" style=\"width: 139px;  height: 4px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_1_0.jpg\" style=\"width: 51px;  height: 128px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_1_1.jpg\"  style=\"width: 70px; height: 128px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_1_2.jpg\"  style=\"width: 11px; height: 128px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a<em> title='blue' onclick=\"alert('Am I blue?');\"<\/em> href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_1_3.jpg\"  style=\"width: 164px; height: 128px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_1_4.jpg\"  style=\"width: 95px; height: 128px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_1_5.jpg\"  style=\"width: 110px; height: 128px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_1_6.jpg\" style=\"width: 139px;  height: 128px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_2_0.jpg\" style=\"width: 51px;  height: 14px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_2_1.jpg\"  style=\"width: 70px; height: 14px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_2_2.jpg\"  style=\"width: 11px; height: 14px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_2_3.jpg\"  style=\"width: 164px; height: 14px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_2_4.jpg\"  style=\"width: 95px; height: 14px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_2_5.jpg\"  style=\"width: 110px; height: 14px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_2_6.jpg\" style=\"width: 139px;  height: 14px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_3_0.jpg\" style=\"width: 51px;  height: 147px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_3_1.jpg\"  style=\"width: 70px; height: 147px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_3_2.jpg\"  style=\"width: 11px; height: 147px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_3_3.jpg\"  style=\"width: 164px; height: 147px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_3_4.jpg\"  style=\"width: 95px; height: 147px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a<em> title='Blue' onclick=\"alert('Am i Blue?');\"<\/em> href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_3_5.jpg\"  style=\"width: 110px; height: 147px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_3_6.jpg\" style=\"width: 139px;  height: 147px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_4_0.jpg\" style=\"width: 51px;  height: 107px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_4_1.jpg\"  style=\"width: 70px; height: 107px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_4_2.jpg\"  style=\"width: 11px; height: 107px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_4_3.jpg\"  style=\"width: 164px; height: 107px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_4_4.jpg\"  style=\"width: 95px; height: 107px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_4_5.jpg\"  style=\"width: 110px; height: 107px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_4_6.jpg\" style=\"width: 139px;  height: 107px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_5_0.jpg\" style=\"width: 51px;  height: 78px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a<em> title='BLUE' onclick=\"alert('Am i BLUE?');\"<\/em> href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_5_1.jpg\"  style=\"width: 70px; height: 78px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_5_2.jpg\"  style=\"width: 11px; height: 78px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_5_3.jpg\"  style=\"width: 164px; height: 78px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_5_4.jpg\"  style=\"width: 95px; height: 78px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;a href=\"#\"&gt;&lt;img alt=\" \" src=\"blue_5_5.jpg\"  style=\"width: 110px; height: 78px; border-width: 0px;\"&gt;&lt;\/a&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_5_6.jpg\" style=\"width: 139px;  height: 78px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n  &lt;tr&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_0.jpg\" style=\"width: 51px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_1.jpg\" style=\"width: 70px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_2.jpg\" style=\"width: 11px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_3.jpg\" style=\"width: 164px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_4.jpg\" style=\"width: 95px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_5.jpg\" style=\"width: 110px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n    &lt;td&gt;&lt;img alt=\" \" src=\"blue_6_6.jpg\" style=\"width: 139px;  height: 2px; border-width: 0px;\"&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;\/table&gt;<br \/>\n<\/code><\/p>\n<p>We hope you find these GIMP &#8220;Slice and Dice&#8221; webpage creation ideas of interest.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d40368' onclick='var dv=document.getElementById(\"d40368\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/gimp\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d40368' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d40385' onclick='var dv=document.getElementById(\"d40385\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/map\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d40385' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d40407' onclick='var dv=document.getElementById(\"d40407\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/command-line\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d40407' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d40440' onclick='var dv=document.getElementById(\"d40440\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/overlay\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d40440' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d40451' onclick='var dv=document.getElementById(\"d40451\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/canvas\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d40451' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The second of the non-primer tutorial themes to improve and build on yesterday&#8217;s Gimp Guillotine Follow Up Div Margin Tutorial &#8230; HTML div element housing HTML img elements (no position: absolute like we like so much for overlay work) using &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/gimp-guillotine-follow-up-canvas-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[184,234,319,342,1822,2671,491,2663,2670,576,590,744,2673,876,894,1991,1116,2664,1319,1407,1418,1583],"class_list":["post-40451","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-canvas","tag-command-line","tag-desktop","tag-div","tag-editor","tag-file-specification","tag-gimp","tag-guides","tag-guillotine","tag-html","tag-image","tag-mamp","tag-margin","tag-opacity","tag-overlay","tag-responsive-design","tag-selection","tag-slice","tag-tutorial","tag-web-design","tag-webpage","tag-window"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/40451"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=40451"}],"version-history":[{"count":4,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/40451\/revisions"}],"predecessor-version":[{"id":40455,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/40451\/revisions\/40455"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=40451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=40451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=40451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}