Joining shapes

when joining together two different shapes, such as the ones in the picture:
1. Do the anchor points have to touch at their ends? Can there be any overlap of the anchor point or paths? I tried both ways and it seemed to join. Though I just want to be sure.
2. I had a half a circle and copied it and flipped it around, though I am not able to line up the ends????
Thanks for any help.

Stan,
In addition to what MBM said:
Concerning 1):
You may join any open endpoints in any version; you may DirectSelect (only) them and Ctrl/Cmd+J.
Non coincident end points will be joined by a straight segment regardless of handles, at least in earlier versions. If you want to apply the handles to the joining segment, from CS on you may use the JET_JoinNearest script that James has made available here:
http://www.illustrationetc.com/AI_Javascripts/PathScripts.htm
That script and the corresponding JET_JoinNearestStraight script apply to joining of multiple paths as well.
If the paths overlap, beyond having coinciding endpoints, you will get a funny reversed segment.
Concerning 2):
Align>Vertical Align Top (or similar for other cases) is your friend; Align is (still, I believe) bundled with Transform and Pathfinder.

Similar Messages

  • Newbie says: problem joining shapes, gradient question

    I'm new to Illustrator, and am trying to make a logo.  I created the logo using lines and circles.  I've been able to join all the segments for the various letters without much problem (by grouping then joining), but trying to make my "k" isn't going so well.  When I try to join the shapes, a line forms under the "k", and I can't figure out why.  Here's a comparison picture (other letters are touching on either side of the "k" intentionally):
    Once I get this figured out, my objective is to use a gradient fill across the entire logo.  The tutorial I'm using says to use Path > Outline Stroke.  I can get gradients to work fine for each individual letter, but how do I get the gradient to work (smoothly) across the entire logo?
    Thanks!

    Xax,
    Once I get this figured out, my objective is to use a gradient fill across the entire logo.  The tutorial I'm using says to use Path > Outline Stroke.  I can get gradients to work fine for each individual letter, but how do I get the gradient to work (smoothly) across the entire logo?
    You may select everything, Object>Compound Path Make, and then apply the gradient.
    It seems that you have joined the lower parts of the k, and I believe you can just use the Scissors Tool on both the lower corners and delete the horizontal path in between: it looks like Miter Joins, not Butt Caps meeting, as it would be if there were a separate independent horizontal path at the bottom.

  • Merge pathfinder working differently now?

    It appears that the Merge function of the pathfinder is acting incorrectly. This may be a bug from a recent update, I don't know. But I am trying to use Merge to join shapes together, and it is acting like Divide or Trim. The shapes are not combining, but rather splitting up into sections based on the paths of the shapes below. That is not how Merge worked the last time I used it. See my example below. That is after I hit Merge--and you can still see the underlying paths.
    Am I mistaken here, or has the Merge function changed somehow? I'm curious to know if it's the program or me that's the crazy one. Thanks!

    I applied it from the Pathfinder Window. It's how I've always done it.
    Another thing to add to this is that in my sample provided above, the bottom shapes still remain layered below the top shapes. That big green box has slices that remain under the red and blue boxes. Merge didn't used to do that.
    Thanks

  • How do I  join text to shapes in pages?

    how do I join text to shapes in Pages?

    Just click inside the Shape and either type or paste.
    or
    select a Textbox and Shape by clicking on each with the command key held down > Menu > Arrange > Group
    Peter

  • How do I join together arcs and lines in a single Shape???

    I am out of my depth, I am probably missing something spectacular .... I need to construct a shape from arcs and lines to get something like this, only closed:
    Like a winding river sort of thing... I do not need to draw this I need to have this shape and its area available to me.... How do I join these two arcs and two lines into a shape from which I can find - area.contains(xy.getX(), xy.getY()); , preatty please?
    here is the code that causes numerous errors:
    import java.awt.*;
    import java.awt.Graphics.*;
    import java.awt.Graphics2D.*;
    import java.awt.geom.RectangularShape.*;
    import java.awt.geom.Arc2D;
    import java.awt.geom.Line2D;
    import java.awt.geom.Rectangle2D;
    import java.awt.geom.Area;
    import java.awt.geom.GeneralPath;
    class MyShapes //extends Arc2D
    public static Arc2D outerOne;
    public static Arc2D innerOne;
    public static Line2D upLine, bottomLine;
    public static Area area = new Area();
    public MyShapes(double[] upper, double [] lower)
    outerOne.setArc(upper[0], upper[1], upper[2], upper[3], upper[4], upper[5], (int)upper[6]);
    //                         x,          y,               w,          h,               OA,      AA, int OPEN =1
    innerOne.setArc(lower[0], lower[1], lower[2], lower[3], lower[4], lower[5], (int)lower[6]);
    //outerTR=this.makeClosedShape(outerTopRightArc,middleTopRightArc);
    upLine     = new Line2D.Double(outerOne.getX(),outerOne.getY(),innerOne.getX(),innerOne.getY());
    bottomLine = new Line2D.Double(outerOne.getX()+outerOne.getWidth(),outerOne.getY()+outerOne.getHeight(),innerOne.getX()+innerOne.getWidth(),innerOne.getY()+innerOne.getHeight());
    area = this.joinAll(outerOne,innerOne, upLine, bottomLine);     
    private Area joinAll(Arc2D out, Arc2D in, Line2D one, Line2D two)
    GeneralPath joiner = new GeneralPath(out);
    joiner.append(in, true);
    joiner.append(one, true);
    joiner.append(two, true);      
    Area temp = new Area(joiner);
    return temp;     
    public boolean isInArea(Point xy)
    return area.contains(xy.getX(), xy.getY());     
    public boolean isItClosed()
    return area.isSingular();     
    Thanks

    Glad to hear you find what was wrong. Still, it doesn't the main problem : why is that method crashing?
    Here is what I've done in the mean time. See if it fits your purpose.import javax.swing.*;
    import java.awt.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.geom.*;
    public class MyShapes {
         private Arc2D outerOne;
         private Arc2D innerOne;
         private Shape line1;
         private Shape line2;
         public MyShapes(double[] upper, double[] lower) {
              outerOne = new Arc2D.Double(upper[0],
                                                 upper[1],
                                                 upper[2],
                                                 upper[3],
                                                 upper[4],
                                                 upper[5],
                                                 0);
              innerOne = new Arc2D.Double(lower[0],
                                                 lower[1],
                                                 lower[2],
                                                 lower[3],
                                                 lower[4],
                                                 lower[5],
                                                 0);
              line1 = new Line2D.Double(outerOne.getStartPoint().getX(),
                                              outerOne.getStartPoint().getY(),
                                              innerOne.getStartPoint().getX(),
                                              innerOne.getStartPoint().getY());
              line2 = new Line2D.Double(outerOne.getEndPoint().getX(),
                                              outerOne.getEndPoint().getY(),
                                              innerOne.getEndPoint().getX(),
                                              innerOne.getEndPoint().getY());
         public void paint(Graphics2D aGraphics2D) {
              aGraphics2D.draw(outerOne);
              aGraphics2D.draw(innerOne);
              aGraphics2D.draw(line1);
              aGraphics2D.draw(line2);
         public static void main(String[] args) {
              double [] XO= {56, 58, 400, 280, 90, 90};// outter arc
              double [] XI={114, 105, 300, 200, 90, 90}; // inner arc
              final MyShapes myShapes = new MyShapes(XO, XI);
              JPanel panel = new JPanel() {
                   protected void paintComponent(Graphics g) {
                        super.paintComponent(g);
                        Graphics2D g2 = (Graphics2D)g;
                        myShapes.paint(g2);
              final JFrame frame = new JFrame("Test shape");
              frame.addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent e) {
                        System.exit(0);
              frame.setContentPane(panel);
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        frame.show();
    }

  • Why would Shape Builder not allow Selecting (for a join)?

    (As background . . . I ran through Terry White's excellent "10 things" for Illustrator video.  I even built the Yin-Yang symbol myself, from scratch, after watching his video.  So "I have" succeeded at least once in using Shape Builder.)
    But, when I attempt to do . . . pretty much anything of my own design . . . I get stuck within the first minute and just have to quit and walk away.  I appologize in advance if anything sounds bad . . . I'm FULLY MAXED OUT on both anger and frustration.  Its just inconsolably frustrating how easy it is to get into a "mode" that . . . won't let you go any further.
    Imagine drawing a cross.  (Like if you took real 4" x 4"'s and made a physical one, and then traced the outline around that.)
    I thought I'd draw one long vertical rectangle.
    Then draw an overlapping shorter horizontal rectangle.
    Then join the two together in Shape Builder so its one "bounded box" with no interior "crossing lines" in the central join.
    I drew the two rectangles.  Even got them centered vertically using the align button.
    I select the Shape Builder and . . . . am immediately hopelessly stuck in one of two modes that won't let me continue further.
    #1 (From a fresh "web" document) . . . I hover over the vertical beam (cross hatch appears, and the "+" appears because I'm in Shape Builder Add mode) and . . . cross hatch won't appear as I drag over the horizontal crossbeam.
    Or . . . click (and hold) on the crossbeam . . . same thing . . . cross hatch appears, the "+" is there and . . . as I drag to the vertical beam to join . . . it won't go to crosshatch.
    Or  . . .
    #2 (When I was originally trying to add this as part of a larger board) . . . I drew the same two rectangles, then upon choosing Shape Builder . . . I get an Arrow and a Circle with a Slash through it and am not allowed to select anything.
    And can't find any sign, in any panel, of any "mode" I'm in (or not in) that would account for why selection is blocked.
    I wasn't on the wrong layer (there is only one).
    I've tried it (#1) from a new fresh drawing, and (#2) from inside a larger drawing (where I actually need it).
    It takes less than 30 seconds from start to . . . . hopelessly blocked from proceeding.
    Why wouldn't Shape Builder allow two pieces to join?
    Why would Shape Builder show "not allowed to select"?
    Thanks,
    jkh

    See, I'm in Shape Builder . . . Cross Hatch appears.
    (Its probably too small on the image, but trust me . . . there is a "+" by the arrow.)
    It was so simple on the Yin-Yang Cirle to Teardrop join . . . this is an EVEN SIMPLER image and . . . I'm stuck at step 1.

  • How do I join two letters using the shape builder tool?

    I am making a sign for my logo. The 'i' in my script face is long and overlaps the following letter which the sign maker's router will not read. So I would like to be able to use the shape builder tool to join the 3 instances where the letter 'i' appears each to the following letter. No luck so far. I have turned the type into points. I have highlighted the first instance, 'i' and 'c'. but the shape builder tool shows a circle with a line through it... not working.
    Anyone have an idea?

    It may take a combination of some of the Pathfinder tools, such as: Intersect, Merge, and Unite.  And, it may be a matter of manually going in and deleting some anchor points in the outlines.  Do some experimenting on copies of the instances.  Might be a process of elimination.

  • How can I change  oval shape applet to (plot)

    Hi this is not my code so, the orignal code is freeware to www.neuralsemantics.com and is Copyright 1989 by Rich Gopstein and Harris Corporation.
    The site allows permission to play with the code or ammend it.
    how could I modify the applet to display (plot) several cycles of the audio signal instead of the elliptical shape. The amplitude and period of the waveform should change in accordance with the moving sliders
    Here is the code from www.neuralsemantics.com /applets/jazz.html
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class JazzMachine extends Applet
                 implements Runnable, AdjustmentListener, MouseListener {
      // program name
      final static String TITLE = "The jazz machine";
      // Line separator char
      final static String LSEP = System.getProperty("line.separator");
      // Value range
      final static int MIN_FREQ = 1;   // min value for barFreq
      final static int MAX_FREQ = 200; // max value for barFreq
      final static int MIN_AMPL = 0;   // min value for barVolume
      final static int MAX_AMPL = 100; // max value for barVolume
      // Sun's mu-law audio rate = 8KHz
      private double rate = 8000d;      
      private boolean audioOn = false;     // state of audio switch (on/off)
      private boolean changed = true;      // change flag
      private int freqValue = 1;           // def value of frequency scrollbar
      private int amplValue = 70;          // def value of volume scrollbar
      private int amplMultiplier = 100;    // volume multiplier coeff
      private int frequency, amplitude;    // the requested values
      private int soundFrequency;          // the actual output frequency
      // the mu-law encoded sound samples
      private byte[] mu;
      // the audio stream
      private java.io.InputStream soundStream;
      // graphic components
      private Scrollbar barVolume, barFreq;
      private Label labelValueFreq;
      private Canvas canvas;   
      // flag for frequency value display
      private boolean showFreq = true;
      // width and height of canvas area
      private int cw, ch;
      // offscreen Image and Graphics objects
      private Image img;
      private Graphics graph;
      // dimensions of the graphic ball
      private int ovalX, ovalY, ovalW, ovalH;
      // color of the graphic ball
      private Color ovalColor;
      // default font size
      private int fontSize = 12;
      // hyperlink objects
      private Panel linkPanel;
      private Label labelNS;
      private Color inactiveLinkColor = Color.yellow;
      private Color activeLinkColor = Color.white;
      private Font inactiveLinkFont = new Font("Dialog", Font.PLAIN, fontSize);
      private Font activeLinkFont = new Font("Dialog", Font.ITALIC, fontSize);
      // standard font for the labels
      private Font ctrlFont;
      // standard foreground color for the labels
      private Color fgColor = Color.white;
      // standard background color for the control area
      private Color ctrlColor = Color.darkGray;
      // standard background color for the graphic ball area
      private Color bgColor = Color.black;
      // start value for the time counter
      private long startTime;
      // maximum life time for an unchanged sound (10 seconds)
      private long fixedTime = 10000;
      // animation thread
      Thread runner;
    //                             Constructors
      public JazzMachine() {
    //                                Methods
      public void init() {
        // read applet <PARAM> tags
        setAppletParams();
        // font for the labels
        ctrlFont = new Font("Dialog", Font.PLAIN, fontSize);
        // convert scrollbar values to real values (see below for details)
        amplitude = (MAX_AMPL - amplValue) * amplMultiplier;
        frequency = (int)Math.pow(1.2d, (double)(freqValue + 250) / 10.0);
        setLayout(new BorderLayout());
        setBackground(ctrlColor);
        setForeground(fgColor);
        Label labelVolume = new Label(" Volume ");
        labelVolume.setForeground(fgColor);
        labelVolume.setAlignment(Label.CENTER);
        labelVolume.setFont(ctrlFont);
        barVolume = new Scrollbar(Scrollbar.VERTICAL, amplValue, 1,
                         MIN_AMPL, MAX_AMPL + 1);
        barVolume.addAdjustmentListener(this);
        // assign fixed size to the scrollbar
        Panel pVolume = new Panel();
        pVolume.setLayout(null);
        pVolume.add(barVolume);
        barVolume.setSize(16, 90);
        pVolume.setSize(16, 90);
        Label labelFreq = new Label("Frequency");
        labelFreq.setForeground(fgColor);
        labelFreq.setAlignment(Label.RIGHT);
        labelFreq.setFont(ctrlFont);
        barFreq = new Scrollbar(Scrollbar.HORIZONTAL, freqValue, 1,
                      MIN_FREQ, MAX_FREQ);
        barFreq.addAdjustmentListener(this);
        // assign fixed size to the scrollbar
        Panel pFreq = new Panel();
        pFreq.setLayout(null);
        pFreq.add(barFreq);
        barFreq.setSize(140, 18);
        pFreq.setSize(140, 18);
        // show initial frequency value
        labelValueFreq = new Label();
        if (showFreq) {
          labelValueFreq.setText("0000000 Hz");
          labelValueFreq.setForeground(fgColor);
          labelValueFreq.setAlignment(Label.LEFT);
          labelValueFreq.setFont(ctrlFont);
        Panel east = new Panel();
        east.setLayout(new BorderLayout(10, 10));
        east.add("North", labelVolume);
        Panel pEast = new Panel();
        pEast.add(pVolume);
        east.add("Center", pEast);
        Panel south = new Panel();
        Panel pSouth = new Panel();
        pSouth.setLayout(new FlowLayout(FlowLayout.CENTER));
        pSouth.add(labelFreq);
        pSouth.add(pFreq);
        pSouth.add(labelValueFreq);
        south.add("South", pSouth);
        linkPanel = new Panel();
        this.composeLink();
        Panel west = new Panel();
        // dummy label to enlarge the panel
        west.add(new Label("      "));
        add("North", linkPanel);
        add("South", south);
        add("East", east);
        add("West", west);
        add("Center", canvas = new Canvas());
      private void composeLink() {
        linkPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 5));
        linkPanel.setFont(inactiveLinkFont);
        linkPanel.setForeground(Color.yellow);
        Label labelName = new Label(TITLE + " \u00a9");
          labelName.setForeground(inactiveLinkColor);
          labelName.setAlignment(Label.RIGHT);
        labelNS = new Label(" Neural Semantics   ");
          labelNS.setForeground(inactiveLinkColor);
          labelNS.setFont(inactiveLinkFont);
          labelNS.setAlignment(Label.LEFT);
        linkPanel.add(labelName);
        linkPanel.add(labelNS);
        // link to Neural Semantics website
        String h = getDocumentBase().getHost();
        if ((h.length() > 4) && (h.substring(0, 4).equals("www.")))
          h = h.substring(4);
        if ((h != null) && (! h.startsWith("neuralsemantics.com"))) {
          // create a hand cursor for the hyperlink area
          Cursor linkCursor = new Cursor(Cursor.HAND_CURSOR);
          linkPanel.setCursor(linkCursor);
          labelName.addMouseListener(this);
          labelNS.addMouseListener(this);
      private void switchAudio(boolean b) {
        // switch audio to ON if b=true and audio is OFF
        if ((b) && (! audioOn)) {
          try {
            sun.audio.AudioPlayer.player.start(soundStream);
          catch(Exception e) { }
          audioOn = true;
        // switch audio to OFF if b=false and audio is ON
        if ((! b) && (audioOn)) {
          try {
            sun.audio.AudioPlayer.player.stop(soundStream);
          catch(Exception e) { }
          audioOn = false;
      private void getChanges() {
        // create new sound wave
        mu = getWave(frequency, amplitude);
        // show new frequency value
        if (showFreq)
          labelValueFreq.setText((new Integer(soundFrequency)).toString() + " Hz");
        // shut up !
        switchAudio(false);
        // switch audio stream to new sound sample
        try {
          soundStream = new sun.audio.ContinuousAudioDataStream(new
                            sun.audio.AudioData(mu));
        catch(Exception e) { }
        // listen
        switchAudio(true);
        // Adapt animation settings
        double prop = (double)freqValue / (double)MAX_FREQ;
        ovalW = (int)(prop * cw);
        ovalH = (int)(prop * ch);
        ovalX = (int)((cw - ovalW) / 2);
        ovalY = (int)((ch - ovalH) / 2);
        int r = (int)(255 * prop);
        int b = (int)(255 * (1.0 - prop));
        int g = (int)(511 * (.5d - Math.abs(.5d - prop)));
        ovalColor = new Color(r, g, b);
        // start the timer
        startTime = System.currentTimeMillis();
        // things are fixed
        changed = false;
    //                               Thread
      public void start() {
        // create thread
        if (runner == null) {
          runner = new Thread(this);
          runner.start();
      public void run() {
        // infinite loop
        while (true) {
          // Volume or Frequency has changed ?
          if (changed)
            this.getChanges();
          // a touch of hallucination
          repaint();
          // let the children sleep. Shut up if inactive during more
          // than the fixed time.
          if (System.currentTimeMillis() - startTime > fixedTime)
            switchAudio(false);
          // let the computer breath
          try { Thread.sleep(100); }
          catch (InterruptedException e) { }
      public void stop() {
        this.cleanup();
      public void destroy() {
        this.cleanup();
      private synchronized void cleanup() {
        // shut up !
        switchAudio(false);
        // kill the runner thread
        if (runner != null) {
          try {
            runner.stop();
            runner.join();
            runner = null;
          catch(Exception e) { }
    //                     AdjustmentListener Interface
      public void adjustmentValueChanged(AdjustmentEvent e) {
        Object source = e.getSource();
        // Volume range : 0 - 10000
        // ! Scrollbar value range is inverted.
        // ! 100 = multiplier coefficient.
        if (source == barVolume) {
          amplitude = (MAX_AMPL - barVolume.getValue()) * amplMultiplier;
          changed = true;
        // Frequency range : 97 - 3591 Hz
        // ! Scrollbar value range represents a logarithmic function.
        //   The purpose is to assign more room for low frequency values.
        else if (source == barFreq) {
          freqValue = barFreq.getValue();
          frequency = (int)Math.pow(1.2d, (double)(freqValue + 250) / 10.0);
          changed = true;
    //                     MouseListener Interface
      public void mouseClicked(MouseEvent e) {
      public void mouseEntered(MouseEvent e) {
        // text color rollover
        labelNS.setForeground(activeLinkColor);
        labelNS.setFont(activeLinkFont);
        showStatus("Visit Neural Semantics");
      public void mouseExited(MouseEvent e) {
        // text color rollover
        labelNS.setForeground(inactiveLinkColor);
        labelNS.setFont(inactiveLinkFont);
        showStatus("");
      public void mousePressed(MouseEvent e) {
        try {
          java.net.URL url = new java.net.URL("http://www.neuralsemantics.com/");
          AppletContext ac = getAppletContext();
          if (ac != null)
            ac.showDocument(url);
        catch(Exception ex){ }
      public void mouseReleased(MouseEvent e) {
    //                              Painting
      public void update(Graphics g) {
        Graphics canvasGraph = canvas.getGraphics();
        if (img == null) {
          // get canvas dimensions
          cw = canvas.getSize().width;
          ch = canvas.getSize().height;
          // initialize offscreen image
          img = createImage(cw, ch);
          graph = img.getGraphics();
        // offscreen painting
        graph.setColor(bgColor);
        graph.fillRect(0, 0, cw, ch);
        graph.setColor(ovalColor);
        graph.fillOval(ovalX, ovalY, ovalW, ovalH);
        // canvas painting
        if (canvasGraph != null) {
          canvasGraph.drawImage(img, 0, 0, canvas);
          canvasGraph.dispose();
    //                          Sound processing
      // Creates a sound wave from scratch, using predefined frequency
      // and amplitude.
      private byte[] getWave(int freq, int ampl) {
        int lin;
        // calculate the number of samples in one sinewave period
        // !! change this to multiple periods if you need more precision !!
        int nSample = (int)(rate / freq);
        // calculate output wave frequency
        soundFrequency = (int)(rate / nSample);
        // create array of samples
        byte[] wave = new byte[nSample];
        // pre-calculate time interval & constant stuff
        double timebase = 2.0 * Math.PI * freq / rate;
        // Calculate samples for a single period of the sinewave.
        // Using a single period is no big precision, but enough
        // for this applet anyway !
        for (int i=0; i<nSample; i++) {
          // calculate PCM sample value
          lin = (int)(Math.sin(timebase * i) * ampl);
          // convert it to mu-law
          wave[i] = linToMu(lin);
        return wave;
      private static byte linToMu(int lin) {
        int mask;
        if (lin < 0) {
          lin = -lin;
          mask = 0x7F;
        else  {
          mask = 0xFF;
        if (lin < 32)
          lin = 0xF0 | 15 - (lin / 2);
        else if (lin < 96)
          lin = 0xE0 | 15 - (lin-32) / 4;
        else if (lin < 224)
          lin = 0xD0 | 15 - (lin-96) / 8;
        else if (lin < 480)
          lin = 0xC0 | 15 - (lin-224) / 16;
        else if (lin < 992)
          lin = 0xB0 | 15 - (lin-480) / 32;
        else if (lin < 2016)
          lin = 0xA0 | 15 - (lin-992) / 64;
        else if (lin < 4064)
          lin = 0x90 | 15 - (lin-2016) / 128;
        else if (lin < 8160)
          lin = 0x80 | 15 - (lin-4064) / 256;
        else
          lin = 0x80;
        return (byte)(mask & lin);
    //                             Applet info
      public String getAppletInfo() {
        String s = "The jazz machine" + LSEP + LSEP +
                   "A music synthetizer applet" + LSEP +
                   "Copyright (c) Neural Semantics, 2000-2002" + LSEP + LSEP +
                   "Home page : http://www.neuralsemantics.com/";
        return s;
      private void setAppletParams() {
        // read the HTML showfreq parameter
        String param = getParameter("showfreq");
        if (param != null)
          if (param.toUpperCase().equals("OFF"))
            showFreq = false;
        // read the HTML backcolor parameter
        bgColor = changeColor(bgColor, getParameter("backcolor"));
        // read the HTML controlcolor parameter
        ctrlColor = changeColor(ctrlColor, getParameter("controlcolor"));
        // read the HTML textcolor parameter
        fgColor = changeColor(fgColor, getParameter("textcolor"));
        // read the HTML fontsize parameter
        param = getParameter("fontsize");
        if (param != null) {
          try {
            fontSize = Integer.valueOf(param).intValue();
          catch (NumberFormatException e) { }
      private Color changeColor(Color c, String s) {
        if (s != null) {
          try {
            if (s.charAt(0) == '#')
              c = new Color(Integer.valueOf(s.substring(1), 16).intValue());
            else
              c = new Color(Integer.valueOf(s).intValue());
          catch (NumberFormatException e) { e.printStackTrace(); }
        return c;
    }thanks LIZ
    PS If you can help how do I Give the Duke dollers to you

    http://www.google.ca/search?q=java+oval+shape+to+plot&hl=en&lr=&ie=UTF-8&oe=UTF-8&start=10&sa=N
    Ask the guy who made it for more help

  • Combining Line Segments into a single shape

    I drew one half of a shape by drawing multiple line segments using the arc tool. Think of the shape as sort of a C. Once I had the shape the way I wanted it, I copied and reflected it to give me the other half, so now it looks sort of like an O. However, when I go to fill the shape, I get all sort of weird fills, like it is trying to close each of the individual arcs that I drew.
    I have spent over an hour going through Illustrators help and searching the internet, but I can't figure out how to join all these line segments into a single shape that I can then apply a fill to. I'm sure this is easy, but I'm frustrated.
    Thanks,
    Ken

    Thanks Kurt. That did it. My gosh, I would never have thought of looking for something like that. I upgrade to CS3 sometime ago, but hadn't used illustrator much since I upgraded.
    Thanks for the help.
    Ken

  • Need help with adding shadows to a shape (gradient mesh?...blur tool?)

    Hello. I'm an Illustrator novice, as you will be able to tell from my question. I'm somewhat familiar with the gradient mesh tool as well as the raster effects that Illustrator CS3 offers, but I can't figure out how to use them to do what I have to do.
    Here's my situation. I'm creating a logo design. It is a musical note with a flame coming off of it. I want to add the appearance of the shape having shadows (yellow for the light areas, and red for the shadowed areas).
    I can't get the gradient mesh tool to work because I'm assuming the shape is too complex. I understand that I could probably just create a bunch of different gradient mesh areas and just try to mesh them together, but is this necessary? ...and is chopping my shape into mulitple sections really the best method ? (it sure doesn't seem like the logical solution).
    Then I tried using Illustrators blur effects. I'm concerned to even use them for a logo design, because the "blur" effect is raster, and with a logo; it's probably not wise to use anything raster, correct? Anyway...i can't get it to work. I created a shape using the pen tool to replicate the shape of the shadow. When i blur it, the blur is visable outside the original logo shape. I don't know how to make it stop at the path edge. Does anyone know how?
    If anyone can please help me here, I would be more than grateful. I realize these questions probably stupid ones, but I just can't seem to figure out how to do this, despite reading tutorials and watching numerous youtube videos on the gradient mesh tool; I can't seem to figure out how to adapt it to my situation.
    Here is the image I created in Photoshop. I am trying to duplicate it in Illustrator CS3.
    [URL=http://img515.imageshack.us/my.php?image=surefiremusicnote.jpg][IMG]http://img515.ima geshack.us/img515/9348/surefiremusicnote.jpg[/IMG][/URL]

    Thanks Steve and Jet. I've spent the lasts 2 hours calling around to different print shops in hope that I can maybe trade labor for insight into their printing process. Problem is there seems to be a lack of 4 color offset printing companies who also offer spot colors. I really wish I had the money to take a class, but when I do, I will. I just contacted a few freelance designers who seem to have a lot of print work in their portfolios. Maybe they can teach me a thing or two, and in return I can drop them a few bucks or help them with something.
    Jet, you've got me very concerned here. What do you mean by "It's not just a matter of selecting colors; it's also a matter of selecting the number of inks necessary to render them in the various reproduction methods in which the mark will be used"? Are you just stating the importance in using swatch books (Pantone)?
    You mention the importance of a design being rendered in different forms (apparel, signs, promotional items..). So how should I go about doing this? Lets say a client wants a "mark" printed on all of the things you stated. Is it my duty to find out what printer they will be using before I submit design files to them? Is it the job of the designer to contact the print shop and get their profiles for different prints (glossy paper prints, matte paper prints, t-shirt printing, vehicle graphic printing)? This is all very time consuming, so should there not be extra charges when dealing with setting up different print settings for particular print jobs?
    I've read the blogs of some successful logo designers. David Airey for example just submits his logo design to his client in eps form I believe (plus any requests). Should he be submitting a separate file for each intended use, or is this the job of the client and printer to work out?
    You've got me extremely worried that I am going to really deal someone a bad hand here. As far as I know, this hasn't happened yet; but I'm glad you have me concerned. The sad part is that I do have a 2 year degree in graphic design and I didn't learn one thing about printing and it's association with color. The little I have learned is from the internet. I've checked out Amazon(dot)com for a good book on learning about color and print, but there seems to be a lack of recently written books (with reviews) regarding the subject. Can you recommend any?
    I started doing freelance work because people would ask me to design a t-shirt for them, or a flyer for their small business. So I did. Now I have more people requesting my services. It's hard to turn down the money, especially in these times. But at the same time, I don't want to cause major headaches for anyone either. Until recently, I had no idea the complexity of the design to print process. Just 3 days ago, I purchased a monitor calibration device and my first set of Pantone guides. They should arrive shortly. I know, don't laugh.
    My lack of knowledge regarding this whole thing has really got me questioning what I am doing. I figured all i really needed to know in Illustrator was to use the pen tool, since my use of Illustrator has been strictly for shaping logos.
    There are just so many questions I have, and all can't be answered through a google search. I really don't like wasting your time with my ignorance, but I do appreciate your assistance. It takes some time for my little brain to absorb all of this, but I have been reading all I can from the endless tutorials and forum discussions available on the web. The problem I've found is that alongside the large amount of great info on the web, there is seemingly an equal amount of contradictory or partially inaccurate info as well. which only confuses me more. For example, most people say to design in cmyk for print (300dpi higher or vector). A rep from Pantone told me to create my designs using Pantones color swatch groups. Why would I want to start in Pantone? Don't all of their colors cost extra money (spot colors require a new printer plate and ink to be set up). Starting in cmyk seems like a more logical approach. Is he just trying to sell me Pantone?
    Sorry for my redundant question regarding the concern for non-single colored paths not being able to join. You obviously answered my question with your example.
    For your time, I would like to show my appreciation. If you wouldn't' mind leaving your paypal address, I can send ya a couple/few bucks. Books are great, but they can't answer all questions. Forums like this one are really very helpful and a great learning tool. I do realize I have to continue educating myself as much as possible. I'm not going to give up, that's for sure.
    So, do you work for Adobe, or are you a graphic designer? Do you have a website with tutorials or a book I can buy lol?
    It would be great to be able to see a walkthrough in the design process of a successful designer and the proper methods of designing for different forms of print.

  • Joining two paths: fill problems

    Hello,
    I am having the following problem: I have a path entailing a simple closed curve
    but when I try to fill the color won't extend to the whole area. To reproduce the
    problem:
    1. With the Ellipse Tool draw a circle.
    2. In the Paths panel click Add Points twice to add points to the circle.
    3. In the Paths panel click Knife On Points to yield individual segments.
    4. Here we create two paths by leaving out two nonadjacent segments.
      4a. Shift click four segments and then in the Path Panel click Join Paths to piece them together.
      4b. Shift click four other segments and then in the Path Panel tool click Join Paths to piece them together.
      4c. Delete the nonadjacent segments from the paths list under the given layer.
    5. Ctrl-Shift click two of the endpoints in one of the two segments and click Join Points in the Paths panel.
    6.Try to fill the area. The fill color won't extend.
    What am I doing wrong? Or is this a bug? How do I work around this problem?
    Thanks,
    John Goche
    Fireworks CS4 on Windows 7.

    Hi John,
    Thank you for your replies, I found them helpful, although I still think
    the options 1 and 2 come down to a bit of buggy code which hopefully
    will be fixed in the following releases unless someone can explain why
    it behaves that way, perhaps I am missing something about paths and fills.
    I wouldn't say there's anything buggy going on, but the way you are building a vector object is definitely not typical and reveals some awkward/confusing behavior. The important thing to understand is that:
    1. A fill is rendered from a contour, which is a series of connected points
    2. A standard "Path" has a single contour, for example an ellipse
    3. A "Compound Path" has multiple contours, and it renders each contour like a filled path, and adds/subtracts from the final result based on overlapping areas per a vector "fill rule" (which can be toggled in the Path panel) -- this is just like Illustrator and other vector environments
    4. Join Paths' behavior when points are not selected is to create a compound path from multiple existing paths -- ie if you have two paths, both with 1 contour, then you end up with a compound path with 2 contours -- NOT a path with a single merged/stitched together contour. (Conversely, Split Paths will separate each contour of a compound path into its own path.)
    5. Like Anita said, Union Paths will actually merge paths, though it's not so much looking at points and merging points as it's looking at fills and merging overlapping areas, creating/deleting points as needed
    So basically, you have to remember that if you want a continuous fill from multiple paths you are about to join, you have to make sure the points are actually connected in your final result. It's not enough to simply have 2 points that are close or even directly on each other then perform "Join Paths". Fortunately there are lots of ways to merge points to create a continous contour:
    1. Select 2 endpoints with the Subselect tool and this will tell Join Paths to merge them if they are on top of each other, or connect them -- in both cases you end up with a continous contour which will be filled
    2. Select an endpoint and drag it over another endpoint and release -- FW will snap them together and merge them
    3. Select 2 endpoints or multiple adjacent points and use Weld Points in the Path panel
    Applying all that to the situation of creating a symmetrical vector (which I do a fair amount myself), you could:
    1. Draw your first half
    2. Duplicate or clone and mirror
    3. Position the mirrored clone where you want it
    4. Select the endpoints you want connected and use Weld Points or Join Points
    You'll end up with a fully filled shape.
    That turned out pretty long-winded but hopefully it clears some things up!
    Cheers.
    Aaron Beall
    http://fireworks.abeall.com

  • Joining Line Segments in CS6

    I am drawing a simple diamond shape made with one rectanlge shape and multiple line segments.  As I drew the design, I made sure to connect all the segments at the anchors.  When I select all of the segments and try to join the paths, the end points or corners are not smooth.  In other words, some of the line segment ends hang over the edges...  What am I doing wrong?  Thanks!
    The image below shows the left side of the diamond, where the top portion meets the bottom...

    Thank you, DayForce.  Changing the corner type to "round join" did the trick!  May I ask another question?  When I select all the segments and join the paths, I get an additional line segment from one point to another.  How can I elminiate this?

  • Need to join paths together into a single path

    I have this image which is currently composed of separate paths.
    Is there a way using pathfinder, effects>pathfinder, livepaint or some other way to group all of these together so all I have is the outline of the entire object pictured below?  I'm working with programmers who need the actual paths merged into one big path (preferably dropping all of the stuff in the middle, though that's not absolutely necessary) - it's not good enough just to select all the individual paths, hit group, and name that layer; paths have to be joined.
    Looked like Illustrator could do this easily, but I haven't used the program that much and I'm probably missing something simple.
    Thanks for any help.

    I got it to work again in one case but not another.
    When it works, the Expand button stops being grayed out in the pathfinder section, and upon hitting expand, a compound path is generated which has the paths I need.
    EDIT --- ok, figured it out for real now.
    Need to select several paths which are not yet in a group (doesn't work if they are grouped to start with)
    Then Alt Click on the Unite function under Pathfinder Shape Mode
    Then Expand under Pathfinder - and you're left with the compound path comprised of all the original parts (which is what I needed)
    Thanks for the help.

  • How to create unique shapes in Illustrator CS4

    First off....
    I am new to the Adobe suite of applications and also new to owning a Macbook Pro. I have been using a design program for Windows for many years.
    I would like to master the creation and manipulation of shapes using Illustrator CS4.
    As one example, how would I create the following:
    I want to end up with a shape that is similar to one-quarter of a full moon.
    Using my Windows program (not an Adobe product), I would create a line using a line tool, and then I would be able to convert that line to a curve using a shape tool, which would enable me to drag from the midpoint of the line and have it become an arc. Then, while still using the shape tool, I could click once to select one of the endpoint nodes to then click on an "auto-close" option which would add a straight-line edge to close the shape for outline and fill purposes (so one side of the shape is straight at this point and the other side is curved). Using the shape tool, I would double-click near the midpoint of the straight edge to add a new node to the shape, and then I would use the "convert to curve" option from within the shape tool to be able to drag this straight side towards the curved side to end up with the quarter-moon shape as desired.
    How would I make this sort of shape using Illustrator, and as a general question for learning, how can I learn all about how to put lines in the design space for purposes of joining these lines, curving any part of one or more lines and then filling or outlining the finished shape made from joined lines?

    > and as a general question for learning, how can I learn all about how to put lines in the design space for purposes of joining these lines, curving any part of one or more lines and then filling or outlining the finished shape made from joined lines?
    Well, you can read the documentation. That will be much more thorough and methodical than asking a random series of "how do I..." questions in a user forum. And it will take you
    a lot less time.
    > Using my Windows program (not an Adobe product)
    You can say the name. If there's actually anyone here who doesn't know other drawing programs exist, well, they
    need to. Your description sounds like Xara Xtreme.
    > I want to end up with a shape that is similar to one-quarter of a full moon..create a line...convert that line to a curve...drag from the midpoint of the line and have it become an arc...select one of the endpoint nodes... "auto-close"...double-click near the midpoint of the straight edge to add a new node..."convert to curve"...drag...
    A similar procedure could be used in just about any vector drawing program that draws cubic Bezier curves. A much quicker procedure could also be used in just about any program, by leveraging the geometric shape tools and path combination commands that are just as ubiquitous:
    1. Draw a circle.
    2. Duplicate the circle.
    3. Overlap the circles partially.
    4. Use one circle to "punch" the other, leaving the difference (the crescent shape).
    Here are two AI-specific differences I note in your description:
    Illustrator can't bend a straght segment by dragging its middle if the straight segment has both its associated curve handles retracted. Dragging such a segment in AI just moves the segment (and its associated anchorPoints).
    Illustrator displays fills on open paths. There is no option to turn off that often unwanted behavior.
    Again, read the manual (the online Help files). It will take you decades to learn the program by asking random questions on the basic use of the tools, location of commands, organization (well, disorganization) scheme of the program, etc., etc.
    JET

  • How to contain a stock vector into an existing shape?

    Hello!
    I made a shape with a fill and I downloaded a stock vector that I would like to be contained within this shape. Basically where you see the flower of life I would like it to be inside the pink area, and nothing else of the flower of life showing
    I figured a clipping masks would essentially join them together but it doesn't give hte desire result that I want. Any help would be appreciated. I am but a novice.

    Thank you! I was getting the order of how i should set my layers before applying a clipping masked set up

Maybe you are looking for

  • Can't connect any BB10 device to my Mac

    After I installed the MacBook pro EFI Firmware Update 1.3, none of our devices (we have a few of them running on all released OS's) would connect to my Mac. I'm running the latest BB Link (1.1.1.39) and sometimes I see that the device connects and di

  • How to calculate percentage based on key figure maximum value

    Hello everybody! I need your expertise on a query 'issue' I'm facing. Let's say I have a query getting me the Number of Open Items per Week (starting from billing document's Issue Date). My client wants to be able to see the percentage per week and n

  • Population of a dropdown based on another dropdown selection

    Hi, I'm trying to develop a form in which a secondary dropdown is populated based on a selection from a primary dropdown. The idea behind this is as follows The first dropdown is bound to a database. From this dropdown a user would select a project.

  • How can I change my security questions, all of them not just one

    I'm trying to change my security questions but when i recieve the email with the code I can only change one question and when I try to get into my idapple account they ask me for two questions and I dont have both. What can I do.?

  • Most up to date version of Safari?  What is it?

    Dear friends, I would like to know which is the most recent and proven version of Safari for my Mac. I am not able to view certain pages especially form the BBC website which have video, audio or flash. Please advise. Thanks, John Putt