Need all textframes in equal width and height

Hi All,
Request:
I need all the text frames in equal width and equal height in my active document.
Trying code:
var myDoc = app.activeDocument
var myTF = myDoc.textFrames.everyItem().getElements()
alert(myTF.length)
app.activeDocument.viewPreferences.horizontalMeasurementUnits = app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.MILLIMETERS;
for(k=0; k<myTF.length; k++)
    myTF[k].geometricBounds[3] = myTF[k].geometricBounds[1]+125    //Doubt this line
    alert(myTF[k].geometricBounds[3])
Could anyone give solution for my request.
Thanks
Beginner_X

Hi,
You can edit geometricBounds as a whole array - not as a particular [x] element. So to change object position use:
     object.geometricBounds = YourNewArray;     //      [y,x,Y,X]
but in THIS case better way is to use:
     object.resize(
            CoordinateSpaces.INNER_COORDINATES,
            AnchorPoint.TOP_LEFT_ANCHOR,
            ResizeMethods.REPLACING_CURRENT_DIMENSIONS_WITH,
            [ mWidth, mHeight] );
Jarek

Similar Messages

  • Find new width and height of a rotated item

    hi all,
    I have an issue where I have a rectangle that I rotate and I need to know the new width and height of the bounding box of the rectangle when it has been rotated
    example:
    I have this rectangle shape
    so its known width and height is 20pixels x 60pixels
    now i rotate the rectangle by 90 degrees
    so it looks like this
    now its 60pixels x 20 pixels
    but all i know is the width height is 20 x 60
    how do I calculate the new width and height after rotation?
    obviously a rotation of 45 degrees would mean the bounding box will not be 20 x 60 or 60 x 20 so I need to take that into consideration
    thanks

    If your shapes are not restricted to being rectangels, then the bounding box after rotation can't be calculate from simply the bounding box before rotation alone.
    Simples counter-example:
    The bounding box of those two shapes are equivalent:
    {noformat}
    and
    {noformat}But after a 45 degree rotation, their bounding boxes are different.
    For the exact way to calculate the bounding box for arbitrary shapes, you'll need to consult some geometry books (or wait and hope for a useful hint here, I can't give one).

  • How to get width and height of a jpg file ?

    Hello,
    I'm trying to insert a jpg file in a blob field on my database. The problem is that I need to get the file width and height in pixels. My class does not have a graphic interface, it's a batch. Does anybody has an idea of how can I do that ?
    tia.

    Write a jpeg decoder that can figure out how to determine the width/height of a jpeg file? Google it.
    Or if you're really lazy, load each jpeg using the
    Toolkit.loadImage( URL ) function and use getWidth/getHeight from there, but that's slow.

  • SWF loader need to load 100% width and height

    Hi,
        I have using dashboard in my application.In which the flex pages are loaded using SWF loader. the swf is not loading 100% when i minimize the browser. actually its loading 100% when the browser is full screen mode. suppose the browser is opened in 75% the swf also gets loaded based on the browser size. but after maxmizing the browser the SWF its not expaned to the actuall size of the browser. could you anybody help me plz..?
    Thanks & Regards
    Muthu

    Hi,
         I have used this code to load the swf in the main application:
    <mx:Canvas id="dashCanvas"  creationPolicy="all" cachePolicy="on" width="100%"  backgroundColor="#FFFFFF" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
                   <mx:SWFLoader id="dashBoard" trustContent="true"  width="100%" height="100%" scaleContent="true" autoLoad="true"
    source="@Embed(source='../../../../assets/appl/dashboard/dashboard.swf')"  /> 
    </mx:Canvas>
    And i have set width and height as 100% in <mx:Appilcation> .
    Thanks and egards
    Muthu

  • I need the exact width and height of the 12" Apple Lisa screen.

    Does anyone have a bezel or a whole Lisa? I need the width and height, at their widest (center measurements) for the screen opening. Thanks very much!

    You might check at ifixit.com.

  • How to create a map that is larger than the game in width and height?

    hi,
    i wounder how i can create a map(not the design) that is larger than the game in width and height, part of it will appear in the main page and anther part you can move to it after you press the arrow symbol, but the map is just one image so i want put it in line and out line the game page, and the out line part includes buttons and symbols the player can use, but it will be in line and the other part will be out line when you press the left arrow or the down arrow, how i can do that?
    and is that possible to animate it so when the player press the arrow, will give it action to start the animation in one sec, i know how to animate it if that possible but i don't know which code i will use for the mouse click with the arrow symbol, and how to use the same code in the same symbol to start anther animation depending on which part of the map is on?

    I don't know a lot about mask and masked layers and how to work with the normal layers beside i will use some 3D graphics but not in the background, i will explain all this to you to be more clearly.
    first i am using action script 3.0
    close ex,
    you have 2d map"image"  900*300 pixel.
    this image contains some 2d symbols when you click will go to anther normal map (anther normal layer) so they must appear.
    your game 320*320 px, and the place the map will show on 300*300, and there's basics objects will be in most pages including the page that show the map so i don't know a lot about how this will work with mask layers.
    so you can only see the left side of the map image and what it contains, while there's two arrows one to the left and one to the right there's three cases here,
    first when it show the left side(start from x:0 to x:300), the left arrow will not active when you press and the right arrow will start an animation that make the map image move to the mid side in one sec when you press.
    in mid side (start from x:301 to x:600) the same left arrow will active when you press to send you back to the left side while the same right arrow will be active to send you not to the mid side but to the right side,
    when moved to the right side the same left arrow will be active to send you to the mid and the right will not active when you press and depending on that,
    first how to make the large image appear with the three sides in the same place without effecting the other objects "like disappearing them" ?
    and the codes i need in the same left or right arrow symbol to make different actions with the same symbol when clicked depending on which part of the map is on.

  • Nested canvas in GridLayout can't get its width and height

    Hello,
    I have a class entitled DisplayCanvas, which will accept some parameters from an invocation in another class including a shape and message parameters. These parameters must be centered in the instance of DisplayCanvas.
    For some reason, when I use this.getWidth() and this.getHeight() within my DisplayCanvas class, I get 0 and 0! I need the width and height in order to center the parameters the user will enter.
    Why does the width and height result at 0? What can I do to get the width and height?
    In my DisplayCanvas class notice the lines:
    canWidth = this.getWidth();
    canHeight = this.getHeight();
    For some reason the result is 0 for each!
    Here is my code for the DisplayCanvas class:
    //import the necessary clases
    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    //begin the DisplayCanvas
    public class DisplayCanvas extends Canvas
      //declare private data members to house the width and height of the canvas
      private int canWidth;
      private int canHeight;
      //declare private data members for the shape and message
      private String message;
      private String shape;
      private Color sColor;
      private int sWidth;
      private int sHeight;
      private String font;
      private Color ftColor;
      private int ftSize;
      //declare public data members
      //constructor of DisplayCanvas
      public DisplayCanvas()
         //set the width and height
         canWidth = this.getWidth();
         canHeight = this.getHeight();
         //set all data members to defaults
         message = "";
         shape = "";
         sColor = null;
         sWidth = 0;
         sHeight = 0;
         font = "";
         ftColor = null;
         ftSize = 0;
      } //end the constructor
      //begin the setParams function
      public void setParams(String m, String s, Color c, int w, int h,
                            String f, Color ftC, int ftS)
          //set all private data members of DisplayShape to the arguments
          //this function assumes error checking was done by DemoShape
          message = m;
          shape = s;
          sColor = c;
          sWidth = w;
          sHeight = h;
          font = f;
          ftColor = ftC;
          ftSize = ftS;
      } //end the setParams function
      //begin the public paint function of ShowShape
      public void paint(Graphics g)
          //set and output the shape according to the arguments
          //determine the x and y of the shape
          int x = (canWidth - sWidth) / 2;
          int y = (canHeight - sHeight) / 2;
          //set the color for the graphic object
          g.setColor(sColor);
          //output the shape
          g.drawRect(x, y, sWidth, sHeight);
          //set and output the message according to the arguments
          //set the color and the font for the graphic object
          g.setColor(ftColor);
          g.setFont(new Font(font, Font.PLAIN, ftSize));
          //determine the centering of the message
          //output the message with the settings
          g.drawString(canWidth + " " + canHeight, 10, 10);
      } //end the paint function of ShowShape class
    } //end the DisplayCanvas classHere is my form entry class using the nested DisplayCanvas instance entitled drawCanvas:
    //import the necessary java packages
    import java.awt.*;                  //for the awt widgets
    import javax.swing.*;               //for the swing widgets
    import java.awt.event.*;            //for the event handler interfaces
    //no import is needed for the DisplayCanvas class
    //if in the same directory as the DemoShape class
    public class DemoShape extends JApplet
        //declare private data members of the DemoShape class
        //declare the entry and display panel containers
        private Container entire;           //houses entryPanel and displayCanvas
        private JPanel entryPanel;          //accepts the user entries into widgets
        private DisplayCanvas drawCanvas;   //displays the response of entries
        //required control buttons for the entryPanel
        private JTextField xShapeText, yShapeText, messageText, fontSizeText;
        private ButtonGroup shapeRadio;
        private JRadioButton rect, oval, roundRect;
        private JComboBox shapeColorDrop, fontTypeDrop, fontColorDrop;
        //declare public data members of the DemoShape class
        //init method to initialize the applet objects
        public void init()
            //arrays of string to be used later in combo boxes
            //some are used more than once
            String fonts[] = {"Dialog", "Dialog Input", "Monospaced",
                                "Serif", "Sans Serif"};
            String shapes[] = {"Rectangle", "Round Rectangle", "Oval"};   
            String colors[] = {"Black", "Blue", "Cyan", "Dark Gray",
                                "Gray", "Green", "Light Gray", "Magenta", "Orange",
                                "Pink", "Red", "White", "Yellow"};
            //declare variables to assist with the layout
            //these are the left and right justified x coordinates
            int ljX = 10; int rjX = 150;
            //this is the y coordinates for the rows
            int yRow1 = 10;     //the shape rows
            int yRow2 = 40;
            int yRow3 = 60;
            int yRow4 = 130;
            int yRow5 = 150;
            int yRow6 = 210;    //the message rows
            int yRow7 = 240;
            int yRow8 = 260;
            int yRow9 = 300;
            int yRow10 = 320;
            int yRow11 = 360;
            int yRow12 = 380;
            //these are the widths for the text boxes, drop downs
            //message entry,  big message entry and radio buttons
            int tWidth = 30; int dWidth = 100;
            int mWidth = 250; int bmWidth = 250;
            int rWidth = 125;
            //the height is universal, even for the messages!
            int height = 25;
            //set a content pane for the entire applet
            //set the size of the entire window and show the entire applet
            entire = this.getContentPane();
            entire.setLayout(new GridLayout(1, 2));
            //create the entry panel and add it to the entire pane
            entryPanel = new JPanel();
            entryPanel.setLayout(null);
            entire.add(entryPanel);
            //create the display canvas and add it to the entire pane
            //this will display the output
            drawCanvas = new DisplayCanvas();
            entire.add(drawCanvas);       
            //entry panel code
            //add the form elements in the form of rows
            //the first row (label)
            JLabel entryLabel = new JLabel("Enter Shape Parameters:");
            entryPanel.add(entryLabel);
            entryLabel.setBounds(ljX, yRow1, bmWidth, height);
            //second row (labels)
            JLabel shapeTypeLabel = new JLabel("Select Shape:");
            shapeTypeLabel.setBounds(ljX, yRow2, mWidth, height);
            entryPanel.add(shapeTypeLabel);
            JLabel shapeColorLabel = new JLabel("Select Shape Color:");
            shapeColorLabel.setBounds(rjX, yRow2, mWidth, height);
            entryPanel.add(shapeColorLabel);
            //third row (entry)        
            rect = new JRadioButton("Rectangle", true);
            oval = new JRadioButton("Oval", false);
            roundRect = new JRadioButton("Round Rectangle", false);
            rect.setBounds(ljX, yRow3, rWidth, height);
            oval.setBounds(ljX, yRow3 + 20, rWidth, height);
            roundRect.setBounds(ljX, yRow3 + 40, rWidth, height);
            shapeRadio = new ButtonGroup();
            shapeRadio.add(rect);
            shapeRadio.add(oval);
            shapeRadio.add(roundRect);
            entryPanel.add(rect);
            entryPanel.add(oval);
            entryPanel.add(roundRect);       
            shapeColorDrop = new JComboBox(colors);
            shapeColorDrop.setBounds(rjX, yRow3, dWidth, height);
            shapeColorDrop.addFocusListener(new focusListen());
            entryPanel.add(shapeColorDrop);
            //the fourth row (labels)
            JLabel xShapeLabel = new JLabel("Enter Width:");
            xShapeLabel.setBounds(ljX, yRow4, mWidth, height);
            entryPanel.add(xShapeLabel);
            JLabel yShapeLabel = new JLabel("Enter Height:");
            yShapeLabel.setBounds(rjX, yRow4, mWidth, height);
            entryPanel.add(yShapeLabel);
            //the fifth row (entry)
            xShapeText = new JTextField("200", 3);
            xShapeText.setBounds(ljX, yRow5, tWidth, height);
            xShapeText.addFocusListener(new focusListen());
            entryPanel.add(xShapeText);        
            yShapeText = new JTextField("200", 3);
            yShapeText.setBounds(rjX, yRow5, tWidth, height);
            yShapeText.addFocusListener(new focusListen());
            entryPanel.add(yShapeText);
            //the sixth row (label)
            JLabel messageLabel = new JLabel("Enter Message Parameters:");
            messageLabel.setBounds(ljX, yRow6, bmWidth, height);
            entryPanel.add(messageLabel);
            //the seventh row (labels)   
            JLabel messageEntryLabel= new JLabel("Enter Message:");
            messageEntryLabel.setBounds(ljX, yRow7, mWidth, height);
            entryPanel.add(messageEntryLabel);
            //the eighth row (entry)
            messageText = new JTextField("Enter your message here.");
            messageText.setBounds(ljX, yRow8, mWidth, height);
            messageText.addFocusListener(new focusListen());
            entryPanel.add(messageText);
            //the ninth row (label)
            JLabel fontTypeLabel = new JLabel("Select Font:");
            fontTypeLabel.setBounds(ljX, yRow9, mWidth, height);
            entryPanel.add(fontTypeLabel);
            JLabel fontColorLabel = new JLabel("Select Font Color:");
            fontColorLabel.setBounds(rjX, yRow9, mWidth, height);
            entryPanel.add(fontColorLabel);
            //the tenth row (entry)
            fontTypeDrop = new JComboBox(fonts);
            fontTypeDrop.setBounds(ljX, yRow10, dWidth, height);
            fontTypeDrop.addFocusListener(new focusListen());
            entryPanel.add(fontTypeDrop);       
            fontColorDrop = new JComboBox(colors);
            fontColorDrop.setBounds(rjX, yRow10, dWidth, height);
            fontColorDrop.addFocusListener(new focusListen());
            entryPanel.add(fontColorDrop);
            //the eleventh row (label)
            JLabel fontSizeLabel = new JLabel("Select Font Size:");
            fontSizeLabel.setBounds(ljX, yRow11, mWidth, height);
            entryPanel.add(fontSizeLabel);
            //the final row (entry)
            fontSizeText = new JTextField("12", 2);
            fontSizeText.setBounds(ljX, yRow12, tWidth, height);
            fontSizeText.addFocusListener(new focusListen());
            entryPanel.add(fontSizeText);
            //display panel code
            //use test parameters
            //these will later be retrieved from the entries
            drawCanvas.setParams("Hello", "roundRect", Color.red,
                                100, 100, "Serif", Color.black, 12);
            //set the applet to visible
            //set to visible and display
            entire.setSize(800, 600);
            entire.setVisible(true);
        }   //end the init method
        //declare an inner class to handle events
        private class focusListen implements FocusListener
            //supply the implementation of the actionPerformed method
            //pass an event variable as the argument
            public void focusLost(FocusEvent e)
            { JOptionPane.showMessageDialog(null, "Focus lost."); } 
            //declare an empty focus gained function
            public void focusGained(FocusEvent e) {}      
        }   //end testListen class
    }   //end DemoShape class

    Sorry for glossing over your code sample, particularly as it looks like one of the best I've seen so far on the forums, but I'm pretty sure the answer you are looking for is as follows:
    Java doesn't render a component until paint() is called so until then you are not going to have any size settings because the jvm simply doesn't know how big the visual component is. This makes sense when you think about what the jvm is doing. The layout manager controls the display of the components depending on the settings it is supplied. So until it knows how many components you want, where, what kind of spacing, etc, etc, etc, how can the size be determined.
    The true cycle of events is therefore:
    create an instance of DisplayCanvas,
    add it to your container,
    make the container visible (which renders the component),
    get the size of the DisplayCanvas instance.
    You are being hampered because your desired chain of events is:
    create an instance of DisplayCanvas,
    get the size of the DisplayCanvas instance,
    add it to your container,
    make the container visible.
    This state of affairs is highly annoying and then leads to the next question "what do we do about that?". There is a cunning trick which is to get the jvm to render the component to an off-screen image, thus calculating the dimensions of the component so that you can do precisely the kind of enquiry on the object that you have been looking for. It should be noted that this may not be the visual size for all the reasons given above, but it is the "preferred size" for the component. Check the Swing tutorials and have a look at the section on Layout Managers for a run down on what that means.
    Anyway, we can use this handy code sample to determine the preferred size for your component. Notice the call to "paint()" (normally you would never make a direct call to paint() in swing) and the "g.dispose()" to free resources:
    package com.coda.swing.desktool.gui;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    public class PaintUtil
         public PaintUtil()
              super();
         public static Component paintBuffer(Component comp)
              Dimension size = comp.getPreferredSize();
              comp.setSize(size);
              BufferedImage img = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2 = img.createGraphics();
              comp.paint(g2);
              g2.dispose();
              return comp;
    }Before you make a call to getWidth() or getHeight() put in a call to "PaintUtil.paintBuffer(this);" and see what happens.
    By the way, I can't claim credit for this code ... and I really wish I could remember where I got it from myself so I can thank them :)

  • Resize and crop images to a specific width and height

    Hi,
    I want to convert images to thumbnails with a 'standard' format - I need all images to have the same width and height.
    So I need to resize and then crop the images. Is this possibe with JAI? Are there other libraries which can do this better?
    I've read about ImageMagick - are the Java interfaces to ImageMagick good?
    /best regards, Håkan Jacobsson - System developer in Sweden

    Duplicate posting, answers are here
    http://forums.sun.com/thread.jspa?threadID=5419291
    Pleas don't duplicate unless you note that you have done so and provide pointers to the duplicates - as I'm sure you're aware. . .

  • Fix width and height of accordion

    Hi All
    I am building an application using jquery accordion on region 3 of page 0. In each subregion I have a treeview and when a node is choosen shows details about this node. My issue is how to fix width and height of accordion. I tried with jquery tabs instead of accordion and I put this on region header 'style=\"overflow-x:auto;display:block;max-width:340px;min-width:340px;overflow-y:auto;max-height:450px;min-height:450px;";" ', and closing tag at region footer and it worked.
    Any idea?
    Thanks a lot.
    Ricardo
    Theme: 13
    EPG
    Version: 4.0.2.00.06

    Hi Jitu
    Thank you for your replay but it didn't work as I need.
    I made the following test. I put on region attribute \style="width:350px;". When each subregion of accordion has only a treeview, it didn't work. When I created another subregion into accordion with a simple report, it worked fine.
    I don't know what is going on and also how to fix it.
    Any other idea?
    Ricardo

  • Flex 4 Premium reference to the Stage issue! width and height seem to be switched??

    So I am doing a very basic resize effect with a panel, but if I want it to fill the screen, I have to switch stage.stageWidth and stage.stageHeight. I have also traced them out and they come out as switched values. Anyone else having this issue?
    protected function panel1_addedToStageHandler(event:Event):void
          trace(stage.stageWidth, " " , stage.stageHeight);

    Hi,
    You maybe running into some sort of layout constraint also it depends on how you are initiating the animation, if you are doing it on startup you need to wait for creationComplete to ensure all your dimensions have been calculated for the browser. You shouldn't need to use stage dimensions either. The following code resizes a panel to fill the browser. (note using top/left/bottom/right is a lot smoother than width and height).
    David
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
       xmlns:s="library://ns.adobe.com/flex/spark"
       xmlns:mx="library://ns.adobe.com/flex/mx"
       creationComplete="application1_creationCompleteHandler(event)">
    <fx:Script>
    <![CDATA[
    import mx.events.FlexEvent;
    protected function application1_creationCompleteHandler(event:FlexEvent):void
    pw.valueFrom=pnl.width;
    ph.valueFrom=pnl.height;
    fillscreen.play();
    ]]>
    </fx:Script>
    <fx:Declarations>
    <s:Animate id="fillscreen" target="{pnl}" repeatCount="1" duration="1000">
    <s:SimpleMotionPath id="pw" property="width" valueTo="{width}"/>
    <s:SimpleMotionPath id="ph" property="height" valueTo="{height}"/>
    </s:Animate>
    </fx:Declarations>
    <s:Panel id="pnl" width="250" height="200" horizontalCenter="0" verticalCenter="0">
    </s:Panel>
    </s:Application>

  • Draw rotated image to given width and height

    Problem, if an image where width and height aren't equal is rotated and drawn again, the image is not drawn (stretched) to the full width.
    Below is an example to illustrate my problem. The top image is stretched to the full width, the other aint.
    Example picture: http://www.google.nl/intl/nl_nl/images/logo.gif
    What am I doing wrong??
    Greet Retep
    import java.awt.Font;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.geom.AffineTransform;
    import java.awt.image.AffineTransformOp;
    import java.awt.image.BufferedImage;
    import java.awt.image.BufferedImageOp;
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JComponent;
    public class Test2 extends Frame{
         public static void main(String[] args)
              try {
                   new Test2();
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         public Test2() {
              super("Rotate picture");
              add(new RotateTest());
            addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent e) {
                        System.exit(0);
            setFont(new Font("default", Font.PLAIN, 24));
            setSize(300, 300);
            setVisible(true);
         class RotateTest extends JComponent {
             public void paint(Graphics g) {
                 Graphics2D g2d = (Graphics2D)g;
                 try {
                        BufferedImage image = ImageIO.read(new BufferedInputStream(new FileInputStream("C:/logo.gif")));
                        AffineTransform affineTransForm = new AffineTransform();
                      affineTransForm.rotate(Math.toRadians(270), image.getWidth(), 0); 
                      //flip
                      //affineTransForm.translate(0, image.getHeight());
                      //affineTransForm.scale(1, -1);
                      BufferedImageOp bufferedImageOp = new AffineTransformOp(affineTransForm,
                              AffineTransformOp.TYPE_BICUBIC);
                      BufferedImage image2 = bufferedImageOp.filter(image, null);
    //                  BufferedImage tempImage = new BufferedImage(image.getWidth(),image.getHeight(), image2.getType());
    //                Graphics2D graphics2D = tempImage.createGraphics();
    //                graphics2D.drawImage(image2, 0, 0, null);
    //                graphics2D.dispose();
                      g2d.drawImage(image, 5, 15, 280, 50, null);
                      g2d.drawImage(image2, 5, 70, 280, 50, null);
                      //g2d.drawImage(tempImage, 5, 125, 280, 50, null);
                      //g2d.drawImage(image, affineTransForm, null);
                      g2d.drawRect(5, 15, 280, 50);
                      g2d.drawRect(5, 70, 280, 50);
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                   } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
    }

    Let's see if this helps...
    import java.awt.Font;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.geom.AffineTransform;
    import java.awt.geom.Rectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JComponent;
    public class T2Rx extends Frame {
        public static void main(String[] args) {
            try {
                new T2Rx();
            } catch (Exception e) {
               e.printStackTrace();
        public T2Rx() {
            super("Rotate picture");
            add(new RotateTest());
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
            setFont(new Font("default", Font.PLAIN, 24));
            setSize(300, 375);
            setLocation(200,200);
            setVisible(true);
        class RotateTest extends JComponent {
            BufferedImage image;
            RotateTest() {
                // You only need to do this one time. Save the image in a
                // a member variable so you can access it whenever you want.
                try {
                    image = ImageIO.read(new BufferedInputStream(
                                         new FileInputStream("logo.gif")));
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
            protected void paintComponent(Graphics g) {
                Graphics2D g2 = (Graphics2D)g;
                g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                    RenderingHints.VALUE_INTERPOLATION_BICUBIC);
                int w = getWidth();
                int h = getHeight();
                BufferedImage scaled = scaleTo(image, 280, 50);
                int iw = scaled.getWidth();
                int ih = scaled.getHeight();
                double x = (w - iw)/2.0;
                double y = 1;
                g2.drawImage(scaled, (int)x, (int)y, this);
                g2.draw(new Rectangle2D.Double(x, y, iw, ih));
                double theta = Math.PI*3/2;
                x = (w - ih)/2.0;
                y = (ih + iw)/2.0 + 1;
                AffineTransform at = AffineTransform.getTranslateInstance(x, y);
                at.rotate(theta, iw/2.0, ih/2.0);
                g2.drawRenderedImage(scaled, at);
                g2.draw(at.createTransformedShape(new Rectangle2D.Double(0, 0, iw, ih)));
        private BufferedImage scaleTo(BufferedImage src, int w, int h) {
            //System.out.printf("type = %d%n", src.getType());
            // This type gives a better appearance after scaling.
            int type = BufferedImage.TYPE_INT_RGB;
            BufferedImage out = new BufferedImage(w, h, type);
            Graphics2D g2 = out.createGraphics();
            g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                                RenderingHints.VALUE_INTERPOLATION_BICUBIC);
            g2.setBackground(getBackground());
                             //java.awt.Color.pink);  // just checking
            g2.clearRect(0, 0, w, h);
            double xScale = (double)w/src.getWidth();
            double yScale = (double)h/src.getHeight();
            double scale = Math.min(xScale, yScale);    // scale to fit
                           //Math.max(xScale, yScale);  // scale to fill
            double x = (w - scale*src.getWidth())/2;
            double y = (h - scale*src.getHeight())/2;
            AffineTransform at = AffineTransform.getTranslateInstance(x, y);
            at.scale(scale, scale);
            g2.drawRenderedImage(src, at);
            g2.dispose();
            return out;
    }

  • Help to edit width and height of menu?

    http://www.ivoog.com/link4
    How can I edit the width and height of this menu so the
    background image fits? Please explain and give code if you can.
    Thanks!
    Here's the pictures for the menu:
    http://www.pics.ivoog.com/boxs1.gif
    http://www.pics.ivoog.com/boxs2.gif

    Your approach simply isn't going to work.
    The background image is a fixed width. It will not shrink or
    grow like the
    text in front of it.
    The background image is wider than the word "pie" but not as
    wide as the
    word "sigh".
    So, if you add padding to the left and right of the link to
    make the whole
    background show behind "pie", the same padding is added to
    "sigh". Now the
    "sigh" link is much wider than the background image. Because
    your
    background image repeats, you see the left edge of the next
    repeating one
    behind sigh.
    If you remove the padding to make it so you see just one
    image behind
    "sigh", now the padding around "pie" is too narrow to see the
    whole
    background.
    You could try giving each link a class and having a separate
    padding for
    each word, but all that is pretty useless because different
    people have
    different text size settings in their browsers.
    In some browsers, the words will be bigger than the
    background image.
    In others, the words will be small and you'll only see part
    of the
    background.
    The free tutorial I sent you is just that, a tutorial.
    You do the work, you have the copyright.
    If you are not interested in that one, here's another idea.
    You can use borders and simple background , like a gradient,
    to make a tab
    that looks just like your tab images and sizes along with
    your text...no
    matter how long the word is and no matter what size the text
    is.
    Here's the free tutorial.
    You don't even have to do the whole thing, just the first
    part where it
    shows you how to make links that look like image buttons.
    http://projectseven.com/tutorials/css/uberlinks/index.htm
    Good luck,
    Tim
    "hahahaadobeman" <[email protected]> wrote
    in message
    news:[email protected]...
    > Thanks for answering and sorry for the confusion. The
    only problem with
    > purchasing and doing this is copyright. I want to make
    my own code for the
    > menus so it is not copyrighted by anyone.
    >
    > Can you help edit the width and height of this menu so
    the background
    > image
    > fits? See how my link4 where it says pie sigh and all
    that the background
    > of
    > that doesn't fit with the image? Can you help with this
    problem? Thats all
    > I
    > really needed but thanks for all the links!
    >

  • How to calculate actual selection or group width and height with clipping

    If a group has clipping paths then the height and visible bounds will include the dimensions of all paths selected including the clipped or hidden paths.
    However, the width and height shown on the width and height of the AI detail boxes for the selection shows just the visible dimensions.
    I want to retrieve the same values that is shown on the screen when a group is selected.
    It is somewhat counterintuitive that the "visiblebounds" property does not show just what is visible.
    I'm scaling the visible content of a selection to fit within another path but I need to be able to calculate the dimensions of the only what is visible after clipping.
    What do you have to do with scripting to get these values? Go through all of the path items in a group recursively and save the min and max values of any visiblebounds for clipping paths? Any better alternatives that I don't see?
    Thanks for any help!

    I ended up using the visible bounds for both scale and position as I also discovered that attempting to position a group with the position method would also result in missing the mark. The top and left (x,y) bounds I calculated without the clipped dimensions needed to be used to offset the actual position where I wanted the visible paths to be displayed.
    The functions I used ended up looking like so:
    function GetPoints(dblInch)
         var dpi = 72;
         return dblInch * dpi;
    function getRealVisibleBounds(grp) {
         var outerBounds = [];
         for(var i = grp.pageItems.length - 1; i >= 0;i--)  {
              var bounds = [];
              if(grp.pageItems[i].typename == 'GroupItem') {
                   bounds =  getRealVisibleBounds(grp.pageItems[i]);
              else if((grp.pageItems[i].typename == 'PathItem' || grp.pageItems[i].typename == 'CompoundPathItem')
                   && (grp.pageItems[i].clipping || !grp.clipped)) {
                   bounds = grp.pageItems[i].visibleBounds;
              if (bounds.length > 0) {
                   outerBounds = maxBounds(outerBounds,bounds);
         return (outerBounds.length == 0) ? null : outerBounds;
    function positionVisible(grp,x,y)
         var bounds = getRealVisibleBounds(grp);
         var newX = GetPoints(x) + (grp.left - bounds[0]);
         var newY = GetPoints(y) + (grp.top - bounds[1]);
         grp.position = [newX,newY];
    function maxBounds(ary1,ary2) {
         var res = [];
         if(ary1.length == 0)
              res = ary2;
         else if(ary2.length == 0)
              res = ary1;
         else {
              res[0] = Math.min(ary1[0],ary2[0]);
              res[1] = Math.max(ary1[1],ary2[1]);
              res[2] = Math.max(ary1[2],ary2[2]);
              res[3] = Math.min(ary1[3],ary2[3]);
         return res;
    and were called like so:
    var doc = app.activeDocument;
    if (doc.selection.length > 0) {
         var grpOriginal = null;
         if(doc.selection.length == 1 && doc.selection[0].typename == 'GroupItem') {
              grpOriginal = doc.selection[0];
         else {
              grpOriginal = doc.groupItems.add();
         doc.selection = null;
         if(grpOriginal.layer.name != 'approval') {
              grpOriginal.move(doc.layers['approval'],ElementPlacement.PLACEATEND);
         var artBounds = getRealVisibleBounds (grpOriginal);
         var artWidth = artBounds[2] - artBounds[0];
         var artHeight = artBounds[1] - artBounds[3];
         var imprintHeight = GetPoints(0.625);       // 0.625 is new height, hardcoded for demonstration
         var imprintRatio = imprintHeight / artHeight;
         var section = doc.layers['sectionLeft'];    // section where I placed the art
         var grpArt = grpOriginal.duplicate(section,ElementPlacement.PLACEATEND);
         grpArt.resize(100.0 * imprintRatio,100.0 * imprintRatio);
         grpArt.move(section,ElementPlacement.PLACEATBEGINNING);
         grpArt.selected = true;
         positionVisible(grpArt,0.0,16.75);          // x & y hardcoded for demonstration
    else {
         alert('artwork needs to be selected');
    I'm new at this so are there any better options to do these things?

  • Getting maximum width and height of frame

    In my Flash CS4 application I have a problem working out the maximum x and y coordinates of the display objects that have been created in a frame using the frame editor. This is the sequence
    1. Using the frame editor on the timeline, I create a keyframe with a mixture of library symbols and text/graphics which are not symbols.
    2. In AS3 I take all of the screen objects and make them children of a Sprite that I created in my AS3 script. I then delete the objects off the screen and pass the parent Sprite to a class that I use to manage the screen.
    3. In the manage screen class the first thing I do is go through the child display objects to work out the maximum x and y coordinates so that I can centralise them on the screen later on.
    The problem is that I'm not able to work out the maximum x & y coordinates correctly. There is no problem with the symbol objects, I just add the x and width for example, for the maximum x coordinate. But for the non symbol objects this does not work. They appear to be combined in some way and the x/y & width/height do not seem to correspond to anything in the frame editor.  
    Is there a writeup anywhere on how Flash manages the graphics/text obects which are not symbols and are created by the editor in keyframes on the timeline? Finding the maximum x and y coordinates of a screen full of objects should be fairly simple, but I cannot see a way of doing it at the moment.
    Jerry

    On my JPanel I want to draw stuff, and for this I need to know the > > width and height of the JPanelIf you are drawing stuff, then you are in control off
    how big you want to draw the stuff. You can make the
    panel as big or small as you want and do your drawing
    accordingly.But doesn't the Layoutmanager of the frame set the size of the added panel according to the rest of the layout, or am I way off here?
    Do I need to setPreferredSize() or anything on thepanel before pack()?
    Try it and see what happens. If you don't give the
    panel a size then the pack() method basically ignores
    it as you have found out.Perhaps if I gave an example, you could point me in the right direction? The code below creates a JPanel of size 200x200, and draws a ball at a random spot on the panel. But since the frame is way bigger than 200x200 the panel gets stretched by the layoutmanager (right?). So what I really want to use when I calculate the x and y position is the width and height of the panel as it is displayed in the frame.
    Here goes:
    import javax.swing.*;
    import java.awt.*;
    class MyFrame extends JFrame {
      public MyFrame() {
        super("A ball");
        JPanel panel = new JPanel();
        panel.setSize(200, 200);
        int x = (int)(Math.random()*200);
        int y = (int)(Math.random()*200);
        panel.add(new Ball(x, y));    // Object Ball draws a ball at x,y
        getContentPane().add(panel, BorderLayout.CENTER);
        setSize(640, 480);
        show();
      public static void main(String[] args) {
        new MyFrame();
    }

  • Get width and height of a dynamically loaded image once it's done loading?!

    hello : :
    well... i'm taking my first shots at flex after programming
    in flash for a year now. it's been fun and i've been picking up on
    things pretty well (or so i think), but i come across something
    today that i used to be able to do in my as2 programming and don't
    know how to do in as3...
    in flex, i'm loading an image into an image control (by using
    "myImgControl.load(urlString)"). i have a "complete" parameter on
    the image control that calls a function just fine after the image
    is loaded, but if i try and check the hight and width of the loaded
    image once it loads, it comes back as zero. how can i get the
    height and width of the image after it's loaded?!
    in flash/as2 i used to do this little trick/work-around i
    found in a forum (kirupa.com, i think) to find out the width and
    height once the loaded image listener checked the loading process
    and came back "complete"... in the code below, "imgLoader" is the
    movieClip the image was loaded using
    imgLoaderListener.loadClip(urlString, imgLoader).
    quote:
    iTot = imgLoader.getBytesTotal();
    iLoad = imgLoader.getBytesLoaded();
    if (iLoad == iTot && iTot > 4) {
    imgH = imgLoader._height;
    imgW = imgLoader._width;
    that all make sense?!
    basically, it's as simple as this: i need to find something
    similar to the above for as3 that will tell me the width and height
    of a dynamically loaded image after it's done loading...
    so there ya have it. i appreciate any help any of you can
    throw my way! thank you so much for even reading this!
    : : michael

    I assume you have probably already figured this out, but just
    in case, there should be an event to listen for after which you can
    get the height and width information successfully. I can't remember
    the exact name, however. Experiment and see which one works
    time-wise.

Maybe you are looking for

  • Some EC-CS features not found in BCS

    Hello, in EC-CS there are two quite important features which don't see in BCS. They are: 1) Multy-period consolidation (for consolidation several periods at once). In budget consolidation it's often required to consolidate annual figures in monthly d

  • Cisco Trustsec using only ACS 5.2 and a 65k SXI with 802.1X

    Hi I hope that this is the correct place for this Q. I have setup an ACS 5.2 Server and enaled 802.1X authentication on a 65k running SXI5, as per the following section; Assigning SGT Using IEEE 802.1X User Authentication The link can be found below;

  • Error in PSA after running process chain

    Hello All, I have ran a process chain, which came back with an error.  I have checked the PSA and there is one line which has an error.  How can I resolve it and reload the data into the cube succesfully?  Is there away to delete the data from the PS

  • Where do ios6 (saved) safari files go

    Safari said could not open file (PDF) did I wish to save. If in fact it saved it where do one look for it.

  • How I can open Audition cc?, it says "updated"

    How I can open Audition cc?, it says "updated"