No ideas, anyone?

On Dec 16, 11:59 am, Ian Marshall <[email protected]> wrote:
> I refer to the related post entitled "WARNING: No image reader found
> for format "ico". An ImageIO plugin must be installed to use this
> format with the DevAppServer." dated 7th June 2009 at:
>
> http://groups.google.com/group/google-appengine-java/browse_thread/th...
>
> where a query about the dev app server warnings below was raised, but
> after Jason of Google asked a supplementary question he received no
> response from the original poster.
>
> My web app uploads an image file from a web browser user and then, if
> the file is larger than around 900kB I use the GAE/J ImagesService to
> reduce the image data size to this level. An extract of my relevant
> code is:
>
>         byte[] baImageSource = [...];    // Data from an uploaded image file
>         int nNewWidth  = [...];          // Calculate correct shrinkage
>         int nNewHeight = [...];          // Calculate correct shrinkage
>
>         Image imgSource = ImagesServiceFactory.makeImage(baImageSource);
>         ImagesService isService = ImagesServiceFactory.getImagesService();
>         Transform tfrm = ImagesServiceFactory.makeResize(nNewWidth,
> nNewHeight);
>         Image imgNew = isService.applyTransform(tfrm, imgSource);
>         byte[] baResult = imgNew.getImageData();    // The shrunken image
> data
>
> When I run my ImagesService code on my GAE/J development server
> ((latest) version 1.4.0) I get the two warnings:
>
>         16-Dec-2010 10:40:18
> com.google.appengine.api.images.dev.LocalImagesService init
>         WARNING: No image reader found for format "ico". An ImageIO plugin
> must be installed to use this format with the DevAppServer.
>
>         16-Dec-2010 10:40:18
> com.google.appengine.api.images.dev.LocalImagesService init
>         WARNING: No image reader found for format "tif". An ImageIO plugin
> must be installed to use this format with the DevAppServer.
>
> My code runs well for shrinking .jpg files, but when I try this for
> a .tif file of size 6.11 MB I get an IllegalArgumentException on my
> call to ImagesService.applyTransform(...). (I set out a stack trace at
> the foot of this post.)
>
> I have a few questions for those interested:
>
>   ·  How do I get a "tif" ImageIO plug-in for the ImagesService ()?
>   ·  Should this plug-in be supplied with the GAE/J SDK in future
> releases?
>   ·  Does this issue apply to the dev app server only (I have not yet
> deployed this to production)?
>
> Cheers,
>
> Ian Marshall
>
> STACK TRACE WHEN TRANSFORMING A .TIF FILE
> -----------------------------------------
> java.lang.IllegalArgumentException: Failed to read image
> at
> com.google.appengine.api.images.ImagesServiceImpl.convertApplicationException(ImagesServiceImpl.java:
> 301)
> at
> com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:
> 73)
> at
> com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:
> 50)
> at
> com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:
> 39)
> at [my package
> path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java:
> 311)
> at [my package
> path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java:
> 236)
> at [my package path].wicket.stuff.MyPage$5.onSubmit(MyPage.java:1348)
> at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:
> 1561)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:958)
> at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:
> 920)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
> 100)
> at
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:
> 182)
> at
> org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:
> 73)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:
> 92)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:
> 1250)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:
> 486)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
> 319)
> at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
> at
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
> 58)
> at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
> at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
> 43)
> at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
> at
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
> 122)
> at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> 388)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> 182)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> 765)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 418)
> at
> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
> 70)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
> at com.google.appengine.tools.development.JettyContainerService
> $ApiProxyHandler.handle(JettyContainerService.java:349)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 542)
> at org.mortbay.jetty.HttpConnection
> $RequestHandler.content(HttpConnection.java:938)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
> at org.mortbay.thread.QueuedThreadPool
> $PoolThread.run(QueuedThreadPool.java:582)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to