Image resize after form upload

I've a form where it's possible to upload an image.
Now I want to resize that image to a particular size.
I can do the job at command line, but when I use that code into my jsp, it doesn't work!
For Example:
<%@ page import="java.awt.*" %>
<%@ page import="java.awt.image.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.sun.image.codec.jpeg.*" %>
<%
String imageFrom = request.getParameter("from");
String imageTo = request.getParameter("to");
int finalwidth = 100;
int finalheight = 140;
Image img = getToolkit().getImage(originalImage);
%>
this is the error, 'cause it can't find the getToolkit() function:
[ Method getToolkit() not found in class etc etc ]
Any suggestion?

Thanks for the post. I have tried what you suggested, and I am getting an error:
java.lang.RuntimeException: - Unable to render RenderedOp for this operation.
     at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:813)
     at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:853)
     at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2135)
     at image0test_0process__jsp._jspService(/test.jsp:42)
and line 42 corresponds to:
float imgW = imgOp.getWidth() + 0.0f;
and the server's system.out has:
java.lang.ArrayIndexOutOfBoundsException
at java.awt.image.SinglePixelPackedSampleModel.setPixels(SinglePixelPackedSampleModel.java:602)
at java.awt.image.WritableRaster.setPixels(WritableRaster.java:445)
at java.awt.image.WritableRaster.setRect(WritableRaster.java:367)
at java.awt.image.WritableRaster.setRect(WritableRaster.java:321)
at com.sun.media.jai.codecimpl.JPEGImage.<init>(JPEGImageDecoder.java:146)
at com.sun.media.jai.codecimpl.JPEGImageDecoder.decodeAsRenderedImage(JPEGImageDecoder.java:51)
at com.sun.media.jai.opimage.CodecRIFUtil.create(CodecRIFUtil.java:89)
at com.sun.media.jai.opimage.JPEGRIF.create(JPEGRIF.java:52)
at java.lang.reflect.Method.invoke(Native Method)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1669)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:481)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:340)
at com.sun.media.jai.opimage.StreamRIF.create(StreamRIF.java:104)
at java.lang.reflect.Method.invoke(Native Method)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1669)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:481)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:340)
at com.sun.media.jai.opimage.FileLoadRIF.create(FileLoadRIF.java:109)
at java.lang.reflect.Method.invoke(Native Method)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1669)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:481)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:340)
at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:805)
at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:853)
at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:874)
at image0test_0process__jsp._jspService(_test__jsp.java:74)
java.lang.reflect.InvocationTargetException: java.lang.RuntimeException: Unable to process image stream, incorrect format.
at com.sun.media.jai.codecimpl.JPEGImage.<init>(JPEGImageDecoder.java:114)
at com.sun.media.jai.codecimpl.JPEGImageDecoder.decodeAsRenderedImage(JPEGImageDecoder.java:51)
at com.sun.media.jai.codec.ImageDecoderImpl.decodeAsRenderedImage(ImageDecoderImpl.java:148)
at com.sun.media.jai.opimage.StreamRIF.create(StreamRIF.java:135)
at java.lang.reflect.Method.invoke(Native Method)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1669)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:481)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:340)
at com.sun.media.jai.opimage.FileLoadRIF.create(FileLoadRIF.java:109)
at java.lang.reflect.Method.invoke(Native Method)
at javax.media.jai.FactoryCache.invoke(FactoryCache.java:130)
at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1669)
at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:481)
at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:340)
at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:805)
at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:853)
at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:874)
at image0test_0process__jsp._jspService(_test__jsp.java:74)
Looking at that I would guess that the image is in the wrong format, but I have tried it with many different jpg files that otherwise work fine. Is there something missing from the code?
Thanks.

