Question on cutting an image using a vector

OK, so i have a vector that i want to apply an image to. So i dropped the image into illustrator, and made a clipping mask, but if i go to save it, or print it, it tries to print space where the image is, even though it's only inside the vector outline. Kind of confusing with the wording, see pics, but I just want the vector to cut out of the image, and get rid of the rest of the image.  Is this possible in illustrator?

btwice,
You may read this thread:
http://forums.adobe.com/message/4766224#4766224
And then there is the destructive deed, with the Clipping Mask selected:
1) In the Transparency palette/panel dropdown list select anything but Normal (Multiply is fine);
2) Object>Flatten Transparency, just keep the defaults including 100% Vector;
3) Shudder.
And then there is the destructive deed, without a  Clipping Mask:
1) Select the cropping path, make it Fill/Nostroke, and change its Transparency>Opacity to 0;
2) Also select the image and Object>Flatten Transparency, just keep the defaults including 100% Vector, Object>Ungroup, and delete the unwanted parts;
3) Shudder.
Either should reduce the size to the Bounding Box of the Clipping Path.

Similar Messages

  • Comparing images using vector

    Sir and Maam! I just want to ask something.
    my project is all about face recognition. i got the ideas from here how to make it. well i am on the last part of it now.
    well what i do is this based on my research on forums.
    1. RGB to YUV
    2. get the location of the face
    3. grayscaled
    4. cut the location of the face.
    5. and i discrete cosine transform the cut off image.
    so i am on the final part. they say that it is easy to know if the face are the same using vector. but i cant get it.
    can you guys see if the operation is correct.
    i will attatch the image of my vi for subtracting the two vectors.
    Attachments:
    w.png ‏7 KB

    Hello there,
    I am having trouble following along with what you are trying to ask. Also, keep in mind I am not aware of what research you have done on the forums or what sources you have been referring to.
    With that let me start by asking, when you say you are at the final part, would that be the 6th step? If yes, am I to understand correctly that you have already recognized the face, cut it out, and preformed a discrete cosine transform of the cut out? 
    I have looked at the image you attached for subtracting the two vectors, and assume that this is the last step you are referring to. Please provide more information on what it is you are trying to do for this final step as I cannot say if the operation is correct if I do not understand what it is you are trying to do, and I do not want to assume. 
    Matthew R.
    Applications Engineer
    National Instruments

  • How can I use a vector image to stretch with the backgrounds in Muse master pages?

    How can I use a vector image to stretch with the backgrounds in Muse master pages?

    Maybe there's a bug.  I think it's only showing it when it wants to because look:

  • Is it possible to use a vector filter mask for smart filters?

    Hello
    I have a very specific question. With smart objects, you can use smart filters and you can use a smart filter mask to define the filter effect area. Now, the filter mask is like a regular layer mask, in that its effectively a raster image. I'm wondering if it's possible to use a vector filter mask as well? I haven't yet found an option to do so. Any help would be greatly appreciated.
    I'm using Photoshop CS5.
    Thank you
    R. Kroll

    I'm wondering if it's possible to use a vector filter mask as well?
    Not to the best of my knowledge.
    A possible workaround (depending on the SO) might be to duplicate it, apply the Filter and apply the Vector Mask to the SO itself.

  • Help displaying an image using the canvas!!!!!!!!

    Hey guys
    I don't know whether I am not grasping some concepts well.I have been going mad trying to get the code working
    Here is the code
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import java.io.*;
    * @author Administrator
    * @version
    public class MyMIDlet extends javax.microedition.midlet.MIDlet implements CommandListener{
    private Display display;
    private MyCanvas canvas;
    private Command exitcommand = new Command("Exit",Command.SCREEN,1);
    private Image source;
    public MyMIDlet() {
    protected void startApp() throws MIDletStateChangeException{
    if (display == null){
    initMIDlet();
    protected void pauseApp() {
    protected void destroyApp(boolean unconditional)throws MIDletStateChangeException {
    exitMIDlet();
    public void commandAction(Command c, Displayable d) {
    if (c == exitcommand){
    exitMIDlet();
    protected void initMIDlet() {
    display = Display.getDisplay(this);
    canvas = new MyCanvas(this);
    System.err.println("Canvas instiated succesfully");
    canvas.addCommand(exitcommand);
    canvas.setCommandListener(this);
    display.setCurrent(canvas);
    public void exitMIDlet() {
    notifyDestroyed();
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    import java.io.*;
    public class MyCanvas extends Canvas implements Runnable {
    private MIDlet midlet;
    private Image offscreen;
    private Image currentimage;
    private Graphics g;
    //MID profile application
    /** Creates a new instance of MyCanvas */
    public MyCanvas(MIDlet midlet) {
    this.midlet = midlet;
    try{
    currentimage = Image.createImage("/bird0.png");
    }catch(IOException e){
    System.err.println(e.getMessage());
    if (currentimage!= null){
    System.err.println("Image create successfully");
    }else{
    System.err.println("Image not created");
    try{
    Thread t = new Thread(this);
    t.start();
    }catch(Execption e){}
    protected void paint(Graphics g){
    Graphics saved = g;
    int x = getWidth();
    int y = getHeight();
    g.setColor(255,255,255);
    g.drawImage(currentimage,x,y,g.TOP|g.VCENTER);
    public void run() {
    repaint();
    I know for a fact that the Canvas class 's paint method is called by the system and not the application. This poses a problem for me because I am not sure how to pass the image to the piant method, so that it can be painted.
    When I run the program(using J2ME wtk04), this is the outcome.
    Image created succesfully
    Canvas instiatiated successfully
    null
    Here are my questions
    1) when is the paint method precisely called by the system?after a reference to the canvas class is created?
    2) is it wise to create the image when instiating the canvas class?( initially created the image using a separate thread)-when sould the image be created?
    3)how to let the application know when to use the image when painting the display area?
    I am just trying the logistics here. It is very crucial to me to understand the bolts of this as the core f my project fouses on the man machine interface development.(For the project, the cilent application is quering for the map using HTTP)
    I use a png file of size 161 bytes. Is that too big for testing purposes.
    I would all the help that I can get. thanks in advance

    1) when is the paint method precisely called by the system?after a reference to the canvas class is created?
    After the canvas is set as the current display, and after that, after the repaint() is called.
    2) is it wise to create the image when instiating the canvas class?( initially created the image using a separate thread)-when sould the image be created?
    It's better to create the image in the very begining of the program e.g. in the midlet initialization. You can call the created image as often as you like later on
    3)how to let the application know when to use the image when painting the display area?
    you have to tell it :))
    you can use if-then, switch, or anything else
    and you can use clipping too

  • How to create spark skins using fxg vector graphics&how to switch b/w spark skins at runtime/via XML

    Hi,
    I want to create a number of Spark Skins using some vector images that I have with me. I can obtain the vector images in FXG format-- but what I am looking for is some way to quickly create multiple skins for various UI elements like buttons, menus, radio button, checkboxes, etc -- not by converting the fxg->mxml but by using fxg files directly (after including them in the skins project in Flash Builder 4.6). Since I want to create many such skins (atleast 8-10) what is the fastest way of accomplishing this?
    Also, once I create multiple Spark Skins, how do I switch from one skin to another, in a running app? -- something like a template switcher, where the user viewing the flex app chooses a color, and the spark skin is immediately changed to the skin of that color (I would have already created the skin...). And can I store this skin template value in an XML? So that the end user can simply change this param in XML to change the design of the flex app?
    Arvind.

    Follow-up:
    Out of pure wishful thinking I decided I would just see what happened if I pretended 'exportFXG' was already a part of JSFL. Based on the signature of 'exportPNG', i tried the following lines:
      var success = fl.getDocumentDOM().exportFXG("file:///C:/mySymbol.fxg"); 
      fl.trace("success:"+success); // output: success:true 
    It worked! Fantastic! I'm not sure if exportFXG is considered still in "beta" and therefore intentionally excluded from the docs, or if it was just an oversight. But at least it gives us something to experiment with.

  • Use of Vector in undo operation ?

    Hello,
    I am developing simple paint program. And want to use undo redo operation for drawing in drawing canvas. Actually I have done it with the help of Vector. But the problem is that it is not working properly. The first drawn shape is not removing with this operation and also the problem is that When i am using CTRL+Z for undoing last drawing. It is not removing last drawn shape with first undo operation. Let me know that what is the exact problem in my coding. I am not fully java programmer. So please tell me what to do for that. I want to draw n level of drawing on drawing canvas and also want to perform n level (first drawn shape) undo actions. And also want to know how to make redo button for same coding only use of Vector or ArrayList.
    My code is here:
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.BufferedImage;
    import javax.swing.*;
    import java.util.*;
    public class PaintUndo extends JFrame
         Display pan = new Display();
    public PaintUndo()
         addWindowListener(new WindowAdapter()
        {     public void windowClosing(WindowEvent ev)
              {     dispose();
                   System.exit(0);}});
         getContentPane().add("Center",pan);
           setBounds(1,1,600,400);
         JMenuBar  menu = new JMenuBar();;
         JMenu     submenu;
         JMenuItem item, redo;
         submenu = new JMenu("Edit");     
         item = new JMenuItem("UnDo");
        item.setMnemonic(KeyEvent.VK_Z);
            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));
         item.addActionListener((ActionListener)pan);
         submenu.add(item);   
         menu.add(submenu);
         getContentPane().add("North",menu);
         setVisible(true);
    public class Display extends JComponent implements MouseMotionListener, MouseListener, ActionListener
         Vector   saves = new Vector();
         BufferedImage image = null;
         Graphics ig;
         Graphics pg;
         Point point;
        int x1=0;
        int y1=0;
    public Display()
         setBackground(Color.pink);
         addMouseMotionListener(this);
        addMouseListener(this);
    public void paintComponent(Graphics g)
         if (image == null)
              image = (BufferedImage) createImage(800,600);
              ig = image.createGraphics();
              ig.setColor(Color.white);
              ig.fillRect(0,0,800,600);
              ig.setColor(Color.blue);
              pg = getGraphics();
              pg.setColor(Color.blue);
         g.drawImage(image,0,0,this);
    public void mouseDragged(MouseEvent e)
            int x2 = e.getX(); int y2 = e.getY();
                Graphics gr = image.getGraphics();
                   gr.drawLine(x1, y1, x2, y2);
                repaint();
                x1 = x2; y1 = y2;
    public void mouseMoved(MouseEvent e)
    public void actionPerformed(ActionEvent a)
         if (a.getActionCommand().equals("UnDo") && saves.size() > 0)
              ig.drawImage((Image)saves.remove(saves.size()-1),0,0,null);
              repaint();
            public void mouseClicked(MouseEvent e) {
                System.out.println("mouse clicked....");
            public void mousePressed(MouseEvent e) {
                System.out.println("mouse pressed....");
                x1 = e.getX();
                   y1 = e.getY();
            public void mouseReleased(MouseEvent e) {
                System.out.println("mouse released....");
               Image tmg = createImage(800,600);
              Graphics tg = tmg.getGraphics();
              tg.drawImage(image,0,0,null);
              saves.add(tmg);
            public void mouseEntered(MouseEvent e) {
            public void mouseExited(MouseEvent e) {
    public static void main (String[] args)
         new PaintUndo();
    }This is complete code for undoing.
    Any help will be appreciated.
    Thanks in advance.
    Manveer

    The example code is set up for a protocol completely different than what you are doing, so you can't simply copy it and hope it works.  The example code expects that the other side will send a 4-byte header containing the number of data bytes that follow, then send the data.  The example code first reads that 4-byte header, casts it to an integer, and reads that number of bytes (the second Bluetooth Read).
    When you run this with your device, the first read gets your 4 bytes - FF FF 22 33 - and converts that to an integer.  0xFFFF2233 is decimal 4294910515.  So you then try to read this huge number of bytes and you get an error - looks like error 1, an input parameter is invalid, because you can't read 4GB at once.  You can probably get your code working with a single Bluetooth Read, with a 1 second timeout (because you have a 1 second delay between packets).  You'll want to wire in some number of bytes to read that is at least the size of the largest packet you ever expect, but don't use a ridiculously huge number that generates an error.  LabVIEW will return as many bytes as are available when the timeout expires, even if it isn't as many as you asked to read (you might also get a timeout error, though, which you'll need to clear).  You can then do whatever you need to do with that data - search for FF FF, typecast anything after that to array of U16, display it. 
    The output of the Bluetooth Read is a string, but it's not text - it's exactly the bytes that were sent.  The Y with the dots over it is the way ASCII 255 (0xFF) displays (at least in that font).  ASCII 34 (0x22) is ", and ASCII 51 (0x33) is the number 3.

  • How do I cut an image in half and move the halves independently?

    How do I cut an image in half, and move the halves independently?

    Use the rectangular marquee tool to select half the image, then Layer>New Layer via cut. You can turn on the rulers and set a guide so you'll know the boundaries you want if you need it to be exactly half.
    If you want to also be able to move the other half, before you start double click the background layer in the layers panel to turn it to a regular layer.

  • How to  upload and display image using bsp application

    hi
    I  just wants to know that
    1- how to  upload image from BSP page with attachment into sap server .?
    2-how to display image in to BSP page(webpage).
    thanks

    Hello Gupta Prashant,
    Just to upload and display an image, import image in MIME repository. Not only still images but also flash files can also be uploaded in the MIME repository. Once you import the image in it, use normal html code for image call;
    <img src = "file.jpg/gif" width=  height=>
    Besides it, if your requirement is to store the image in the database and fetch it based on specified field-name, then you have to go for BLOBs i.e Binary Large Object, using this you can also store images, videos, pdfs, applications in the database.
    MBLOB - Medium BLOBs store videos and pdfs,
    LBLOB  - Large BLOBs store movie files and applications.
    You have got 2 ways to use it; some databases store BLOB objects into themselves and some store the path of the BLOB object maintained on the FTP server.
    You can also implement it in ABAP;
    read the following link and practice the tutorial;
    [ Use of MIME Types|http://help.sap.com/saphelp_45b/helpdata/en/f1/b4a6c4df3911d18e080000e8a48612/content.htm]
    also check this
    [TYPES - LOB HANDLE|http://help.sap.com/abapdocu/en/ABAPTYPES_LOB_HANDLE.htm]
    And looking at your question, in order to upload an image, you can make use of FILEUPLOAD tag provided by HTMLB.
    Step 1: FILEUPLOAD provides a browse button to choose desired image file.
    Step 2: Store that image in database using BLOBs.
    Step 3: Retrieve the image using normal select query and display it on the screen.
    Hope it helps you,
    Zahack

  • Full screen widget cut my images

    Hi, i´m using a full screen widget to show various images of my portfolio, but that widget cuts my images at bottom:
    Original Image:
    In Full Screen widget:
    It´s annoying because i need to show too many images, can someone help me?
    Thanks!

    Please post a screenshot of this slideshow widget selected in Muse Design view with the Widget Options panel displayed (the panel off the blue dot) so the community can better understand how to help. Thanks.

  • Newbie question - how to save images out of an fla file

    I have what I'm sure is a very basic flash question. I have a flash movie (swf) and the accompanying fla file. I can open the fla file, and see all the images used in the file (symbols in the library), but how can I export or save one of these images separately from flash?

    you can right click, copy an image and then paste it into your choice of photoediting software.

  • How to get muliple teaser images using assetset:getmultiplevalues?

    1. I have created a template called sample and Names it as sample.jsp
    2. In the subTypes i selected a pageDefinition which i created alrady with the following page attributes
         1.teaserImager 2.teaserText
         Both attributes are Multiple
    3. I then created a asset HomePage of asset type Page.
    4. For that HomePage i applied a template sample which i created in Step 1.
    5.I added 4 teaser images and teser texts in the contributor interface
    6. In eclipse i am trying to modify sample.jsp to fetch the teaser images using assetset:getmultiplevalues. But no success?
    Could anybody tell me how to fetch the teaser images using getmultplevalues?
    Below is the code which is not working, just for ref.
    <render:logdep cid='<%=ics.GetVar("tid")%>' c="Template" />
    <assetset:setasset name="home" type="Page" id='<%=ics.GetVar("cid")%>' />
    <assetset:getattributevalues name="home" attribute="teaserImages" listvarname="teasersImg" typename="PageAttribute" />
    *<assetset:getmultiplevalues name="home" list="teasersImg" prefix="sample" />*
    *<ics:listloop listname="sample:value">*
                   *<insite:calltemplate tname="Detail" c="AVIImage"*
                        cid='<%=ics.GetVar("imageId")%>' assettype="Page"
                        assetid='<%=ics.GetVar("cid")%>' field="teasersImg" index="1" />
              *</ics:listloop>*
    Above code gives me the exception saying
    Exception in doEndTag() in tag com.openmarket.gator.jsp.assetset.Getmultiplevalues in page 'avisports/Page/InsiteLayout' in element 'Page/InsiteLayout' errno: -13102 errdetail: 0
    com.openmarket.basic.interfaces.AssetException: Can't find attribute type: 1330543072207
    thanks
    Sri
    Edited by: 987672 on Feb 12, 2013 12:15 PM

    Hi Nick, I do see information on creating a slideshow with Quicktime at: http://www.apple.com/quicktime/tutorials/slideshow.html
    however it appears Quicktime X removed that capability. There is no 'open image sequence' option from the File menu in Quicktime X.
    If I do end up sticking with Final Cut - would you recommend any codec and/or dimension size that would result in the best quality or the most crisp image? I also need a few fade in's and out's on various parts - I don't believe I would have the control without Final Cut.
    Would resizing the image files in Photoshop to 1920 pixels by 1280 before importing them into Final Cut result in crisper images? Thanks.

  • Finding the images used in my Forest Screensaver to use as a Desktop

    I guess the question is fairly self explanatory from the subject.
    Is it possibe for someone to tell me the location of the images used in the Forest Screensaver that comes with OSX so that I can use the images a desktop images, because I like them.
    I realise some of them are in the nature desktop folder, but there are many others that aren't. I've tried to spotlight search it to no avail, all it finds is the screensaver itself
    Thanks
    James K

    Applications are special folders and you can view their contents.
    Open HD/System/Library/Screen Savers folder.
    Hold down the Control key as you click on one of the app icons. Choose Show Package Contents from the pop-up menu.
    Open the Contents/Resources folder to view the image files. Use the Option key (hold down while dragging from the folder) and drag those you want to a new Desktop folder where they will copy.

  • Rutime error: ArrayIndexOutOfBoundsException -- though i'm using a vector!!

    hello,
    here is my situation,
    I have a vector in which u find classes' names in the following order:
    v.get[0] contains a class name
    v.get[1] contains a class that inherits from v.get[0]
    v.get[2] contains a class( it may b the same as v.get[0] or v.get[1])
    v.get[3] contains a class that inherits from v.get[2]
    etc....
    so I have to write a code that draws me the tree inheritance( I can have many trees so i have to find first the different roots)
    here is the code i wrote but i still have an error at runtime and i hope u can help me
    import java.util.*;
    public class DrawClasses{
    public static void main(String args[]){
    draw();
    public static void draw() throws ArrayIndexOutOfBoundsException{
    String s="";
    int sum=0;
    Vector< String > v = new Vector< String >();
    Vector< String > v1 = new Vector< String >();
    Vector< String > v2 = new Vector< String >();
    v.add("A");// A is the first root
    v.add("B");
    v.add("A");
    v.add("C");
    v.add("A");
    v.add("D");
    v.add("B");
    v.add("E");
    v.add("B");
    v.add("F");
    v.add("B");
    v.add("G");
    v.add("C");
    v.add("H");
    v.add("C");
    v.add("I");
    v.add("D");
    v.add("J");
    v.add("G");
    v.add("K");
    v.add("G");
    v.add("L");
    v.add("I");
    v.add("M");
    v.add("Z");// Z is the other root
    v.add("O");
    v.add("Z");
    v.add("P");
    for(int i=0; i<v.size(); i++) //get distinct classes and fill them in vector v1
       if( v1.contains(v.get(i))){}
       else {v1.add(v.get(i));}
    for(int i=0;i<v1.size();i++)//get root classes and fill them in vector v2
       for(int j=0;j<v.size();j++)
         if (v.get(j).equals(v1.get(i)))
            if(j%2!=0){sum=sum+1; }
       if(sum==0)
          {v2.add(v1.get(i));}
          sum=0;
    for(int i=0;i<=v1.size();i++) // get the tree for each root class
      if(v2.contains(v1.get(i)))
        System.out.println(v1.get(i)+" is root");
        for(int j=0;j<=v1.size();j++)
           for(int k=0;k<v.size();k++)
             if(v1.get(j)==v.get(k) && k%2==0)
                if(v2.contains(v1.get(j)) && !v1.get(j).equals(v1.get(i))){} else
                System.out.println(v.get(k+1)+" inherits from "+v1.get(j));
    //ListIterator iter = v2.listIterator();
    //while (iter.hasNext()) {
        //System.out.println((String)iter.next());}
    NB:the runtime gives me the output only for one tree and then it gives me the error at runtime
    Thank you

    But if you had been programming in Java (instead of bastardized C) you wouldn't have had that problem. Instead of this:
    for(int i=0; i<v.size(); i++) //get distinct classes and fill them in vector v1
      if( v1.contains(v.get(i))){}
      else {v1.add(v.get(i));}
    }you could write this:
    for (String s: v) {
      if ( ! v1.contains(s)) {
        v1.add(s);
    }This does bring up the question about why you don't just use a Set if you want to store only distinct entries. And there's the question of why you're using the obsolete Vector class. But let's leave it there for now.

  • Using a vector graphic for a button

    Adobe Photoshop, Illustrator, and Encore CS5, everything is patched, Windows 7 64-bit
    I have been reading various posts, and either not seeing or not understanding something about using a vector graphic as a button on a menu.
    I drew a one-color shape in Illustrator, saved it as EPS and PNG and used it in a menu designed in Photoshop. When I preview it in Encore or burn a DVD, the graphic looks awful. And I'd like to use highlighting with it so it changes color when selected but that is another problem....
    To start the menu, I used the Photoshop preset NTSC DV Widescreen which has a pixel aspect ratio of 1.21. Then I added background graphics and so on. Each button is contained in a layer group named (+)PlayAll, etc. In each layer group is a text layer that doesn't have a prefix (e.g., Play All) and another layer with the vector or PNG named (=1)kv, which is the name of the EPS or PNG file.
    The behavior is fine. The graphic moves to indicate which menu item is selected, the text is constant, never changes.
    In Photoshop, the graphic looks fine but when I preview it in Encore it looks crappy and pixelated. What do I do?

    Part of the problem is I have no idea what some of these terms mean ... "2-bit indexed", ... The first one might mean an object that has one color,
    It is not the same as one color, and yes, it probably means more than any of us intend.  See  Encore help regarding button subpictures, in particular the part regarding using Photoshop to create button subpictures.
    The latter includes "(Technically, the subpicture overlay is a two‑bit indexed image.)," but you don't need to understand the technical meaning (they don't explain it anyway).  You do need to understand the liimitations they explain there,  For example, under "solid colors only," they say "Elements on these layers must use solid colors and sharp edges. Use one solid color per layer. Do not use gradients, feathering, or anti-aliasing on the subpicture layers. Color gradations are not possible in subpictures."
    "sub-picture highlight" ... the second one is probably made up.
    Heh, heh.  Searching that in Encore help (which I often find lacking) finds the page on Button Subpictures.  I agree that some of the terms, whether they are from the DVD specs or Sonic's applications (on which Encore is based), can make it difficult to look things up.
    "vector layer".... I searched Photoshop help for "vector layer" and got nothing. There is such a thing as a vector mask on a layer but I have no clue what a vector layer is.
    You're correct - vector mask.  Within a button group, the vector mask will be part of a layer, so I think of it as the button group "vector mask" layer.  That's part of why I pointed to using a library menu and editing in photoshop so you could compare what you have to what a template looks like.
    Please suggest which Encore library menu I can try. I opened a couple and couldn't figure out how they worked.
    In the General set, pick the Sunset menu.  Edit in Photoshop.  Expand the "(+) play movie" layer.  The "button vector mask" (the dark area) is in the layer called "button."  Notice that it does not have a (=1) or other indicator that it is a highlight.  In other words, it will just sit there, in whatever color is defined, and will not be a highlight.  If you put it in a layer that has one of the highlight indicators (the =1, =2 etc), it will then be subject to the subpicture highlight limitations.
    You might try your graphic in such a non-subpicture layer, and compare its appearance to putting it in a subpicture layer.
    Jeff Bellune's book (he's a moderator here) is still very applicable.  While some things have change, the basics haven't.
    But, hey, Jeff.  Why haven't you updated your book yet?  Inquiring minds want to know!

Maybe you are looking for