<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Fun With SAS ODS Graphics: Built-From-Ellipses Easter Bunny in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Built-From-Ellipses-Easter-Bunny/m-p/552001#M18001</link>
    <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="peeps.gif" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28773i892B6D845BC8E9DC/image-size/large?v=v2&amp;amp;px=999" role="button" title="peeps.gif" alt="peeps.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Happy Easter, SAS Peeps!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;BUILT-FROM-ELLIPSES EASTER BUNNY - BEFORE FILL&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="peepstatic.gif" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28774i1821D01E1004E7E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="peepstatic.gif" alt="peepstatic.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SAS CODE&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun w/SAS ODS Graphics: Built-From-Ellipses Easter Bunnies;

%macro bunny();

ods _all_ close; * Animated GIF setup (pause for 2 secs on 1st frame);                       
options papersize=('5 in', '5 in') printerpath=gif animation=start nodate nonumber animduration=2 animloop=YES NOANIMOVERLAY;
ods printer file='/folders/myfolders/peeps.gif' ; * Animated GIF image filename;
ods graphics / height=5in width=5in imagefmt=gif antialias; 

%do f=1 %to 21; * Generate 21 "frames" (Easter Bunnies) for animated GIF; 

%let title=%substr(%str( HAPPY EASTER, PEEPS!),1,&amp;amp;f); * Title (one letter at a time);
%if &amp;amp;f=1 %then
  %let title=HAPPY EASTER, PEEPS!;; * Full title on first frame;
%let letter=%substr(%str( HAPPY EASTER, PEEPS!),&amp;amp;f,1); * New letter in title;

/* Lifewire: The Colors of Easter https://www.lifewire.com/the-colors-of-easter-4126619  
   Light Plum, Sky Blue, Turquoise, Lemon, Spring Green, Mint, Pale Pink, Light Salmon, Violet, Lilac, Robin's Egg Blue, Lavender */
%let color=CX%scan(%str(dda0dd,87ceeb,40e0D0,fff700,00ff7f,bdfcc9,ffc0cb,ffa07a,ee82ee,c8a2c8,00cccc,b573dc,dda0dd,87ceeb,40e0D0,fff700,00ff7f,bdfcc9,ffc0cb,ffa07a,00ff7f),&amp;amp;f,",");

data peeps; * Generate point for text plot to show each new letter in title;
x=220; y=640; label="&amp;amp;letter";

proc template; * Draw built=from-ellipses Easter Bunny (using points obtained via MS-Paintbrush grid);
define statgraph ellipseparm;
begingraph / opaque=true border=false backgroundcolor=WHITE; * Smoke white background;
  entrytitle "&amp;amp;title";
  layout overlayequated / opaque=true border=false backgroundcolor=WHITE wallcolor=WHITE WALLDISPLAY=(FILL)
    xaxisopts=(display=none offsetmin=0.05 offsetmax=0.05)
    yaxisopts=(display=none offsetmin=0.05 offsetmax=0.05 reverse=true); * y-values lower at top in Paintbrush, so reverse;
    ellipseparm xorigin=220 yorigin=640 semimajor=220 semiminor=220 slope=0 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Body (semimajor=semiminor=circle);
    ellipseparm xorigin=220 yorigin=397 semimajor=185 semiminor=120 slope=0 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Head;  
    ellipseparm xorigin=130 yorigin=148 semimajor=85 semiminor=210 slope=-.4 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Left Ear (use -slope to tilt left);  
    ellipseparm xorigin=310 yorigin=148 semimajor=85 semiminor=210 slope=.4 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Right Ear (use +slope to tilt right);  
    ellipseparm xorigin=220 yorigin=430 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Nose;  
    ellipseparm xorigin=155 yorigin=392 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Left Eye;  
    ellipseparm xorigin=285 yorigin=392 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Right Eye;
    textplot x=X y=y text=label / position=center strip=true
             textattrs=(color=white size=60pt weight=bold); * Display new letter of message;
   endlayout;
  endGraph;
 end;
run;
proc sgrender data=peeps template=ellipseparm;
run;
options animduration=.6;
%end;
options printerpath=gif animation=stop; * Animated GIF wrap-up;
ods printer close;
%mend;

%bunny; * Draw Bunnies!;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;GETTING ELLIPSE POINT COORDINATES WITH PAINT&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To get the rough coordinates of the points needed for the ellipses, I just cut-and-pasted a picture of a 'Peeps' cereal box into Microsoft Paintbrush and hovered over the pertinent points to display the coordinates in the status bar.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PeepPaint.jpg" style="width: 371px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28775iFF201AB66BE8A10A/image-size/large?v=v2&amp;amp;px=999" role="button" title="PeepPaint.jpg" alt="PeepPaint.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 18 Apr 2019 05:18:33 GMT</pubDate>
    <dc:creator>tc</dc:creator>
    <dc:date>2019-04-18T05:18:33Z</dc:date>
    <item>
      <title>Fun With SAS ODS Graphics: Built-From-Ellipses Easter Bunny</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Built-From-Ellipses-Easter-Bunny/m-p/552001#M18001</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="peeps.gif" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28773i892B6D845BC8E9DC/image-size/large?v=v2&amp;amp;px=999" role="button" title="peeps.gif" alt="peeps.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Happy Easter, SAS Peeps!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;BUILT-FROM-ELLIPSES EASTER BUNNY - BEFORE FILL&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="peepstatic.gif" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28774i1821D01E1004E7E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="peepstatic.gif" alt="peepstatic.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SAS CODE&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun w/SAS ODS Graphics: Built-From-Ellipses Easter Bunnies;