Similar Messages

  • Image resizing after user clicking on it

    Hej,
    Im new to flash. Id like to create image resizing feature.
    After user clicking or pointing on it the image should become
    bigger. I was looking for some tutorial but couldnt find any.
    Can anyone help?Any tip, tutorial, actionscript?
    Regards,
    Nina

    Hi,
    Do other users still work well?
    Locate to Services, find Print Spooler service and check if its startup type is set as Automatic.
    Have you cleared and reset your print spooler?
    Open Services, and stop the Print Spooler service.
    Navigate to the folder below, and open the PRINTERS.
    C:\Windows\system32\spool\PRINTERS
    Delete all files in the PRINTERS folder until it is empty,
    Re-start the Print Spooler service
    Andy Altmann
    TechNet Community Support

  • Problem with image resize after canvas resize in CS6

    In previous versions I have been able to resize the canvas and then resize the image.  For example resize the canvas to 250px x 250 px.  Then resize the image to the same.
    Here is the process I am using:
    Duplicate the layer and then hide it. 
    Resize the canvas (Image > Canvas Size) to 250px x 250 px. 
    Un-hide the layer and then resize the image (Image > Image Size).  When I go into Image>Image Size it says that the image is already 250px x 250px.  However if I try to transform the scale the image is the original size and not 250px x 250px
    The reason for needing this is I resize image size (in bulk) and the canvas size using the batch process (file>automate>batch) and actions.   I loaded the actions file I used in previous versions, but that did not work correctly.  I then went in to do this manually and got the same results.
    Any ideas??

    Please post the Action set *.atn file and name of the action in the set. 
    What you wrote seems like normal operation.
    Duplicate the layer and then hide it. 
    Resize the canvas (Image > Canvas Size) to 250px x 250 px. 
    Un-hide the layer and then resize the image (Image > Image Size).  When I go into Image>Image Size it says that the image is already 250px x 250px.  However if I try to transform the scale the image is the original size and not 250px x 250px
    There is no reason to hide and unhide the layer.
    When you change Canvas Size the only layer the may actually get changed is the "Background Layer" for the bankground layer does not suppoty tranparency so Pixels of some color will be added to the background layer if your increasing canvas size or Pixels will be cropped off the background layer if you decreasing canvas size.  Canvas Size = Document Size = Image size.  Canvas size change does not change the size of other layer.  Only their position over the canvas may change.  Layers other then the background layer can be any size. They can be the same size as the canvas size or they may be larger or smaler then the canvas size and they can have any aspect ratio and any shape.  As you saw when you ise free transform on your layer.

  • Image upload error. Error resizing image: Error converting image (image resize)

    Developer Details:
    Image upload error. Error resizing image: Error converting image (image resize). The "" folder has no write permissions. (IMG_RESIZE)
    User Error:
    Image upload error. Error resizing image.
    tNG Execution Trace - VIEW
    tNG_update.executeTransaction
    STARTER.Trigger_Default_Starter
    tNG_update.doTransaction
    BEFORE.Trigger_Default_saveData
    tNG_update.saveData
    BEFORE.Trigger_Default_FormValidation
    tNG_update.prepareSQL
    tNG_update.executeTransaction - execute sql
    AFTER.Trigger_ImageUpload
    tNG_update.afterUpdateField - frumorsimg, Fimg1.gif*
    tNG_update.getRecordset
    tNG_update.getFakeRsArr
    tNG_update.getLocalRecordset
    tNG_update.getFakeRecordset
    does anybody know why this happens?
    My folders are 777. The image is being uploaded.
    If I turn off the resizing the page loads fine.
    The error appears when having the resizing or when displaying a thumbnail.
    Please help!!!!
    Thank you

    I am not a php guy but just trying to help out..
    1. check what u have configured in the control panel of ADDT for image resize.
    2. i have heard something called GD is used. or image magick.
    3. in asp i use image magic.
    the image resize will use some temporary directory..
    ur webserver will run as some account so ..
    it should have write permission on this temporary directory.
    and the library u specified it to use for resizing should also physically exist.
    and ofcourse the anonymous webuser account should be able to create process to resize this image.

  • Why won't Photoshop revert to earlier history state after image resize when scripted?

    I've written an Applescript to automate watermarking and resizing images for my company. Everything generally works fine — the script saves the initial history state to a variable, resizes the image, adds the appropriate watermark, saves off a jpeg, then reverts to the initial history state for another resize and watermark loop.
    The problem is when I try not to use a watermark and only resize by setting the variable `wmColor` to `"None"` or `"None for all"`. It seems that after resizing and saving off a jpeg, Photoshop doesn't like it when I try to revert to the initial history state. This is super annoying, since clearly a resize should count as a history step, and I don't want to rewrite the script to implement multiple open/close operations on the original file. Does anyone know what might be going on? This is the line that's generating the problem (it's in both the doBig and doSmall methods, and throws an error every time I ask it just to do an image resize and change current history state):
                        set current history state of current document to initialState
    and here's the whole script:
    property type_list : {"JPEG", "TIFF", "PNGf", "8BPS", "BMPf", "GIFf", "PDF ", "PICT"}
    property extension_list : {"jpg", "jpeg", "tif", "tiff", "png", "psd", "bmp", "gif", "jp2", "pdf", "pict", "pct", "sgi", "tga"}
    property typeIDs_list : {"public.jpeg", "public.tiff", "public.png", "com.adobe.photoshop-image", "com.microsoft.bmp", "com.compuserve.gif", "public.jpeg-2000", "com.adobe.pdf", "com.apple.pict", "com.sgi.sgi-image", "com.truevision.tga-image"}
    global myFolder
    global wmYN
    global wmColor
    global nameUse
    global rootName
    global nameCount
    property myFolder : ""
    -- This droplet processes files dropped onto the applet
    on open these_items
      -- FILTER THE DRAGGED-ON ITEMS BY CHECKING THEIR PROPERTIES AGAINST THE LISTS ABOVE
              set wmColor to null
              set nameCount to 0
              set nameUse to null
              if myFolder is not "" then
                        set myFolder to choose folder with prompt "Choose where to put your finished images" default location myFolder -- where you're going to store the jpgs
              else
                        set myFolder to choose folder with prompt "Choose where to put your finished images" default location (path to desktop)
              end if
              repeat with i from 1 to the count of these_items
                        set totalFiles to count of these_items
                        set this_item to item i of these_items
                        set the item_info to info for this_item without size
                        if folder of the item_info is true then
      process_folder(this_item)
                        else
                                  try
                                            set this_extension to the name extension of item_info
                                  on error
                                            set this_extension to ""
                                  end try
                                  try
                                            set this_filetype to the file type of item_info
                                  on error
                                            set this_filetype to ""
                                  end try
                                  try
                                            set this_typeID to the type identifier of item_info
                                  on error
                                            set this_typeID to ""
                                  end try
                                  if (folder of the item_info is false) and (alias of the item_info is false) and ((this_filetype is in the type_list) or (this_extension is in the extension_list) or (this_typeID is in typeIDs_list)) then
      -- THE ITEM IS AN IMAGE FILE AND CAN BE PROCESSED
      process_item(this_item)
                                  end if
                        end if
              end repeat
    end open
    -- this sub-routine processes folders
    on process_folder(this_folder)
              set these_items to list folder this_folder without invisibles
              repeat with i from 1 to the count of these_items
                        set this_item to alias ((this_folder as Unicode text) & (item i of these_items))
                        set the item_info to info for this_item without size
                        if folder of the item_info is true then
      process_folder(this_item)
                        else
                                  try
                                            set this_extension to the name extension of item_info
                                  on error
                                            set this_extension to ""
                                  end try
                                  try
                                            set this_filetype to the file type of item_info
                                  on error
                                            set this_filetype to ""
                                  end try
                                  try
                                            set this_typeID to the type identifier of item_info
                                  on error
                                            set this_typeID to ""
                                  end try
                                  if (folder of the item_info is false) and (alias of the item_info is false) and ((this_filetype is in the type_list) or (this_extension is in the extension_list) or (this_typeID is in typeIDs_list)) then
      -- THE ITEM IS AN IMAGE FILE AND CAN BE PROCESSED
      process_item(this_item)
                                  end if
                        end if
              end repeat
    end process_folder
    -- this sub-routine processes files
    on process_item(this_item)
              set this_image to this_item as text
              tell application id "com.adobe.photoshop"
                        set saveUnits to ruler units of settings
                        set display dialogs to never
      open file this_image
                        if wmColor is not in {"None for all", "White for all", "Black for all"} then
                                  set wmColor to choose from list {"None", "None for all", "Black", "Black for all", "White", "White for all"} with prompt "What color should the watermark be?" default items "White for all" without multiple selections allowed and empty selection allowed
                        end if
                        if wmColor is false then
                                  error number -128
                        end if
                        if nameUse is not "Just increment this for all" then
                                  set nameBox to display dialog "What should I call these things?" default answer ("image") with title "Choose the name stem for your images" buttons {"Cancel", "Just increment this for all", "OK"} default button "Just increment this for all"
                                  set nameUse to button returned of nameBox -- this will determine whether or not to increment stem names
                                  set rootName to text returned of nameBox -- this will be the root part of all of your file names
                                  set currentName to rootName
                        else
                                  set nameCount to nameCount + 1
                                  set currentName to rootName & (nameCount as text)
                        end if
                        set thisDocument to current document
                        set initialState to current history state of thisDocument
                        set ruler units of settings to pixel units
              end tell
      DoSmall(thisDocument, currentName, initialState)
      DoBig(thisDocument, currentName, initialState)
              tell application id "com.adobe.photoshop"
                        close thisDocument without saving
                        set ruler units of settings to saveUnits
              end tell
    end process_item
    to DoSmall(thisDocument, currentName, initialState)
              tell application id "com.adobe.photoshop"
                        set initWidth to width of thisDocument
                        if initWidth < 640 then
      resize image thisDocument width 640 resample method bicubic smoother
                        else if initWidth > 640 then
      resize image thisDocument width 640 resample method bicubic sharper
                        end if
                        set myHeight to height of thisDocument
                        set myWidth to width of thisDocument
                        if wmColor is in {"White", "White for all"} then
                                  set wmFile to (path to resource "water_250_white.png" in bundle path to me) as text
                        else if wmColor is in {"Black", "Black for all"} then
                                  set wmFile to (path to resource "water_250_black.png" in bundle path to me) as text
                        end if
                        if wmColor is not in {"None", "None for all"} then
      open file wmFile
                                  set wmDocument to current document
                                  set wmHeight to height of wmDocument
                                  set wmWidth to width of wmDocument
      duplicate current layer of wmDocument to thisDocument
                                  close wmDocument without saving
      translate current layer of thisDocument delta x (myWidth - wmWidth - 10) delta y (myHeight - wmHeight - 10)
                                  set opacity of current layer of thisDocument to 20
                        end if
                        set myPath to (myFolder as text) & (currentName) & "_640"
                        set myOptions to {class:JPEG save options, embed color profile:false, quality:12}
      save thisDocument as JPEG in file myPath with options myOptions appending lowercase extension
                        set current history state of current document to initialState
              end tell
    end DoSmall
    to DoBig(thisDocument, currentName, initialState)
              tell application id "com.adobe.photoshop"
                        set initWidth to width of thisDocument
                        if initWidth < 1020 then
      resize image thisDocument width 1020 resample method bicubic smoother
                        else if initWidth > 1020 then
      resize image thisDocument width 1020 resample method bicubic sharper
                        end if
                        set myHeight to height of thisDocument
                        set myWidth to width of thisDocument
                        if wmColor is in {"White", "White for all"} then
                                  set wmFile to (path to resource "water_400_white.png" in bundle path to me) as text
                        else if wmColor is in {"Black", "Black for all"} then
                                  set wmFile to (path to resource "water_400_black.png" in bundle path to me) as text
                        end if
                        if wmColor is not in {"None", "None for all"} then
      open file wmFile
                                  set wmDocument to current document
                                  set wmHeight to height of wmDocument
                                  set wmWidth to width of wmDocument
      duplicate current layer of wmDocument to thisDocument
                                  close wmDocument without saving
      translate current layer of thisDocument delta x (myWidth - wmWidth - 16) delta y (myHeight - wmHeight - 16)
                                  set opacity of current layer of thisDocument to 20
                        end if
                        set myPath to (myFolder as text) & (currentName) & "_1020"
                        set myOptions to {class:JPEG save options, embed color profile:false, quality:12}
      save thisDocument as JPEG in file myPath with options myOptions appending lowercase extension
                        set current history state of current document to initialState
              end tell
    end DoBig

    As many others here I use JavaScript so I can’t really help you with your problem.
    But I’d like to point to »the lazy person’s out« – with many operations that result in creating a new file on disk I simply duplicate the image (and flatten in the same step) to minimize any chance of damaging the original file if the Script should not perform as expected.

  • PHP -Mysql image resize and upload

    All,
    Any good ideas, code out there to help me do a PHP MySQL image resize, uploade and display? Thanks for your help!

    For upload image, u may look at the similar thread HERE

  • Newbie to LR3 - Local sharpen after image resize ?

    Maybe someone can point me to help. I just post to web on Flickr, no printing yet.
    I started photo editing with PSE5 & have moved to PSE8 since. A Mark Galer book about PSE started me on a path of .raw editing & i've been using his scheme since. I hoped i was moving to a smoother overall process with LR3, but now that i've gotten it i have a lot more doubts. I can see improves through the develop phase (sort of a curves, grad filter, noise removal, lens correction). After that, i feel only lacks (with my current low knowledge level).
    The things i want included past develop are these: image resize, local sharpening (and blurring - after image resize) smooth border capability (with choice of color). One way of course is to export to PSE8. I expected more from LR3, though - rather than just 2/3 of a job for 3 * the price.

    Pete Marshall pointed out one of the quickest resources for information on using Lightroom's tools, but that's not a tutorial! LR is best learned using one or more of the on-line tutorials or LR books available......and then using it! Lightroom's non-destructive workflow has been tailored to fit the specific needs of the "digital photographer" for processing Camera RAW image files. Photoshop has a vast arsenal of both destructive and non-destructive tools for general image processing, but with no specific focus on usage.
    Everything you stated in your last sentence can be done very easily in LR, but using an entirely different workflow organization than Photoshop.
    The things i want included past develop are these: image resize, local sharpening (and blurring - after image resize) smooth border capability (with choice of color). One way of course is to export to PSE8. I expected more from LR3, though - rather than just 2/3 of a job for 3 * the price.
    1) image resize, local sharpening (and blurring - after image resize) - This can be done using the LR Export function and adjusting 'Image Size,' and 'Output Sharpening.' NO, it is not the same methodology as Photoshop. NO, it is not as flexible. YES, it does a very nice job with the vast majority of "digital camera image files," once you get used to a different workflow.
    2) smooth border capability (with choice of color) - This can be done using LR's 'Slideshow', 'Print', and Web Modules, choosing the one most appropriate for your target usage. NO, it is not the same methodology as Photoshop, but it does a very nice job on the majority of "digital camera image files." LR also offers multi-media functions that are unavailable in PS.
    In the final analysis you need to learn LR's non-destructive workflow procedures, editing tools and module functions, as a compliment to what you already know about using Photoshop. The two applications are mutually independent, but play together well when needed.

  • Not able to get image width after uploading image

    hi
    I am working on uploading image. Once the image is uploaded I need to know image width and height. Right now I am listening to "complete" event but it seems image is still not loaded when the complete event is raised as it returns image width as zero. This is very urgent and imp for me, Please let me know how can I get the wridth and height of image once it is uploaded on remote server
    <mx:VBox width="100%" height="100%">
                <mx:Label text="Image" />
                <mx:HBox width="100%" height="10%">
                    <mx:TextInput id="txt_imgname" width="321"/>
                    <mx:Button label="Browse"  click="bn_Browse_Click()"/>
                </mx:HBox>
            <mx:Canvas width="400"  height="264" backgroundColor="#000000" borderStyle="solid" cornerRadius="12" borderThickness="3" borderColor="#222F92">
                <mx:ProgressBar id="progressBar"  indeterminate="true" visible="false" height="1%"  />
                <mx:Image id="img" complete="{imageLoadListener(event)}" />
            </mx:Canvas>
            <mx:HBox width="100%" height="10%" horizontalAlign="right" verticalAlign="middle">
                <mx:Button label="OK" id="okbutton" click="bn_ok_click()" />
                <mx:Button label="Cancel" click="bn_cancel_click()" />
            </mx:HBox>
    private function bn_Browse_Click():void
                CreateFileReference();
                 fileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadCompleteData);
                 FileBrowse();
            private function FileBrowse():void
                try
                    var success:Boolean = fileReference.browse(allTypes);
                catch (error:Error)
                    Alert.show("Unable to browse for files.");
            private function CreateFileReference():void
                 var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
                 allTypes = new Array(imageTypes);
                 fileReference = new FileReference();
                 fileReference.addEventListener(Event.SELECT, selectHandler);            
                 fileReference.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);
             private function selectHandler(event:Event):void
                 var request:URLRequest = new URLRequest("http://"+TestLoginIntegration.GetServerAddress()+"/FileUpload/Default.aspx");
                try
                     request.contentType = "application/octet-stream";
                     request.method = "POST";
                   fileReference.upload(request,fileReference.name,false);  
                catch (error:Error)
                    Alert.show("Unable to upload file." + error.message);
             private function fileRef_progress(evt:ProgressEvent):void
                        img.source = "";
                    progressBar.visible = true;
            private function onUploadCompleteData (event : DataEvent) : void
                 var filePath:String = event.data;
                 img.source = filePath;
                 progressBar.visible = false;
                 txt_imgname.text = GetFileNameFromPath(filePath);
            private function imageLoadListener(e:Event):void{
               Alert.show(e.currentTarget.width);
    private function GetFileNameFromPath(filepath:String):String
                if(filepath == null || filepath == "")
                    return null;
                var name:String = filepath.substring(filepath.lastIndexOf("/") + 1, filepath.length);
                return name;

    Read this older post
    http://forums.adobe.com/message/1900768#1900768

  • Moving Master Images after Facebook Upload

    I'm using a fully updated version of Aperture 3 and ran into a problem today moving master images that I have not experienced before.  My normal workflow is to batch import images from my camera every few days in one large import, so I often have multiple subjects in every batch.  For my 9 months with the program I have always downloaded everything into a temporary holding project I literally call "Hold".  When I get the time to do a detailed review, I then delete what I don't want and move (drag) the master images I want to keep from "Hold" into other subject-matter-unique projects across the library.  This works for me and has worked flawlessly until today when I downloaded about 20 images.  What I did differently today was I took things out of my usual order and decided to quickly upload 3 of the images from the "Hold" folder to Facebook using the Aperture Uploader.  The upload went fine, as it has in the past, but the problem surfaced when I then tried to move all the master images out of "Hold" to my permanent library file (project) structure.  The 17 images (which were not uploaded to Facebook) moved out to their new projects just fine, as always, but the 3 masters which were the source for the Facebook upload will not allow themselves to be moved out of "Hold".  When I drag them to the intended project, Aperture copies them into that project, but the original stays in "Hold."  Of course, if I try to then delete what is in "Hold" (with a copy safely filed away elsewhere in the Library) I get the warning that I am attempting to delete a master upon which other versions are dependent (to include "Facebook albums" it says), and all will be deleted.
    My take on this is the Facebook upload from "Hold", and the resulting versions created in the Facebook album (far bottom entries on the Library listing), now make "Hold" a permanent home for those associated master images.  Is there some way to get around this and actually move the master images to where I want them to be AND to de-clutter the "Hold" folder?  Or does this mean any use of Aperture's very handy (at least to date) Facebook uploader permanently glues a master to whatever project it was in when it was uploaded, never to fully and completely move again?  Thanks.

    I just made a test of this, and can confirm the apparent behavior.  However, I examined the Masters folder in the Package of the Library (and I have a Managed Library) and I believe there may be some referencing between Projects taking place.  The same appears to result where you have created a slideshow.  In the Facebook album and in the Slideshow album, the file info reports the master file name -- in my case the xxxx.NEF file, which clearly none of them really are, but rather some version. 
    I will try to do a more precise test where I can measure the size of the Masters folder to see if the "Move" adds to its size by an amount equal to the size of the Master file.
    Interesting!
    Ernie
    Message was edited by: Ernie Stamper

  • Display Image in a Form

    Hey guys,
    Had a question regarding displaying an image in a form. In the page, User enters all the details in the form and should be able to upload an image file
    and also display a small size of the image uploaded in the same page.
    Thank you for your help, really appreciate it
    Jesh

    Roel,
    I have tried this example, but when I want to resize the image with the help of the link given at the end
    Note: To modify the display attributes of the image (i.e. to make it smaller), you need to use the programmic way of including images. See the documentation at (http://download.oracle.com/docs/cd/E10513_01/doc/appdev.310/e10499/api.htm#CHDICGDA)
    this link to modify the image doesnt work, it says Error Page.
    Any Suggestions ? ? ?
    Thank You
    Jesh

  • Image resizing in Smartforms?? or ADOBE

    Hello All,
    I am working on creating a smartform. It includes displaying images in the output. There could be different
    smartforms displaying the same image but with different sizes.
    I know of the solution to resize the image using picture editor and upload using SE78, which is then accessed in the smartform. But I want to avoid multiple sizes of same images in the MIME repository.
    Is there a possibility of image resizing in the smartform ? If yes, then how ? I have tried changing the DPI in General attributes of the graphic node in smartform but it does not resize the image.
    If not, then is it possible in ADOBE forms ?
    Regards,
    Subodh S.Rao

    Hi Subuodh,
    Please refer to the gabriels answer in the below link.
    http://scn.sap.com/thread/506094
    Other Ways of doing.
    http://wiki.sdn.sap.com/wiki/display/ABAP/SE78+And+OAER+bmp+Image+Creating
    Hope it will help.
    Regards,
    Amit

  • Permissions issue with image resize

    Ok I'm hoping someone may be able to help with this because it is really frustrating.
    I realise this issue has already been posted in these forums however there was no solution offered that has rectified it for me.  I am getting an error when trying to display thumbnails        "Error converting image (create thumbnail). The "" folder has no write permissions".  And this error when trying to upload and resize images "Image upload error. Error resizing image: Error converting image (image resize). The "" folder has no write permissions. (IMG_RESIZE)". All folders on server have full read, write and execute permissions, so I am really confused why this happenning.  I have removed and updated the includes folder on the server with no joy.  I altered the tNG_custom.class.php, tNG_insert.class.php, tNG_update.class.php files to remove the tNG_fields line to just tNG as this was throwing errors with PHP5.3.  I also changed everything else per http://forums.adobe.com/message/2357443#2357443.
    This is the tNG execution trace (why the tNGUNKNOWN??):-
    tNGUNKNOWN.executeTransaction
    STARTER.Trigger_Default_Starter
    tNGUNKNOWN.doTransaction
    BEFORE.Trigger_Default_FormValidation
    BEFORE.Trigger_CheckForbiddenWords
    tNG_insert.prepareSQL
    tNGUNKNOWN.executeTransaction - execute sql
    tNG_insert.postExecuteSql
    AFTER.Trigger_ImageUploadtNGUNKNOWN.afterUpdateField - DefaultPic, P8280176.JPG*
    ERROR.Trigger_LinkTransactionstNGUNKNOWN.doTransaction
    tNGUNKNOWN.executeTransaction
    tNGUNKNOWN.getRecordset
    tNGUNKNOWN.getFakeRsArr
    tNG_insert.getLocalRecordset
    tNGUNKNOWN.getFakeRecordset
    tNGUNKNOWN.getFakeRecordset
    tNGUNKNOWN.getRecordset
    tNGUNKNOWN.getFakeRsArr
    tNG_insert.getLocalRecordset
    tNGUNKNOWN.getFakeRecordset
    tNGUNKNOWN.getFakeRecordset
    And is causing the following php warnings when executed:-
    Warning: Parameter 2 to Trigger_Default_FormValidation() expected to be a reference, value given /testing/includes/tng/tNG.class.php on line 228 Warning: preg_split(): No ending matching delimiter ']' found in /testing/includes/common/lib/image/KT_Image.class.php on line 2034 Warning: array_pop() expects parameter 1 to be array, boolean given in /testing/includes/common/lib/image/KT_Image.class.php on line 2035 Warning: implode(): Invalid arguments passed in /testing/includes/common/lib/image/KT_Image.class.php on line 203
    Is it the preg_split() that is causing the issues here??
    Any Ideas?

    Hello BoarderLineLtd
    I have noticed that on some servers when you upload the first image to the images folder using the ADDT image upload function the thumbnail directory that gets written to the images directory is written but the permissions are not set.
    If you use an FTP program such as CuteFTP or WSFTP to login to your web site you can manually set the permissions for the thumbnail directory.
    This should eliminate the permissions error.
    Stan Forrest
    Senior Web Developer
    Digital Magic Show

  • Lightroom 5.6 - photos in one of my collections have all been corrupted - they all become resized after I exported them

    I have recently exported two photo collections. However, one of them seems to have been corrupted. All the photos have been resized after I exported them to lightroom.adobe.com. In fact, whenever I try to open any of the images in Lightroom again they have all been resized (or cropped). Is there anyway of recovering the original edits I made. I can re-adjust the images one by one but there are over 1000!
    Thanks
    Mike

    Hi dj-paige
    Thanks for replying.
    I guess "corrupted" isn't the correct term to use. The problem is that I have been editing photos in Lightroom (well over a 1,000) and then put them in two collections, one called Birds (300+ images) and the other Dragonflies (1000+ images). I then uploaded these collections to Adobe-Lightroom so that I can view them online. However, when I view the Dragonfly collection, either online or in Lightroom, they have all changed, having all been cropped beyond recognition. What I want to know is, 1) has anyone experienced this problem before and 2) is there a way of recovering the photos with all the edits that I have painstakingly made over the past few weeks. I can go through the photos one by one and change the crop so that they appear fine but there are over a 1,000 images and it would take several weeks to go through them again.
    Cheers
    Mike

  • Proportional Image Resizing

    Hi,
    Description of the task:
    I need to upload two images one is a full image and the other is a thumbnail representation of the same image of type jpg. I also need to ensure that all the uploaded images are within a given maximun size. For example:
    Thumbs should be 76 x 55 pixels
    FullSized should be 247 x 183 pixels
    Task Achievements:
    I've used the apachee commons package's FileItem class to handle retrival and storage of the image from the submitting servelet form.
    Description of the Problem:
    Don't know how to apply a proportional resize on the uploaded files (images) before storing them.
    Other Questions:
    1. Will the fact that conventional Buffered approach for reading files being not used hamper file manipulation?
    2. Can a proportional Image resizing function be applied to images in java. (Similar to that of php)
    3. Can an external php file be called or accessed from within java (a servlet) to perform the same functions of uploading an image and resizing it porportionally.

    private void uploadThumbImage(FileItem thumbImage, int eventId) throws JspException
         // code for fikle uploade goes here
         try
          //write the orginalFiles
          thumbImage.write(orginalThumbNail);
          resizeThumb(eventId);
         catch(Exception e)
             ErrorPrinter(e.getMessage()+" Exception in Image Upload");
    private void resizeThumb(int eventId) throws JspException
         try
              File loc = new File ("c:/"+eventId+".jpg");
              BufferedImage storedImage = ImageIO.read(loc);
              //ASSIGN  MAXIMUM X AND Y FOR STORAGE
              //1. set the expected allowable x and y maximum
              double maxiumX = 75;
              double maxiumY = 55;
              //2. check that the image is not too long or too wide
              double imgHeight = storedImage.getHeight()*1.0;
              double imgWidth = storedImage.getWidth()*1.0;
              if (imgHeight > maxiumY*2 && imgWidth > maxiumX*2)
                maxiumX = maxiumX*1;
                maxiumY = maxiumX*1;
              else if (imgHeight > maxiumY*2)
                maxiumY = maxiumY*2;
              else if (imgWidth > maxiumY*2)
                maxiumX = maxiumX*2;
              //3. Scale for the width (x)
              if (imgWidth > maxiumX)
               imgHeight = imgHeight*(maxiumX/imgWidth);
               imgWidth = maxiumX;
              //4. Scale for the lenght (l)
              if (imgHeight > maxiumY)
                   imgHeight = maxiumY;
                   imgWidth = imgWidth*(maxiumY/imgHeight);
              Image testImage = storedImage.getScaledInstance((int)imgWidth,(int)imgHeight,Image.SCALE_AREA_AVERAGING);
              BufferedImage biRescaled = toBufferedImage(testImage, BufferedImage.TYPE_INT_RGB);
              if (loc.exists())
                   if(!loc.delete())
                        ErrorPrinter("File that already exisits with file name could not be removed - (Thumbnail)");
              ImageIO.write(biRescaled, "jpg", new File ("c:/et_"+eventId+".jpg"));
              catch (IOException e)
                   ErrorPrinter(e.getMessage()+" Exception in Image Resize");
              catch(Exception e)
                   ErrorPrinter(e.getMessage()+" Exception in Image Resize");
    private static BufferedImage toBufferedImage(Image image, int type)
            int w = image.getWidth(null);
            int h = image.getHeight(null);
            BufferedImage result = new BufferedImage(w, h, type);
            return result;
       }

  • Lightbox images not showing when uploaded to my website

    Hello
    I'm creating a new website for my photography business, and have created three 'gallery' pages which are basically just a lightbox gallery on each page with 20 images in.
    I uploaded my first page, gallery1, and the associated images and went to test it and some of the thumbnail images didn't appear. I renamed the images in my 'gallery1 thumbnails' folder (which had originally been the same names as the images in gallery1) by adding 'tb' at the end of each image name and reuploaded them to my host and it resolved the problem. I uploaded gallery2 in the same way and ran into the same problem. I renamed the images again and reuploaded as I had before to fix the problem, but it didn't fix it this time. I changed the names in gallery3 thumbnails first and uploaded them and they uploaded perfectly. I went back to gallery2, and noticed that all the images I was having a problem with had a '_' character in them. I took that out, reuploaded, still not working. I've double checked everything's as it should be, reuploaded everything a couple more times for good measure, and it works on live view and when I open the file on my computer but once they're uploaded to my host it doesn't work. Can anyone shed a bit of light on this for me? Page in question in here: http://www.emmarichards.co.uk/gallery-2.html and code is here:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Barnsley wedding photographer - Emma Richards Photography</title>
    <style type="text/css">
    <!--
    body {
              font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
              background-color: #FFFFFF;
              margin: 0;
              padding: 0;
              color: #000;
              background-image: url();
              background-repeat: repeat;
              margin-top: 20px;
              margin-bottom: 10px;
    /* ~~ Element/tag selectors ~~ */
    ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
              padding: 0;
              margin: 0;
    h1, h2, h3, h4, h5, h6, p {
              margin-top: 0;           /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
              padding-right: 15px;
              padding-left: 15px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
    a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
              border: none;
    /* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
    a:link {
              color:#414958;
              text-decoration: underline; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
    a:visited {
              color: #4E5869;
              text-decoration: underline;
    a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
              text-decoration: none;
    /* ~~ this container surrounds all other divs giving them their percentage-based width ~~ */
    .container {
              width: 80%;
              max-width: 1260px;/* a max-width may be desirable to keep this layout from getting too wide on a large monitor. This keeps line length more readable. IE6 does not respect this declaration. */
              min-width: 780px;/* a min-width may be desirable to keep this layout from getting too narrow. This keeps line length more readable in the side columns. IE6 does not respect this declaration. */
              background-color: #FFF;
              margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout. It is not needed if you set the .container's width to 100%. */
    /* ~~the header is not given a width. It will extend the full width of your layout. It contains an image placeholder that should be replaced with your own linked logo~~ */
    .header {
              background-color: #FFFFFF;
    /* ~~ This is the layout information. ~~
    1) Padding is only placed on the top and/or bottom of the div. The elements within this div have padding on their sides. This saves you from any "box model math". Keep in mind, if you add any side padding or border to the div itself, it will be added to the width you define to create the *total* width. You may also choose to remove the padding on the element in the div and place a second div within it with no width and the padding necessary for your design.
    .content {
              padding: 10px 0;
              font-size: 90%;
    /* ~~ This grouped selector gives the lists in the .content area space ~~ */
    .content ul, .content ol {
              padding: 0 15px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
    /* ~~ The footer ~~ */
    .footer {
              padding: 10px 0;
              background-color: #FFFFFF;
              font-size: xx-small;
              color: #f08080;
    /* ~~ miscellaneous float/clear classes ~~ */
    .fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
              float: right;
              margin-left: 8px;
    .fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
              float: left;
              margin-right: 8px;
    .clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the #footer is removed or taken out of the #container */
              clear:both;
              height:0;
              font-size: 1px;
              line-height: 0px;
    -->
    </style>
    <link href="css/lightbox.css" rel="stylesheet" type="text/css" />
    <link href="css/sample_lightbox_layout.css" rel="stylesheet" type="text/css" />
    <script src="scripts/jquery.js" type="text/javascript"></script>
    <script src="scripts/lightbox.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/SpryDOMUtils.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/SpryDOMEffects.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/SpryWidget.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/SpryMenu.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/plugins/MenuBar2/SpryMenuBarKeyNavigationPlugin.js" type="text/javascript"></script>
    <script src="Spry-UI-1.7/includes/plugins/MenuBar2/SpryMenuBarIEWorkaroundsPlugin.js" type="text/javascript"></script>
    <style type="text/css">
    /* BeginOAWidget_Instance_2127022: #gallery */
                        .lbGallery {
              /*gallery container settings*/
              background-color: #ffffff;
              padding-left: 20px;
              padding-top: 20px;
              padding-right: 20px;
              padding-bottom: 20px;
              width: 100%;
              height: auto;
              text-align: center;
                        .lbGallery ul { list-style: none; margin:0;padding:0; }
                        .lbGallery ul li { display: inline;margin:0;padding:0; }
                        .lbGallery ul li a{text-decoration:none;}
                        .lbGallery ul li a img {
                                  /*border color, width and margin for the images*/
                                  border-color: #ffffff;
                                  border-left-width: 0px;
                                  border-top-width: 0px;
                                  border-right-width: 0px;
                                  border-bottom-width: 0px;
                                  margin-left:5px;
                                  margin-right:5px;
                                  margin-top:5px;
                                  margin-bottom:5px:
                        .lbGallery ul li a:hover img {
                                  /*background color on hover*/
                                  border-color: #ffffff;
                                  border-left-width: 0px;
                                  border-top-width: 0px;
                                  border-right-width: 0px;
                                  border-bottom-width: 0px;
                        #lightbox-container-image-box {
                                  border-top: 0px none #ffffff;
                                  border-right: 0px none #ffffff;
                                  border-bottom: 0px none #ffffff;
                                  border-left: 0px none #ffffff;
                        #lightbox-container-image-data-box {
                                  border-top: 0px;
                                  border-right: 0px none #ffffff;
                                  border-bottom: 0px none #ffffff;
                                  border-left: 0px none #ffffff;
    /* EndOAWidget_Instance_2127022 */
    </style>
    <link href="Spry-UI-1.7/css/Menu/basic/SpryMenuBasic.css" rel="stylesheet" type="text/css" />
    <script type="text/xml">
    <!--
    <oa:widgets>
      <oa:widget wid="2127022" binding="#gallery" />
      <oa:widget wid="2141544" binding="#MenuBar" />
    </oa:widgets>
    -->
    </script>
    <style type="text/css">
    /* BeginOAWidget_Instance_2141544: #MenuBar */
    /* Settable values for skinning a Basic menu via presets. If presets are not sufficient, most skinning should be done in
              these rules, with the exception of the images used for down or right pointing arrows, which are in the file SpryMenuBasic.css
               These assume the following widget classes for menu layout (set in a preset)
              .MenuBar - Applies to all menubars - default is horizontal bar, all submenus are vertical - 2nd level subs and beyond are pull-right.
              .MenuBarVertical - vertical main bar; all submenus are pull-right.
              You can also pass in extra classnames to set your desired top level menu bar layout. Normally, these are set by using a preset.
              They only apply to horizontal menu bars:
                        MenuBarLeftShrink - The menu bar will be horizontally 'shrinkwrapped' to be just large enough to hold its items, and left aligned
                        MenuBarRightShrink - Just like MenuBarLeftShrink, but right aligned
                        MenuBarFixedLeft - Fixed at a specified width set in the rule '.MenuBarFixedLeft', and left aligned. 
                        MenuBarFixedCentered -  - Fixed at a specified width set in the rule '.MenuBarFixedCentered',
                                                                and centered in its parent container.
                        MenuBarFullwidth - Grows to fill its parent container width.
              In general, all rules specified in this file are prefixed by #MenuBar so they only apply to instances of the widget inserted along
              with the rules. This permits use of multiple MenuBarBasic widgets on the same page with different layouts. Because of IE6 limitations,
              there are a few rules where this was not possible. Those rules are so noted in comments.
    #MenuBar  {
              background-color:#ffffff;
              font-family: Arial, Helvetica, sans-serif; /* Specify fonts on on MenuBar and subMenu MenuItemContainer, so MenuItemContainer,
                                                                                                                            MenuItem, and MenuItemLabel
                                                                                                                            at a given level all use same definition for ems.
                                                                                                                            Note that this means the size is also inherited to child submenus,
                                                                                                                            so use caution in using relative sizes other than
                                                                                                                            100% on submenu fonts. */
              font-weight: normal;
              font-size: 16px;
              font-style: normal;
              padding:0;
              border-color: #ffffff #ffffff #ffffff #ffffff;
              border-width:0px;
              border-style: none none none none;
    /* Caution: because ID+class selectors do not work properly in IE6, but we want to restrict these rules to just this
    widget instance, we have used string-concatenated classnames for our selectors for the layout type of the menubar
    in this section. These have very low specificity, so be careful not to accidentally override them. */
    .MenuBar br { /* using just a class so it has same specificity as the ".MenuBarFixedCentered br" rule bleow */
              display:none;
    .MenuBarLeftShrink {
              float: left; /* shrink to content, as well as float the MenuBar */
              width: auto;
    .MenuBarRightShrink {
              float: right; /* shrink to content, as well as float the MenuBar */
              width: auto;
    .MenuBarFixedLeft {
              float: left;
              width: 80em;
    .MenuBarFixedCentered {
              float: none;
              width: 80em;
              margin-left:auto;
              margin-right:auto;
    .MenuBarFixedCentered br {
              clear:both;
              display:block;
    .MenuBarFixedCentered .SubMenu br {
              display:none;
    .MenuBarFullwidth {
              float: left;
              width: 100%;
    /* Top level menubar items - these actually apply to all items, and get overridden for 1st or successive level submenus */
    #MenuBar  .MenuItemContainer {
              padding: 0px 0px 0px 0px;
              margin: 0;           /* Zero out margin  on the item containers. The MenuItem is the active hover area.
                                            For most items, we have to do top or bottom padding or borders only on the MenuItem
                                            or a child so we keep the entire submenu tiled with items.
                                            Setting this to 0 avoids "dead spots" for hovering. */
    #MenuBar  .MenuItem {
              padding: 0px 0px 0px 0px;
              background-color:#ffffff;
              border-width:1px;
              border-color: #cccccc #ffffff #cccccc #ffffff;
              border-style: none solid none solid;
    #MenuBar  .MenuItemFirst {
              border-style: none none none none;
    #MenuBar .MenuItemLast {
              border-style: none solid none none;
    #MenuBar  .MenuItem  .MenuItemLabel{
              text-align:center;
              line-height:1.4em;
              color:#333333;
              background-color:#ffffff;
              padding: 0px 0px 0px 0px;
              width: 10em;
              width:auto;
    .SpryIsIE6 #MenuBar  .MenuItem  .MenuItemLabel{
              width:1em; /* Equivalent to min-width in modern browsers */
    /* First level submenu items */
    #MenuBar .SubMenu  .MenuItem {
              font-family: Arial, Helvetica, sans-serif;
              font-weight: normal;
              font-size: 14px;
              font-style: normal;
              background-color:#ffffff;
              padding:0px 2px 0px 0px;
              border-width:1px;
              border-color: #cccccc #cccccc #cccccc #cccccc;
              /* Border styles are overriden by first and last items */
              border-style: solid solid none solid;
    #MenuBar  .SubMenu .MenuItemFirst {
              border-style: solid solid none solid;
    #MenuBar  .SubMenu .MenuItemFirst .MenuItemLabel{
              padding-top: 6px;
    #MenuBar .SubMenu .MenuItemLast {
              border-style: solid solid solid solid;
    #MenuBar .SubMenu .MenuItemLast .MenuItemLabel{
              padding-bottom: 6px;
    #MenuBar .SubMenu .MenuItem .MenuItemLabel{
              text-align:left;
              line-height:1em;
              background-color:#ffffff;
              color:#333333;
              padding: 6px 12px 6px 5px;
              width: 7em;
    /* Hover states for containers, items and labels */
    #MenuBar .MenuItemHover {
              background-color: #ffffff;
              border-color: #cccccc #cccccc #cccccc #cccccc;
    #MenuBar .MenuItemWithSubMenu.MenuItemHover .MenuItemLabel{
              background-color: #ffffff; /* consider exposing this prop separately*/
              color: #000000;
    #MenuBar .MenuItemHover .MenuItemLabel{
              background-color: #ffffff;
              color: #000000;
    #MenuBar .SubMenu .MenuItemHover {
              background-color: #ffffff;
              border-color: #cccccc #cccccc #cccccc #cccccc;
    #MenuBar .SubMenu .MenuItemHover .MenuItemLabel{
              background-color: #ffffff;
              color: #333333;
    /* Submenu properties -- First level of submenus */
    #MenuBar .SubMenuVisible {
              background-color: #ffffff;
              min-width:0%;  /* This keeps the menu from being skinnier than the parent MenuItemContainer - nice to have but not available on ie6 */
              border-color: #ffffff #ffffff #ffffff #ffffff;
              border-width:0px;
              border-style: none none none none;
    #MenuBar.MenuBar .SubMenuVisible {/* For Horizontal menubar only */
              top: 100%;          /* 100% is at the bottom of parent menuItemContainer */
              left:0px; /* 'left' may need tuning depending upon borders or padding applied to menubar MenuItemContainer or MenuItem,
                                                      and your personal taste.
                                                      0px will left align the dropdown with the content area of the MenuItemContainer. Assuming you keep the margins 0
                                                      on MenuItemContainer and MenuItem on the parent
                                                      menubar, making this equal the sum of the MenuItemContainer & MenuItem padding-left will align
                                                      the dropdown with the left of the menu item label.*/
              z-index:10;
    #MenuBar.MenuBarVertical .SubMenuVisible {
              top: 0px;
              left:100%;
              min-width:0px; /* Do not neeed to match width to parent MenuItemContainer - items will prevent total collapse */
    /* Submenu properties -- Second level submenu and beyond - these are visible descendents of .MenuLevel1 */
    #MenuBar .MenuLevel1 .SubMenuVisible {
              background-color: #ffffff;
              min-width:0px; /* Do not neeed to match width to parent MenuItemContainer - items will prevent total collapse*/
              top: 0px;          /* If desired, you can move this down a smidge to separate top item''s submenu from menubar -
                                            that is really only needed for submenu on first item of MenuLevel1, or you can make it negative to make submenu more
                                            vertically 'centered' on its invoking item */
              left:100%; /* If you want to shift the submenu left to partially cover its invoking item, you can add a margin-left with a
                                            negative value to this rule. Alternatively, if you use fixed-width items, you can change this left value
                                            to use px or ems to get the offset you want. */
    /* IE6 rules - you can delete these if you do not want to support IE6 */
    /* A note about multiple classes in IE6.
    * Some of the rules above use multiple class names on an element for selection, such as "hover" (MenuItemHover) and "has a subMenu" (MenuItemWithSubMenu),
    * giving the selector '.MenuItemWithSubMenu.MenuItemHover'.
    * Unfortunately IE6 does not support using mutiple classnames in a selector for an element. For a selector such as '.foo.bar.baz', IE6 ignores
    * all but the final classname (here, '.baz'), and sets the specificity accordingly, counting just one of those classs as significant. To get around this
    * problem, we use the plugin in SpryMenuBarIEWorkaroundsPlugin.js to generate compound classnames for IE6, such as 'MenuItemWithSubMenuHover'.
    * Since there are a lot of these needed, the plugin does not generate the extra classes for modern browsers, and we use the CSS2 style mutltiple class
    * syntax for that. Since IE6 both applies rules where
    * it should not, and gets the specificity wrong too, we have to order rules carefully, so the rule misapplied in IE6 can be overridden.
    * So, we put the multiple class rule first. IE6 will mistakenly apply this rule.  We follow this with the single-class rule that it would
    * mistakenly override, making sure the  misinterpreted IE6 specificity is the same as the single-class selector, so the latter wins.
    * We then create a copy of the multiple class rule, adding a '.SpryIsIE6' class as context, and making sure the specificity for
    * the selector is high enough to beat the single-class rule in the "both classes match" case. We place the IE6 rule at the end of the
    * css style block to make it easy to delete if you want to drop IE6 support.
    * If you decide you do not need IE6 support, you can get rid of these, as well as the inclusion of the SpryMenuBarIEWorkaroundsPlugin.js script.
    * The 'SpryIsIE6' class is placed on the HTML element by  the script in SpryMenuBarIEWorkaroundsPlugin.js if the browser is Internet Explorer 6. This avoids the necessity of IE conditional comments for these rules.
    .SpryIsIE6 #MenuBar .MenuBarView .MenuItemWithSubMenuHover .MenuItemLabel /* IE6 selector  */{
              background-color: #ffffff; /* consider exposing this prop separately*/
              color: #000000;
    .SpryIsIE6 #MenuBar .MenuBarView .SubMenu .MenuItemWithSubMenuHover .MenuItemLabel/* IE6 selector  */{
              background-color: #ffffff; /* consider exposing this prop separately*/
              color: #333333;
    .SpryIsIE6 #MenuBar .SubMenu .SubMenu  /* IE6 selector  */{
              margin-left: -0px; /* Compensates for at least part of an IE6 "double padding" version of the "double margin" bug */
    /* EndOAWidget_Instance_2141544 */
    </style>
    </head>
    <body>
    <div class="container">
      <div class="header">
        <div align="center">
          <p><a href="index.html"><img src="Layout/watermark-coral-jpeg-200px.jpg" width="200" height="182" alt="wedding photgraphers barnsley" /></a></p>
          <table width="500" border="0">
            <tr>
              <td><a href="about.html"><img src="Layout/about-c.png" width="145" height="28" alt="wedding photography barnsley" /></a></td>
              <td><a href="weddings.html"><img src="Layout/weddings-c.png" width="145" height="28" alt="wedding photographer barnsley" /></a></td>
              <td><a href="gallery.html"><img src="Layout/gallery-c.png" width="145" height="28" alt="wedding photographers barnsley" /></a></td>
              <td><a href="pricing.html"><img src="Layout/pricing-c.png" width="145" height="28" alt="wedding photography barnsley" /></a></td>
              <td><script type="text/javascript">
    // BeginOAWidget_Instance_2141544: #MenuBar
    var MenuBar = new Spry.Widget.MenuBar2("#MenuBar", {
          widgetID: "MenuBar",
                widgetClass: "MenuBar  MenuBarLeftShrink",
                insertMenuBarBreak: true,
          mainMenuShowDelay: 100,
          mainMenuHideDelay: 200,
          subMenuShowDelay: 200,
          subMenuHideDelay: 200
    // EndOAWidget_Instance_2141544
                </script>
                <img src="Layout/engagements-c.png" width="145" height="28" alt="barnsley wedding photographer" />
                <script type="text/javascript">
    // BeginOAWidget_Instance_2141544: #MenuBar
    var MenuBar = new Spry.Widget.MenuBar2("#MenuBar", {
          widgetID: "MenuBar",
                widgetClass: "MenuBar  MenuBarLeftShrink",
                insertMenuBarBreak: true,
          mainMenuShowDelay: 100,
          mainMenuHideDelay: 200,
          subMenuShowDelay: 200,
          subMenuHideDelay: 200
    // EndOAWidget_Instance_2141544
                  </script></td>
              <td><a href="http://www.emmarichardsphotography.com"><img src="Layout/blog.png" width="145" height="28" alt="wedding photographer barnsley" /></a></td>
              <td><a href="contact.html"><img src="Layout/contact-c.png" width="145" height="28" alt="wedding photography barnsley" /></a></td>
            </tr>
          </table>
          <p> </p>
        </div>
      <!-- end .header --></div>
      <div class="content">
        <div align="center">
          <table width="80%" border="0">
            <tr>
              <td><div id="gallery" class="lbGallery">
                <ul>
                  <p><li> <a href="Images/Gallery2/Abbie and Ben 0567.jpg" title=""><img src="Images/Gallery2/Thumbnails/Abbie and Ben 0567tb.jpg" alt="wedding photographers barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/Laura Mal 046.jpg" title=""><img src="Images/Gallery2/Thumbnails/Laura Mal 046tb.jpg" alt="wedding photographer barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/img0056bw.jpg" title=""><img src="Images/Gallery2/Thumbnails/img0056bwtb.jpg" alt="wedding photographers sheffield" /></a> </li>
                  <li> <a href="Images/Gallery2/ka319.jpg" title=""><img src="Images/Gallery2/Thumbnails/ka319tb.jpg" alt="wedding photography barnsley" /></a> </li>
                 <li> <a href="Images/Gallery2/no crying.jpg" title=""><img src="Images/Gallery2/Thumbnails/no cryingtb.jpg" alt="wedding photographers barnsley" /></a> </li></p>
                 <p><li> <a href="Images/Gallery2/img5549.jpg" title=""><img src="Images/Gallery2/Thumbnails/img5549tb.jpg" alt="wedding photographer barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/jr89.jpg" title=""><img src="Images/Gallery2/Thumbnails/jr89tb.jpg" alt="wedding photography barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/img3239.jpg" title=""><img src="Images/Gallery2/Thumbnails/img3239tb.jpg" alt="wedding photographers barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/jr2.jpg" title=""><img src="Images/Gallery2/Thumbnails/jr2tb.jpg" alt="wedding photographers barnsley" /></a> </li>
                 <li> <a href="Images/Gallery2/sa711.jpg" title=""><img src="Images/Gallery2/Thumbnails/sa711tb.jpg" alt="" /></a> </li></p>
                 <p><li> <a href="Images/Gallery2/JamesRuth0056.jpg" title=""><img src="Images/Gallery2/Thumbnails/JamesRuth0056tb.jpg" alt="wedding photographers barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/mr mrs.jpg" title=""><img src="Images/Gallery2/Thumbnails/mr mrstb.jpg" alt="wedding photography barnsley" /></a></li>
                  <li><a href="Images/Gallery2/ka5.jpg" title=""><img src="Images/Gallery2/Thumbnails/ka5tb.jpg" alt="wedding photographer barnsley" /></a></li>
                  <li> <a href="Images/Gallery2/run.jpg" title=""><img src="Images/Gallery2/Thumbnails/runtb.jpg" alt="wedding photographers barnsley" /></a> </li>
                 <li> <a href="Images/Gallery2/img3440.jpg" title=""><img src="Images/Gallery2/Thumbnails/img3440tb.jpg" alt="wedding photographers barnsley" /></a> </li></p>
                 <p><li> <a href="Images/Gallery2/img3307.jpg" title=""><img src="Images/Gallery2/Thumbnails/img3307tb.jpg" alt="wedding photographers barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/centerpiece 2.jpg" title=""><img src="Images/Gallery2/Thumbnails/centerpiece 2tb.jpg" alt="wedding photographer barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/jr102.jpg" title=""><img src="Images/Gallery2/Thumbnails/jr102tb.jpg" alt="wedding photography barnsley" /></a> </li>
                  <li> <a href="Images/Gallery2/img0523.jpg" title=""><img src="Images/Gallery2/Thumbnails/img0523tb.jpg" alt="wedding photography barnsley" /></a> </li>
                 <li> <a href="Images/Gallery2/hug.jpg" title=""><img src="Images/Gallery2/Thumbnails/hugtb.jpg" alt="wedding photographers barnsley" /></a> </li></p>
                </ul>
              </div>
              <script type="text/javascript">
    // BeginOAWidget_Instance_2127022: #gallery
                        $(function(){
                                  $('#gallery a').lightBox({
                                            imageLoading:                              'Layout/spin.gif',                    // (string) Path and the name of the loading icon
                                            imageBtnPrev:                              'Layout/prev.jpg',                              // (string) Path and the name of the prev button image
                                            imageBtnNext:                              'Layout/next.jpg',                              // (string) Path and the name of the next button image
                                            imageBtnClose:                              'Layout/close.png',                    // (string) Path and the name of the close btn
                                            imageBlank:                                        'images/lightbox/lightbox-blank.gif',                              // (string) Path and the name of a blank image (one pixel)
                                            fixedNavigation:                    false,                    // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface.
                                            containerResizeSpeed:          400,                               // Specify the resize duration of container image. These number are miliseconds. 400 is default.
                                            overlayBgColor:                     "#ffffff",                    // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color.
                                            overlayOpacity:                              0,                    // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9
                                            txtImage:                                        'Image',                                        //Default text of image
                                            txtOf:                                                  'of'
    // EndOAWidget_Instance_2127022
                </script><div align="center"> </div></td>
            </tr>
            <tr>
              <td><div align="center">
                <table width="100" border="0">
                  <tr>
                    <td width="50"><div align="right"><a href="gallery.html"><img src="Layout/prev2.jpg" alt="wedding photographers barnsley" width="63" height="32" /></a></div></td>
                    <td width="50"><a href="gallery-3.html"><img src="Layout/next2.jpg" alt="wedding photographers sheffield" width="63" height="32" /></a></td>
                    </tr>
                </table>
              </div></td>
            </tr>
          </table>
          <p> </p>
        <!-- end .content --></div>
      </div>
      <div class="footer">
        <p align="right"><strong>07794430229 // [email protected]</strong></p>
        <div align="right">
          <table align="right" cellpadding="0" cellspacing="0">
            <tr>
              <td> </td>
            </tr>
          </table>
          <!-- end .footer -->
        </div>
    <div align="right">
          <table align="right" cellpadding="0" cellspacing="0">
            <tr>
              <td> </td>
            </tr>
          </table>
          <!-- end .footer --></div>
      </div>
      <!-- end .container --></div>
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-28715127-1']);
      _gaq.push(['_setDomainName', 'emmarichards.co.uk']);
      _gaq.push(['_setAllowLinker', true]);
      _gaq.push(['_trackPageview']);
      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    </script>
    </body>
    </html>
    If someone could help me with my issue I'd be very greatful, it's been stumping me for hours now.
    Thank you in advance for any help!!

    When I see code errors, I stop trying to trouble shoot  because code errors account for 98% of browser rendering problems.  When you clear up your orphaned tags: mismatched <p></p> and <li></li> tags, then I'll take a closer look.
    PS. Being able to work with code is essential to using DW and 3rd party plugins.  Without basic coding skills, you're going to be lost most of the time.
    HTML & CSS Tutorials -
    http://www.html.net/
    http://w3schools.com/
    Nancy O.

Maybe you are looking for