| page.title=Draw 9-patch | |
| page.tags=NinePatch | |
| @jd:body | |
| <p>The Draw 9-patch tool is a WYSIWYG editor that allows you to create bitmap images that | |
| automatically resize to accommodate the contents of the view and the size of the screen. Selected | |
| parts of the image are scaled horizontally or vertically based indicators drawn within the image. </p> | |
| <p>For an introduction to NinePatch graphics and how they work, please read | |
| the section about NinePatch Drawables in the | |
| <a href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">Canvas and Drawables</a> | |
| document.</p> | |
| <img src="{@docRoot}images/draw9patch-norm.png" style="float:right" alt="" height="300" width="341" | |
| /> | |
| <p>Here's a quick guide to create a NinePatch graphic using the Draw 9-patch tool. | |
| You'll need the PNG image with which you'd like to create a NinePatch image.</p> | |
| <ol> | |
| <li>From a terminal, run the <code>draw9patch</code> command from your SDK | |
| <code>sdk/tools</code> directory to launch the Draw 9-patch tool. | |
| </li> | |
| <li>Drag your PNG image into the Draw 9-patch window | |
| (or <strong>File</strong> > <strong>Open 9-patch...</strong> to locate the file). | |
| Your workspace will now open. | |
| <p>The left pane is your drawing area, in which you can edit the lines for the | |
| stretchable patches and content area. The right | |
| pane is the preview area, where you can preview your graphic when stretched.</p> | |
| </li> | |
| <li>Click within the 1-pixel perimeter to draw the lines that define the stretchable | |
| patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase | |
| previously drawn lines. | |
| </li> | |
| <li>When done, select <strong>File</strong> > <strong>Save 9-patch...</strong> | |
| <p>Your image will be saved with the <code>.9.png</code> file name.</p> | |
| </li> | |
| </ol> | |
| <p>To make sure that your NinePatch graphics scale down properly, verify that any | |
| stretchable regions are at least 2x2 pixels in size. | |
| Otherwise, they may disappear when scaled down. Also, provide one pixel of extra safe space in | |
| the graphics before and after stretchable regions to avoid interpolation during scaling that may | |
| cause the color at the boundaries to change. </p> | |
| <p class="note"><strong>Note:</strong> A normal PNG file (<code>*.png</code>) will be | |
| loaded with an empty one-pixel border added around the image, in which you can draw | |
| the stretchable patches and content area. | |
| A previously saved NinePatch file (<code>*.9.png</code>) will be loaded as-is, | |
| with no drawing area added, because it already exists.</p> | |
| <img src="{@docRoot}images/draw9patch-bad.png" style="float:right;clear:both" alt="" height="300" width="341" | |
| /> | |
| <p>Optional controls include:</p> | |
| <ul> | |
| <li><strong>Zoom</strong>: Adjust the zoom level of the graphic in the drawing area.</li> | |
| <li><strong>Patch scale</strong>: Adjust the scale of the images in the preview area.</li> | |
| <li><strong>Show lock</strong>: Visualize the non-drawable area of the graphic on mouse-over.</li> | |
| <li><strong>Show patches</strong>: Preview the stretchable patches in the drawing area (pink is a | |
| stretchable patch).</li> | |
| <li><strong>Show content</strong>: Highlight the content area in the preview images | |
| (purple is the area in which content is allowed).</li> | |
| <li><strong>Show bad patches</strong>: Adds a red border around patch areas that may | |
| produce artifacts in the graphic when stretched. Visual coherence of your stretched | |
| image will be maintained if you eliminate all bad patches.</li> | |
| <ul> |