Sizes in Freehand

When I make a design in Freehand I put some sizes in
milimeters (eg. 125,3mmx127,7mm) but when I print it, I mesure the
picture and the sizes are different (eg. 125mmx127.3mm), they are a
little smaller than the sizes I put.
What's wrong?

You have to allow for a bit of inaccuracy in the printing
process as
well as the dynamic range of the paper due to humidity, etc.
I would
say that a tolerance of 0.3 to 0.4 mm is rather tight and
acceptable for
most usages. You must be using quite an exotic measuring
device to see
tenths of a millimeter. My standard ruler only shows 0.5
markings.
Rich
djomm wrote:
> When I make a design in Freehand I put some sizes in
milimeters (eg.
> 125,3mmx127,7mm) but when I print it, I mesure the
picture and the sizes are
> different (eg. 125mmx127.3mm), they are a little smaller
than the sizes I put.
> What's wrong?
>
>

Similar Messages

  • How can I change the color and size of the freehand tool in Adobe Reader on the IPAD?

    How can I change the size and color of the freehand tool in Adobe Reader for IPAD?

    One more step I didn't mention. After making your freehand drawing, you need to click Save (upper right) to let Reader know you're finished drawing. Then click on it, and the contextual menu will look like this:

  • Your Favorite FreeHand Features You Would Like To See In Illustrator

    I am really curious to hear about the favorite features that Freehand users think would be important additions to Illustrator.
    I would also be interested in hearing why you think this feature is better than the way Illustrator handles the same task, unless you the feature just doesn't exist in Illustrator.

    Just found your question, Wade. Many thanks for asking since it is very encouraging to know that Adobe is aware of Freehand (FH) users' frustrations, beyond the usual learning curve challenge. Many CS3 Illustrator (AI) features are terrific and not available in FH, but the frustration of seeing FH's many intuitive options disappear from our desk top is difficult. I'd hardily amen the words of Ken Nielsen: ... 'incorporate EVERY feature possible from Freehand.' I am quickly improving my ability to exploit AI's advantages but still get frustrated that many of FH options are not available in AI. Here are a few and will try to add others later:
    PAGE SIZE TOOL: I cannot change the page size with FH's page tool. To get a page size to fit new art work I have to guess and run the risk of something not being open and not adjusting if I move my work. This is important to keep the white border from appearing in exports, although I have found that making a Clipping Path can solve this. Why not have the FH option, however, of diagonally dragging the corner of the page and fit it the size of the page to the art work?
    PEN TOOL DRAWING: The pen tool does not have an option that automatically makes beautifully curved lines (which always and exactly fit the complex map borders I draw), and simply by holding down Option in FH while clicking the pen tool (dragging out in AI is nice sometimes, but I had to buy a Big Wacom tablet to do what FH does naturally).
    OPEN/CLOSED PATH: I always knew in FH if my path was 'closed' or 'open.' I know fill does not depend upon this in AI but in my work to know this is very important.
    SWATCH BOX: In AI I have to remember the short cut or travel around my 30" screen to change between stroke and fill. In FH it was right in the color palette where it should be. As in the case of layers below, my choice of viewing swatches (small list) does not stick and I have to choose again every time I reopen AI. Have you thought of layers for swatches for those of us who have many?
    GRAPHIC STYLES: I thought AI had a 'Redefine' option in the Graphic Style but can't find it. Since AI does not allow the editing of a graphic style in the Style palette, I have to make a new style and toss the old one. FH has both of the possibilities (redefine and editing).
    PASTE INSIDE/CUT CONTENTS: Paste Inside, etc. was great in FH. I understand how it works in AI but to have the old FH option, and edit inside (hold down Option) were so easy.
    LAYERS: AI's great layer/sub layer/sub layer organization is especially exciting for me since my 300-400 layers in FH can be nicely 'compacted.' This has vast potential and already I cannot live without it. However, you should demonstrate how good it is to new users rather than simply imply 'you'll get used to it.' I have tons of docs with tons of layers (maps and charts).
    COMPRESS ALL SUBLAYERS NEEDED: I have my layers collapsed so that my palette is very easy to use, *but* when I close the doc and bring it up again they are all open again and I have to go through and close them. Make them 'stick' so they open the way we close them, and 2) put in a way to deal with sub layers so that we can make all of a certain set of sub layers visible/invisible or locked/unlocked without affecting other layers. Yes, I can drag my mouse down the list, but when I have 600 map city names in their individual sub layers that is a bit much.
    A BIT OF TROUBLESHOOTING: A graphic style fill would not change (disappear) although fill color was nothing. I even use 'Break Link to Graphic Style' and tried again. Something is wrong since the stroke changes color if I choose it manually or via a style, but the fill remains the same (one of my styles = 50% red) although I change it many all or via the Graphic Style palette. Thus it appears the the fill is stuck in one mode, or rather two since it will change color or change to gradient, but it will not disappear and always default to the 50% red. I tried quitting the program and bringing it up again, and also rebooting. No change. Finally, after long hours I tried putting the graphic on a new layer and it was okay. Thus, it appears that something can be 'caught' on a layer, in this case the fill color, or rather the fact that I could not get rid of the fill color, no matter what it was. I do have 310 layers in THE doc, most as sub layers under main layers.
    Must add that AI's Opacity, Layers, and other features are terrific. I finally have gotten over my reaction in the move from FH to AI, especially since CS3 version sped up the very slow CS2 version. Again, do everything you can to get all of FH features into AI. FH is a tremendous program which relatively few people knew of and exploited. If Adobe wants to create another real success story, follow Ken Nielsen's advice (as you are doing with your question, Wade.)

  • Fit the image to window width, window height and  the window size

    hi all
    here we wrote the code for "fit the image to window width, window height and the window size". we are facing some problems in it. and all these operations have to perform even after zooming operations are done.if the below code doesnt satisfy kindly provide appropriate code .
    thanks .
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import java.io.File;
    import javax.swing.filechooser.FileFilter;
    import java.awt.geom.*;
    public class DP extends JFrame implements ActionListener,
                                               MouseListener,
                                               MouseMotionListener {
        private final int PEN_OP = 1;
        private final int CLEAR_OP = 2;
        private int radius;
        private int radius1;
        private int mousex = 0;
        private int mousey = 0;
        private int prevx = 0;
        private int prevy = 0;
        private boolean initialFreeHand = true;
        private boolean initialLine = true;
        private boolean initialEraser = true;
        private int Orx = 0;
        private int Ory = 0;
        private int OrWidth = 0;
        private int OrHeight = 0;
        private int drawX = 0;
        private int drawY = 0;
        private int polyX = 0;
        private int polyY = 0;
        private int eraserLength = 5;
        private int udefRedValue = 255;
        private int udefGreenValue = 255;
        private int udefBlueValue = 255;
        private int opStatus = PEN_OP;
        private int colorStatus = 1;
        private double zoomPercentage=10;
        private Color mainColor = new Color(0, 0, 0);
        private Color xorColor = new Color(255, 255, 255);
        private Color userDefinedColor =
            new Color(udefRedValue, udefGreenValue,udefBlueValue);
        private JButton openButton = new JButton("open");
        private JButton closeButton = new JButton("close");
         private JButton zoominButton = new JButton("ZoomIn");
         private JButton zoomoutButton = new JButton("ZoomOut");
         private JButton zoomto100Button = new JButton("ZoomTo100");
         private JButton fwwButton = new JButton("Fit window width");
         private JButton fwhButton = new JButton("Fit window height");
         private JButton fwButton = new JButton("Fit the window");
        private JButton clearButton = new JButton("Clear");
        private JTextField colorStatusBar = new JTextField(20);
        private JTextField opStatusBar = new JTextField(20);
        private JTextField mouseStatusBar = new JTextField(10);
        private JPanel controlPanel = new JPanel(new GridLayout(18, 1, 0, 0));
        JToolBar jToolbar = new JToolBar();
        private Container container;
        private JScrollBar horizantalSlide=new JScrollBar();
        public BufferedImage image;
        BufferedImage bgImage;
    //    public ImageIcon icon=null;
        JFileChooser fileChooser;
        DrawPanel drawPanel = new DrawPanel(bgImage,zoomPercentage);
        public DP() {
            super("WhiteBoard");
            fileChooser = new JFileChooser(".");
            container = getContentPane();
            container.setBackground(Color.white);
            container.setLayout(new BorderLayout());
            container.add(jToolbar,BorderLayout.NORTH);
            container.add(horizantalSlide);
            jToolbar.add(openButton);
            jToolbar.add(closeButton);
              jToolbar.add(zoominButton);
              jToolbar.add(zoomoutButton);
              jToolbar.add(zoomto100Button);
              jToolbar.add(fwwButton);
              jToolbar.add(fwhButton);
              jToolbar.add(fwButton);
            jToolbar.add(clearButton);
            colorStatusBar.setEditable(false);
            opStatusBar.setEditable(false);
            mouseStatusBar.setEditable(false);
            controlPanel.setBackground(Color.white);
            drawPanel.setBackground(Color.white);
            container.add(controlPanel, "West");
            container.add(drawPanel, "Center");
            openButton.addActionListener(this);
            closeButton.addActionListener(this);
              zoominButton.addActionListener(this);
              zoomoutButton.addActionListener(this);
              zoomto100Button.addActionListener(this);
              fwwButton.addActionListener(this);
              fwhButton.addActionListener(this);
              fwButton.addActionListener(this);
            clearButton.addActionListener(this);
            drawPanel.addMouseMotionListener(this);
            drawPanel.addMouseListener(this);
            addMouseListener(this);
            addMouseMotionListener(this);
            opStatusBar.setText("FreeHand");
            colorStatusBar.setText("Black");
        public void actionPerformed(ActionEvent e) {
            if(e.getActionCommand().equals("open"))
                showDialog();
            if(e.getActionCommand().equals("close"))
                closeDialog();
              if(e.getActionCommand().equals("ZoomIn"))
                   drawPanel.zoom(1);
              if(e.getActionCommand().equals("ZoomOut"))
                   drawPanel.zoom(-1);
              if(e.getActionCommand().equals("ZoomTo100"))
                   drawPanel.zoom(+10);
              if(e.getActionCommand().equals("Fit window width"))
                   drawPanel.fitwindowwidth();
              if(e.getActionCommand().equals("Fit window height"))
                   drawPanel.fitwindowheight();
              if(e.getActionCommand().equals("Fit the window"))
                   drawPanel.fitthewindow();
            if (e.getActionCommand() == "Clear")
                opStatus = CLEAR_OP;
            switch (opStatus) {
                case CLEAR_OP:
                    clearPanel();
        private void showDialog() {
            if(fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File file = fileChooser.getSelectedFile();
                try {
                    bgImage = ImageIO.read(file);
                } catch(IOException e) {
                    System.out.println("IO error: " + e.getMessage());
                clearPanel();
        private void closeDialog() {
            drawPanel.setVisible(false);
            drawPanel.repaint();
        public void clearPanel() {
            opStatusBar.setText("Clear");
            Graphics g = image.getGraphics();
            g.setColor(drawPanel.getBackground());
            g.fillRect(0, 0, drawPanel.getBounds().width, drawPanel.getBounds().height);
            if(bgImage != null)
                g.drawImage(bgImage, 0, 0, this);
            g.dispose();
            drawPanel.repaint();
        public boolean mouseHasMoved(MouseEvent e) {
            return (mousex != e.getX() || mousey != e.getY());
        public void setActualBoundry() {
            if (mousex < Orx || mousey < Ory) {
                if (mousex < Orx) {
                    OrWidth = Orx - mousex;
                    drawX = Orx - OrWidth;
                } else {
                    drawX = Orx;
                    OrWidth = mousex - Orx;
                if (mousey < Ory) {
                    OrHeight = Ory - mousey;
                    drawY = Ory - OrHeight;
                } else {
                    drawY = Ory;
                    OrHeight = mousey - Ory;
            } else {
                drawX = Orx;
                drawY = Ory;
                OrWidth = mousex - Orx;
                OrHeight = mousey - Ory;
        public void setGraphicalDefaults(MouseEvent e) {
            mousex = e.getX();
            mousey = e.getY();
            prevx = e.getX();
            prevy = e.getY();
            Orx = e.getX();
            Ory = e.getY();
            drawX = e.getX();
            drawY = e.getY();
            OrWidth = 0;
            OrHeight = 0;
        public void mouseDragged(MouseEvent e) {
            updateMouseCoordinates(e);
            switch (opStatus) {}
        public void mouseReleased(MouseEvent e) {
            updateMouseCoordinates(e);
            switch (opStatus) {}
        public void mouseEntered(MouseEvent e) {
            updateMouseCoordinates(e);
        public void updateMouseCoordinates(MouseEvent e) {
            String xCoor = "";
            String yCoor = "";
            if (e.getX() < 0)
                xCoor = "0";
            else {
                xCoor = String.valueOf(e.getX());
            if (e.getY() < 0)
                xCoor = "0";
            else {
                yCoor = String.valueOf(e.getY());
            mouseStatusBar.setText("x:" + xCoor + " y:" + yCoor);
        public void mouseClicked(MouseEvent e) { updateMouseCoordinates(e); }
        public void mouseExited(MouseEvent e) { updateMouseCoordinates(e); }
        public void mouseMoved(MouseEvent e) { updateMouseCoordinates(e); }
        public void mousePressed(MouseEvent e) { updateMouseCoordinates(e); }
        public static void main(String[] args) {
            DP wb = new DP();
            wb.setDefaultCloseOperation(EXIT_ON_CLOSE);
            wb.setSize(1024,740);
            wb.setVisible(true);
        private class DrawPanel extends JPanel {
            private double m_zoom = 1.0;
            private double m_zoomPercentage;
            private BufferedImage m_image;
            double theta = 0;
            double thetaInc = Math.PI/2;
            public DrawPanel(BufferedImage imageb,double zoomPercentage) {
                m_image = imageb;
                m_zoomPercentage = zoomPercentage / 100;
            protected void paintComponent(Graphics g) {
                Graphics2D g2d=(Graphics2D)g;
                if(image == null)
                    initImage();
                g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                     RenderingHints.VALUE_INTERPOLATION_BICUBIC);
                double x = (1.0 - m_zoom)*getWidth()/2.0;
                double y = (1.0 - m_zoom)*getHeight()/2.0;
                AffineTransform at = AffineTransform.getTranslateInstance(x, y);
                at.rotate(theta,m_zoom*getWidth()/2,m_zoom*getHeight()/2);
                at.scale(m_zoom, m_zoom);
                g2d.drawRenderedImage(image, at);
      public void zoom(int inc) {
            m_zoom += inc * m_zoomPercentage;
            repaint();
              public void fitwindowwidth()
                int w1=drawPanel.getWidth();
                int h1=drawPanel.getHeight();
                BufferedImage image2=image.getScaledInstance(w1,h1,Image.SCALE_DEFAULT);
                drawPanel.setPreferredSize(new java.awt.Dimension(100,image2.getImage().getHeight(null)));
               drawPanel.repaint();
              public void fitwindowheight()
           BufferedImage image2=image.getScaledInstance(500,680,1); 
           drawPanel.setImage(iicon);
           drawPanel.setPreferredSize(new java.awt.Dimension(100,image2.getImage().getHeight(null)));
           drawPanel.repaint();
              public void fitthewindow()
           BufferedImage image2=image.getScaledInstance(1000,680,1);
           drawPanel.setPreferredSize(new java.awt.Dimension(100,image2.getImage().getHeight(null)));
           drawPanel.repaint();
            private void initImage() {
                int w = getWidth();
                int h = getHeight();
                image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
                Graphics2D g2 = image.createGraphics();
                g2.setPaint(getBackground());
                g2.fillRect(0,0,w,h);
                g2.dispose();
    }

    thank you for giving reply.
    your code is very helpful to us.but i couldn't integrate it in my code.here's my code.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import java.io.File;
    import javax.swing.filechooser.FileFilter;
    import java.awt.geom.*;
    public class IS extends JFrame implements ActionListener,
                                               MouseListener,
                                               MouseMotionListener {
        private final int PEN_OP = 1;
        private final int CLEAR_OP = 2;
         private     final int DISTORT = 3;
        private final int SCALE   = 4;
        private final int FIT     = 5;
        private final int FILL    = 6;
        int scaleMode = SCALE;
        private int radius;
        private int radius1;
        private int mousex = 0;
        private int mousey = 0;
        private int prevx = 0;
        private int prevy = 0;
        private boolean initialFreeHand = true;
        private boolean initialLine = true;
        private boolean initialEraser = true;
        private int Orx = 0;
        private int Ory = 0;
        private int OrWidth = 0;
        private int OrHeight = 0;
        private int drawX = 0;
        private int drawY = 0;
        private int polyX = 0;
        private int polyY = 0;
        private int eraserLength = 5;
        private int udefRedValue = 255;
        private int udefGreenValue = 255;
        private int udefBlueValue = 255;
        private int opStatus = PEN_OP;
        private int colorStatus = 1;
        private double zoomPercentage=10;
        private Color mainColor = new Color(0, 0, 0);
        private Color xorColor = new Color(255, 255, 255);
        private Color userDefinedColor =
            new Color(udefRedValue, udefGreenValue,udefBlueValue);
        private JButton openButton = new JButton("open");
        private JButton closeButton = new JButton("close");
         private JButton zoominButton = new JButton("ZoomIn");
         private JButton zoomoutButton = new JButton("ZoomOut");
         private JButton zoomto100Button = new JButton("ZoomTo100");
         private JButton fwwButton = new JButton("Fit window width");
         private JButton fwhButton = new JButton("Fit window height");
         private JButton fwButton = new JButton("Fit the window");
        private JButton clearButton = new JButton("Clear");
        private JTextField colorStatusBar = new JTextField(20);
        private JTextField opStatusBar = new JTextField(20);
        private JTextField mouseStatusBar = new JTextField(10);
        private JPanel controlPanel = new JPanel(new GridLayout(18, 1, 0, 0));
        JToolBar jToolbar = new JToolBar();
        private Container container;
        private JScrollBar horizantalSlide=new JScrollBar();
        public BufferedImage image;
        BufferedImage bgImage;
    //    public ImageIcon icon=null;
        JFileChooser fileChooser;
        DrawPanel drawPanel = new DrawPanel(bgImage,zoomPercentage);
        public IS() {
            super("WhiteBoard");
            fileChooser = new JFileChooser(".");
            container = getContentPane();
            container.setBackground(Color.white);
            container.setLayout(new BorderLayout());
            container.add(jToolbar,BorderLayout.NORTH);
            container.add(horizantalSlide);
            jToolbar.add(openButton);
            jToolbar.add(closeButton);
              jToolbar.add(zoominButton);
              jToolbar.add(zoomoutButton);
              jToolbar.add(zoomto100Button);
              jToolbar.add(fwwButton);
              jToolbar.add(fwhButton);
              jToolbar.add(fwButton);
            jToolbar.add(clearButton);
            colorStatusBar.setEditable(false);
            opStatusBar.setEditable(false);
            mouseStatusBar.setEditable(false);
            controlPanel.setBackground(Color.white);
            drawPanel.setBackground(Color.white);
            container.add(controlPanel, "West");
            container.add(drawPanel, "Center");
            openButton.addActionListener(this);
            closeButton.addActionListener(this);
              zoominButton.addActionListener(this);
              zoomoutButton.addActionListener(this);
              zoomto100Button.addActionListener(this);
              fwwButton.addActionListener(this);
              fwhButton.addActionListener(this);
              fwButton.addActionListener(this);
            clearButton.addActionListener(this);
            drawPanel.addMouseMotionListener(this);
            drawPanel.addMouseListener(this);
            addMouseListener(this);
            addMouseMotionListener(this);
            opStatusBar.setText("FreeHand");
            colorStatusBar.setText("Black");
        public void actionPerformed(ActionEvent e) {
            if(e.getActionCommand().equals("open"))
                showDialog();
            if(e.getActionCommand().equals("close"))
                closeDialog();
              if(e.getActionCommand().equals("ZoomIn"))
                   drawPanel.zoom(1);
              if(e.getActionCommand().equals("ZoomOut"))
                   drawPanel.zoom(-1);
              if(e.getActionCommand().equals("ZoomTo100"))
                   drawPanel.zoom(+10);
              if(e.getActionCommand().equals("Fit window width"))
                   //drawPanel.fitwindowwidth();
              drawPanel.scaleImage(0,0,0,0);
              if(e.getActionCommand().equals("Fit window height"))
              drawPanel.scaleImage(0,0,0,0);
              if(e.getActionCommand().equals("Fit the window"))
              drawPanel.scaleImage(0,0,0,0);
            if (e.getActionCommand() == "Clear")
                opStatus = CLEAR_OP;
            switch (opStatus) {
                case CLEAR_OP:
                    clearPanel();
        private void showDialog() {
            if(fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File file = fileChooser.getSelectedFile();
                try {
                    bgImage = ImageIO.read(file);
                } catch(IOException e) {
                    System.out.println("IO error: " + e.getMessage());
                clearPanel();
        private void closeDialog() {
            drawPanel.setVisible(false);
            drawPanel.repaint();
        public void clearPanel() {
            opStatusBar.setText("Clear");
              int w = image.getWidth();
            int h = image.getHeight();
            Graphics g = image.getGraphics();
            g.setColor(drawPanel.getBackground());
            g.fillRect(0, 0, w, h);
            if(bgImage != null) {
                int x = (w - bgImage.getWidth())/2;
                int y = (h - bgImage.getHeight())/2;
                g.drawImage(bgImage, x, y, this);
            g.dispose();
            drawPanel.repaint();
        public boolean mouseHasMoved(MouseEvent e) {
            return (mousex != e.getX() || mousey != e.getY());
        public void setActualBoundry() {
            if (mousex < Orx || mousey < Ory) {
                if (mousex < Orx) {
                    OrWidth = Orx - mousex;
                    drawX = Orx - OrWidth;
                } else {
                    drawX = Orx;
                    OrWidth = mousex - Orx;
                if (mousey < Ory) {
                    OrHeight = Ory - mousey;
                    drawY = Ory - OrHeight;
                } else {
                    drawY = Ory;
                    OrHeight = mousey - Ory;
            } else {
                drawX = Orx;
                drawY = Ory;
                OrWidth = mousex - Orx;
                OrHeight = mousey - Ory;
        public void setGraphicalDefaults(MouseEvent e) {
            mousex = e.getX();
            mousey = e.getY();
            prevx = e.getX();
            prevy = e.getY();
            Orx = e.getX();
            Ory = e.getY();
            drawX = e.getX();
            drawY = e.getY();
            OrWidth = 0;
            OrHeight = 0;
        public void mouseDragged(MouseEvent e) {
            updateMouseCoordinates(e);
            switch (opStatus) {
        public void mouseReleased(MouseEvent e) {
            updateMouseCoordinates(e);
            switch (opStatus) {}
        public void mouseEntered(MouseEvent e) {
            updateMouseCoordinates(e);
        public void updateMouseCoordinates(MouseEvent e) {
            String xCoor = "";
            String yCoor = "";
            if (e.getX() < 0)
                xCoor = "0";
            else {
                xCoor = String.valueOf(e.getX());
            if (e.getY() < 0)
                xCoor = "0";
            else {
                yCoor = String.valueOf(e.getY());
            mouseStatusBar.setText("x:" + xCoor + " y:" + yCoor);
        public void mouseClicked(MouseEvent e) { updateMouseCoordinates(e); }
        public void mouseExited(MouseEvent e) { updateMouseCoordinates(e); }
        public void mouseMoved(MouseEvent e) { updateMouseCoordinates(e); }
        public void mousePressed(MouseEvent e) { updateMouseCoordinates(e); }
        public static void main(String[] args) {
            IS wb = new IS();
            wb.setDefaultCloseOperation(EXIT_ON_CLOSE);
            wb.setSize(1024,740);
            wb.setVisible(true);
        private class DrawPanel extends JPanel {
            private double m_zoom = 1.0;
            private double m_zoomPercentage;
            private BufferedImage m_image;
            double theta = 0;
            double thetaInc = Math.PI/2;
            public DrawPanel(BufferedImage imageb,double zoomPercentage) {
                m_image = imageb;
                m_zoomPercentage = zoomPercentage / 100;
            protected void paintComponent(Graphics g) {
                   super.paintComponent(g);
                Graphics2D g2d=(Graphics2D)g;
                if(image == null)
                    initImage();
                g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                     RenderingHints.VALUE_INTERPOLATION_BICUBIC);
                              int w = getWidth();
                    int h = getHeight();
                  int iw = image.getWidth();
                  int ih = image.getHeight();
                  if(scaleMode == SCALE) {
                double x = (w - m_zoom*iw)/2;
                double y = (h - m_zoom*ih)/2;
                AffineTransform at = AffineTransform.getTranslateInstance(x, y);
                at.rotate(theta,m_zoom*getWidth()/2,m_zoom*getHeight()/2);
                at.scale(m_zoom, m_zoom);
                g2d.drawRenderedImage(image, at);
                   else {
                scaleImage(w, h, iw, ih);
              private void scaleImage( int w, int h, int iw, int ih) {
                             Graphics2D g2d = image.createGraphics();
            double xScale = (double)w/iw;
            double yScale = (double)h/ih;
            AffineTransform at = new AffineTransform();
            if(scaleMode == DISTORT) {
                double x = (w - xScale*iw)/2;
                double y = (h - yScale*ih)/2;
                at.setToTranslation(x, y);
                at.scale(xScale, yScale);
            } else {
                double scale = (scaleMode == FIT) ? Math.min(xScale, yScale)
                                                  : Math.max(xScale, yScale);
                double x = (w - scale*iw)/2;
                double y = (h - scale*ih)/2;
                at.setToTranslation(x, y);
                at.scale(scale, scale);
            g2d.drawRenderedImage(image, at);
      public void zoom(int inc) {
            m_zoom += inc * m_zoomPercentage;
            repaint();
            private void initImage() {
                int w = getWidth();
                int h = getHeight();
                image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
                Graphics2D g2 = image.createGraphics();
                g2.setPaint(getBackground());
                g2.fillRect(0,0,w,h);
                g2.dispose();
    }

  • Presets in Freehand?

    Hi,
    Just updated my image setter software. Most applications do not really support Freehand anymore. The work-around is to go through the print dialog box in order to send a press-ready PDF.
    For this to work (support Freehand), I had to go into Adobe PDF Settings tab, and where it has the 'Default Settings' and 'Adobe PDF Page Size', I had to manually set up the correct document sizes that match our plate files. These are automatically saved once created for future use.
    Here's the question...now I need to have other users do the same so they can send plates on their PCs. Rather than having to have them re-create all of these pre-sets, is there a way to go into the Freehand source or program files to copy and paste these presets onto other PCs? Is this possible?
    It would save a great deal of time and simplify the process.
    Thanks!

    FHMX custom print settings on a Mac are stored as individual files in
    Users/(Username)/Library/Application Support/Macromedia/FreeHand MX/11/English/Settings/PrintSet
    Judy Arndt

  • File sizes - Click through selection

    How bout looking at the ballooning file sizes?
    I just got pissed off at how slow illustrator was (using the new cs4 version and "mistakenly" left a couple layers pallet open) and did a copy-paste into Freehand and finished the job.
    When done the freehand EPS file was 52k.
    Illustrator's file size for the same project? 1.1 MB
    Good Lord! import that into an InDesign file . . .
    Click through -
    If they could use a "click through" model to access items beneath layers like in inDesign and Freehand they wouldn't need to have all these layers and tiny layer previews for every tiny little piece of art on the page.
    Maybe that would save some space. Sure hard drives are getting cheaper all the time, but why are these files becoming so huge?

    Kirby,
    are you recommending to downgrade the original image files, even if the JPEGs in question are the only copies? JPEG compression is lossy and creates horrible artfacts, if it is applied too heavily. But even with only a sllght JPEG compression applied, it is difficult, to apply any adjustments, like sharpening, after the compression.
    My iPhone photos are 8MP in size and the average file size is 3MB. I am quite happy with that amount of storage and would not compress the originals further.
    As a test:
    To the left, the original JPEG with 3.85 MB and to the right a compressed version with 598 KB.
    Looking at the pixels (the sun hat at the bottom of the picture) : the stronger compression hides the details:
    Or the pine cones:
    I don't apply any JPEG compression to original files, beyond what the camera does anyway.

  • Is it possible? "automatically increasing text block size when typing?"

    I want to know that:  "automatically increasing text block size when typing?" This works exactly in Freehand 10, 11.
    is it possible?
    Thanks.

    Smart Text Reflow was added to CS4, which might also be of interest to you.
    Adobe does, in fact listen to customer requests for new and improved features. Not all requests can be satisfied during each release cycle, but if you have a suggestion, you should file it at Adobe - Feature Request/Bug Report Form

  • Freehand crashes when printing

    I am running a site liscence of Freehand 10 on a variety of
    Macs from iBookG4's to Mac Minis, all running OS 10.4. On some
    computers I experience a problem printing Freehand documents. All
    coomputers are loaded with the same copy of Macromedia Suite and
    all are printing to the same HP color inkjet. The problem occurs
    when you try to adjust the document size to letter in the page
    setup window in Freehand. This causes a Freehand crash on some of
    the computers. Relaunching and restarting does not solve the
    problem. Has anyone encountered this oddity? Is there a fix?

    Have you tried making a pdf from the Freehand file and see if
    that prints?

  • Freehand 10 and tiles ?

    Hello, I've been experiencing lot of trouble when I try to
    print my document 1120 mm x 810 mm to a TANTO 90 negative printer
    (Japanese model), the printer doesn't accept the TILES that fill
    some of my objects, If I want to do tiles manualy it will cost me
    lot of my time, specialy that I have more than 8 big Jobs with the
    same tile problem.
    Please is there any way to print my tiles without losing my
    document boundaries or without having this problem.
    TANTO 90 gives me this message (Shortened):
    your document size is 3974.8 and the film size is 3973.98
    also same other line for width.
    I tried to reduce the size of document to less points but no
    benifits.

    > When printing, are you using a PPD for that printer?
    > I don't know, .
    First read the FreeHand Help files on the topic of printing.
    I assume you have scaling set to Uniform/100%.
    A PPD is a 'PostScript Printer Description' file that must be
    installed and
    available to a Postscript printer. (On Mac OS X the PPD for
    the printer is
    chosen when you install a printer.) Do not use generic PPDs.
    In the FH Print dialog you will see a checkbox 'Use PPD'. For
    precision
    Postscript printing, you must use the correct PPD for the
    printer.
    Judy Arndt

  • Define multiple crop area's, same size with overlap

    Is it possible to define multiple croparea's at once in CS3/CS4?
    Is it possible to define them and move each crop area a certain amount?
    I want to split a citymap into different page's (like an atlas) and export them separately as PDF or EPS.
    Daniel Hoogendoorn
    Cito-plan b.v.

    Daniel,
    You are not going to get Illustrator to replicate your FreeHand workflow. So far, every new function which Illustrator has borrowed from FreeHand since Adobe aquired it (including multiple pages) has fallen far short of FreeHand's treatment.
    There still is no Lens feature in Illustrator. There still is no option to export just the selection (absolutely stupid).
    Yet another unsatisfying workaround that might work for youi in CS3:
    If you haven't already, in Document Setup, set the artboard to the size of the full map.
    In the Print Dialog, General pane, set Media Size to the desired size for one portion of the map.
    In the Print Dialog, Setup pane, set Tiling to Tile Full Pages. Click Done (not Print).
    View>ShowPageTiling. Illustrator displays dotted lines indicating the numbered page tiles.You can get the utterly lame Page Tool (it's under the Hand tool), and click somewhere to set the page tiling origin where you want it (usually at the bottom left of the Artboard.
    Save A Copy as PDF. Turn on the option for Create Multi-page PDF from Page Tiles.
    The resulting PDF will have separate pages, with the map sliced up according to the Page Tiles. The artwork does not actually get sliced; objects which cross the bounds of a PageTile just get masked in the PDF.
    JET

  • Export my Freehand Document

    I am trying to export a brochure as a jpg because I need to
    keep the file size down. But my computer keeps giving me the
    message that it does not have enough memory to do it- I even tried
    the computer at work, but same message. I also tried exporting as a
    pdf, even though the file would be too big, and got a message about
    it not being able to exactly reproduce the document b/c it contains
    paths with more than 5000 pts.
    I am pretty new to freehand and I am thinking that perhaps I
    imported things from fireworks at sizes too large. I tried to match
    the pixel size that I would need, but I would often still have to
    enlarge things by 400%.

    hcinderela wrote:
    > The brochure will be printed. They do not take Freehand
    files. I have tried
    > exporting as a pdf, but it says that there is more than
    5000 points so it cant
    > finish. I was able to export it as a png, but the file
    size is still too big.
    How big is too big?
    JPEG is a good format for photographs but a very poor file
    format for a
    brochure that contains text. Does the brochure contain text?
    If so you
    should be using a vector format such as PDF or EPS.
    Are you able to export as EPS? A commercial printer should be
    able to take
    an EPS file.
    Which version of FHMX are you using? There was a bug in FHMX
    11.0 related to
    objects over 5000 points. Updating to FHMX 11.0.2 should
    improve that issue.
    Does the document contain large raster images or extensive
    use of Raster
    Effects? Have you used many Lens Fills, complex blends or
    extruded objects?
    Without seeing the file, it's hard to know where the problem
    lies. Does your
    document contain single vector objects that have many points,
    such as that
    produced by auto-tracing? If so, have you tried to simplify
    paths using the
    Simplify Xtra? Can you break complex objects into several
    parts?
    Judy Arndt

  • Freehand MX line weight issue?

    I am having a problem seeing the difference between say a 1pt line and a .5 line when viewing and creating an illustration at 100%. The line weights look identical. If I view or edit the illustration at say 200% the line weight difference is noticable. What is going on here?
    Thanks....

    Freehand is based on the Postscript imaging language which uses 72 points to an inch. Freehand was written when the prevailing computer display resolution was 72 pixels per inch (72ppi).
    Therefore, 1 point = 1 pixel.
    To display a stroke finer than 1 pixel, Freehands’ Preview mode can’t show a partial pixel, but it does show a lighter shade of gray.
    If you’re designing web images, don’t use strokes finer than 1 point (1 pixel) because they won’t display well in 72ppi raster images.
    When working with very fine strokes for print or other kinds of output, I find it easiest to work to scale. Make a custom scale in your page rulers such as 4 points = 1 point (400%).
    View > Page Rulers > Edit
    Please keep in mind that today’s computer displays have a higher pixel density than 72ppi so 100% view in Freehand won’t be actual size.
    Judy Arndt

  • Adobe actively killing off Freehand with Flash CS5

    Hi,
    We have just upgraded to Flash CS5, wanted CS4 and were told there is now CS5 and it will be that.
    We come to open our Freehand maps from our vast database of such and CS5 wont open them. Flash 8 would.
    CS5 we are told has dropped support for Freehand. This brings the new map work of a Government body in Flash to a halt.
    Freehand is the tool for maps, superior to Illustrator. I have tried out Illustrator and hate it, other Cartographers also stick with Freehand. Its about time Adobe stopped shunning that side of the graphics industry. We have a job to do.
    If Adobe host Freehand they should ensure two vector apps work together. No reason why suddenly Flash will not work with the vector file, somebody has simply tweaked it to deny Freehand users the ability to use Flash anymore.
    As I type I now learn that Adobe have dropped selling Freehand,  long rude word !!!!!!!!!!!!
    How dare they deny cartographers a better tool. We have tried to convert maps in the past, the clipping paths are one aspect that fall over. Line caps another. There is no time to both do a job and mess around battling with Illustrator, no money to employ a second person to be tasked with this. Gov't helped the banks out and now find the money by cutting down on us !
    Does anyone know how to work with Freehand and Flash, CS3 I gather will open fh9 files (I still use FH9 as I prefer its interface 3 doesnt look like an 8 etc, data entry windows a decent size. )
    Will CS4 open fh9, ...will it open .fh11 ?
    Envirographics

    Sad to hear that. I just began working with CS4 and found that copy paste from FreeHand to Flash CS4 works fine. Hope I never need to badgrade to CS5.
    You may be interested to hear that there is a community actively fighting for FreeHand, in case you do not know about it, and tell your friends:
    www.freefreehand.org
    Regards,
    Thom

  • Having troubles with aspect and size when exporting to CD

    I would like to export my pics to a CD so i can send them out to be printed in a lab. I'm confused with the aspect ratio when I crop them i know I have to lock the aspect but should I keep it on Original? Also i'm wondering when it comes to export them what size should I be placing if I want to print all sizes. like some 8x10 and some 4x6 and so on. I'm working with Lightroom 3. Thanks in advance : )

    I'm confused with the aspect ratio when I crop them i know I have to lock the aspect but should I keep it on Original? Also i'm wondering when it comes to export them what size should I be placing if I want to print all sizes.
    The crop aspect lock only comes into play while you are actively resizing the crop boundary. LR always works in a freehand manner, except that if the ratio is locked, adjusting the crop frame is allowed to alter its size and location and angle - but not its shape. If the ratio is not locked, you will be changing the crop shape freely if/when you drag the corner or edge handles around. The rest of the time, the lock makes no difference; and it is just as possible BTW to lock a random freehand aspect ratio, as it is to lock one of the standard preset ones.
    If you are uploading an exported copy for printing, you could simply upload a JPG made at the original resolution (as cropped for composition and angle) - that is, unchecking the whole resizing section of the Export dialog - and give the printer instructions as to how large the various prints are to be. Or I suppose, you could resize to the largest of the sizes that you require, but you will then need to negotiate a pixels-per-inch "resolution" setting that will be appropriate - since, when resizing to a page size, this figure governs the pixel content of the file produced.
    I would suggest that in the case of an export without resizing, where a generous quantity of pixels are included for the sorts of page sizes mentioned, you will likely not see any discernible printed benefit from setting the highest JPG quality setting for your export, but will be fine with around quality 6 to 8 - which brings the file sizes down significantly. Most often, printing services will presume that you have selected sRGB colourspace for your export, unless something different has been pre-agreed.

  • Screen printing & controlling size of dot pattern in gradient halftones gradien

    I'm using A Mac OS 10.6.8, and Illustrator CS5.
    I do garment screen printing.
    In my designs I use a gradient, which needs to have the halftone dots controlled, and a certain size, to expose properly on my screens to then print.
    I can't seem to figure out how to adjust the frequency or LPI, and the angle so that they work. It still prints out as a seen on screen
    Thanks ahaead of time for your reply.
    [ signature removed by forum host  ]

    Mark,
    I answered your questions in my previous post.
    As you can see, the dot size is much smaller as the DPI is increased.
    Of course. As I explained, the higher the halftone frequency (the standard term for which is Lines Per Inch, not Dots Per Inch); the more halftone dots per measure; therefore the smaller the dots.
    Once converted into halftone dots, just select > expand appearance...
    As I explained in response to your question about the screen printer being able to edit the "halftone" settings: If the plug-in applies a live effect, the printing house would have to have the same plug-in to alter the effect settings. (He'd also have to have a sufficient proficiency in Illustrator, which you cannot assume.) If you expand the effect, it's then "nailed down" as non-live paths and the printer will not be able to change the LPI.
    Honestly, you should take a look at their plug-ins, they're amazing!
    It's not that amazing. I have my own scripts which do pretty much the same kind of faux halftone.
    This is not actual halftoning. In a real halftone, the dots change shape as they cover more area. Look at a printed grayscale ramp with a loup and you'll see that as the tones cross the 50% range, they "morph" from black dots on a white field into white dots on a black field; they don't just become larger and larger black dots choking out the white areas.
    Nor is this the same thing at all as a drawing program properly providing object-level halftone settings, as does FreeHand. FreeHand lets you assign actual PostScript halftone settings at the object level. The printer's RIP builds the halftone as true halftones at print time. For example, in FreeHand, you can set an object to print as a line halftone pattern at 30 LPI, and another object to print as a diamond halftone pattern at 50 LPI. Both halftones are applied by the printer, not by actually drawing a kazillion tiny paths in the FreeHand document. This is just one of those areas in which Illustrator is still decades-deficient in providing valuable functionality.
    So, I'm just trying to figure out the best way to approach this.
    Again: Assuming your concern is just to be able to print a halftone ruling that the printing house can hold, you need to find out from the printing house what that halftone ruling is. Just saying it's screen printing is not enough. Screen printing shops run the gamut from small mom & pop shops using an almost entirely manual process to high end large outfits running very large, elaborate, and expensive equipment--and everything in between.
    As a general rule, halftoning really doesn't look very good on garments anyway--especially when done by small-to-medium shops--because of the course halftone rulings required. Talented and innovative screen-centric designers and screen print houses avoid actual halftones and actual process color, and instead utilize clever hatching or stippling techniques in the artwork, often involving multiple additional inks (several greens, for example). The result is vibrant, brilliant color, because it's really rendered as posterized solid line art. Next time you're at any mainstream department store, take a look at the most brilliant T-shirt pictorials--the ones of dinosaurs and colorful fantasy images. Study them up close and you'll see they are not ordinary process or ordinary halftoning.
    If I were using Illustrator for something destined for T-shirt printing, and using tint screens not intended as a special effect, but just as an attempt to minimize ink count by overprinting a small set of opaque spot inks in a process kind of way, I would simply set the halftone settings for the ink at the document level at print time--which is all Illustrator can do.
    ...tell me exactly what to ask the printer...
    Again: Ask the printer what is the highest halftone screen ruling he can reliably and consistently hold. Then it's up to you whether that's good enough for your satisfaction, or if you need to find a more capable screen printing shop, or whether you need to redo the artwork  using a lineart method for suggesting tones.
    JET

Maybe you are looking for