%macro bunny();

ods _all_ close; * Animated GIF setup (pause for 2 secs on 1st frame);                       
options papersize=('5 in', '5 in') printerpath=gif animation=start nodate nonumber animduration=2 animloop=YES NOANIMOVERLAY;
ods printer file='/folders/myfolders/peeps.gif' ; * Animated GIF image filename;
ods graphics / height=5in width=5in imagefmt=gif antialias; 

%do f=1 %to 21; * Generate 21 "frames" (Easter Bunnies) for animated GIF; 

%let title=%substr(%str( HAPPY EASTER, PEEPS!),1,&amp;amp;f); * Title (one letter at a time);
%if &amp;amp;f=1 %then
  %let title=HAPPY EASTER, PEEPS!;; * Full title on first frame;
%let letter=%substr(%str( HAPPY EASTER, PEEPS!),&amp;amp;f,1); * New letter in title;

/* Lifewire: The Colors of Easter https://www.lifewire.com/the-colors-of-easter-4126619  
   Light Plum, Sky Blue, Turquoise, Lemon, Spring Green, Mint, Pale Pink, Light Salmon, Violet, Lilac, Robin's Egg Blue, Lavender */
%let color=CX%scan(%str(dda0dd,87ceeb,40e0D0,fff700,00ff7f,bdfcc9,ffc0cb,ffa07a,ee82ee,c8a2c8,00cccc,b573dc,dda0dd,87ceeb,40e0D0,fff700,00ff7f,bdfcc9,ffc0cb,ffa07a,00ff7f),&amp;amp;f,",");

data peeps; * Generate point for text plot to show each new letter in title;
x=220; y=640; label="&amp;amp;letter";

proc template; * Draw built=from-ellipses Easter Bunny (using points obtained via MS-Paintbrush grid);
define statgraph ellipseparm;
begingraph / opaque=true border=false backgroundcolor=WHITE; * Smoke white background;
  entrytitle "&amp;amp;title";
  layout overlayequated / opaque=true border=false backgroundcolor=WHITE wallcolor=WHITE WALLDISPLAY=(FILL)
    xaxisopts=(display=none offsetmin=0.05 offsetmax=0.05)
    yaxisopts=(display=none offsetmin=0.05 offsetmax=0.05 reverse=true); * y-values lower at top in Paintbrush, so reverse;
    ellipseparm xorigin=220 yorigin=640 semimajor=220 semiminor=220 slope=0 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Body (semimajor=semiminor=circle);
    ellipseparm xorigin=220 yorigin=397 semimajor=185 semiminor=120 slope=0 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Head;  
    ellipseparm xorigin=130 yorigin=148 semimajor=85 semiminor=210 slope=-.4 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Left Ear (use -slope to tilt left);  
    ellipseparm xorigin=310 yorigin=148 semimajor=85 semiminor=210 slope=.4 /
                fillattrs=(color=&amp;amp;color.) display=(fill); * Right Ear (use +slope to tilt right);  
    ellipseparm xorigin=220 yorigin=430 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Nose;  
    ellipseparm xorigin=155 yorigin=392 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Left Eye;  
    ellipseparm xorigin=285 yorigin=392 semimajor=15 semiminor=15 slope=0 /
                fillattrs=(color=black) display=(fill); * Right Eye;
    textplot x=X y=y text=label / position=center strip=true
             textattrs=(color=white size=60pt weight=bold); * Display new letter of message;
   endlayout;
  endGraph;
 end;
run;
proc sgrender data=peeps template=ellipseparm;
run;
options animduration=.6;
%end;
options printerpath=gif animation=stop; * Animated GIF wrap-up;
ods printer close;
%mend;

%bunny; * Draw Bunnies!;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;GETTING ELLIPSE POINT COORDINATES WITH PAINT&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To get the rough coordinates of the points needed for the ellipses, I just cut-and-pasted a picture of a 'Peeps' cereal box into Microsoft Paintbrush and hovered over the pertinent points to display the coordinates in the status bar.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PeepPaint.jpg" style="width: 371px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/28775iFF201AB66BE8A10A/image-size/large?v=v2&amp;amp;px=999" role="button" title="PeepPaint.jpg" alt="PeepPaint.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2019 05:18:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Built-From-Ellipses-Easter-Bunny/m-p/552001#M18001</guid>
      <dc:creator>tc</dc:creator>
      <dc:date>2019-04-18T05:18:33Z</dc:date>
    </item>
    <item>
      <title>Re: Fun With SAS ODS Graphics: Built-From-Ellipses Easter Bunny</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Built-From-Ellipses-Easter-Bunny/m-p/552004#M18002</link>
      <description>&lt;P&gt;You are a dataviz whiz!!! I LOVE seeing your creativity and SAS skills with each Fun with SAS ODS Graphics post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have a lovely Easter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Michelle&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2019 05:50:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Built-From-Ellipses-Easter-Bunny/m-p/552004#M18002</guid>
      <dc:creator>MichelleHomes</dc:creator>
      <dc:date>2019-04-18T05:50:43Z</dc:date>
    </item>
  </channel>
</rss>

