Well, one of the main reasons is simply the "age" of the language.
"C" came out in 1972 and in the late seventies I worked on "hidden
lines" in 3d image modeling. There were many people at that time
understanding bitmap images and how pixels got rendered/extended.
Java, compared to C is rather new. Furthermore browsers can "scale"
images in a fairly good quality (by setting IMG-tag width and height).
So JSP/Java developers never really cried for some solid image
processing packages.
And keep in mind, if you had an image processing task to do, you
selected C as the language, simply because performance is better.
Interesting too is that when I joined the CMS world in 2000, it was
common to use Photoshop to scale images and use that image in the
projects. I was surprised that actually only one CMS was able of doing
dynamic image processing!
So I guess, Will, we just have to sit down and work out a solution :-)
Cheers
Giancarlo
On Mar 10, 2009, at 8:25 AM, Will Scheidegger wrote:
Well, glad to see that I'm not the only one with that problem. It
just amazes me that this "simple" problem is solved so much better
in other programming languages.
-will
On 10.03.2009, at 16:16, Giancarlo F. Berner wrote:
Will, you hit a topic, I just recently decided to solve once and
forever. I am spending lots of late nights digging my self through
the mists of digital image processing.
While yes, Java offers classes and methods to scale images, they
usually concentrate on speed rather than quality. I noticed weird
behaviors, e.g. I had a 350k jpeg image, past it through my test
script with NO scaling and got an image with about 250k in size and
slightly worse quality!
Java 6 seems to offer better image processing packages, but I did
not dig into that yet, since Java 6 might not be on most machines
yet.
My challenge is to scale an image (yes, I am already happy if I can
"only" scale at a high quality) of different formats (e.g. jpg,
gif, png) with one package. I have a solution which is ok, and
maybe I am trying to reach for the sky, but I still am sure by
tweaking the algorithm I can achieve better results.
My 2cts: Scaling down requires "removing pixels". So if you just
scale down from e.g. 640x480 to 160x120 in one "swoosh", quality is
worse than if you scale in multiple steps. If you scale up, you
have to add pixels and it's a similar issue. If you do it in one
"swoosh", quality will not be as good as if you do it in multiple
small steps.
However, many blogs nag on the multiple steps because that affects
performance.
Well, I am still on this topic. I will keep you updated.
Cheers
Giancarlo
On Mar 10, 2009, at 3:55 AM, Will Scheidegger wrote:
Well, JAI seems to be the solution, but as I said: I have yet to
find an example based on JAI which produces high quality results
with a wide range of image sizes without any funky side effects...
-will
On 10.03.2009, at 11:46, Peter Götz wrote:
Thanks for the article URL. Maybe there is hope and a way to get
image manipulation without having to use ImageMagick. I know the
pains you know, Will, and I would be glad to get them solved. :)
Peter
__________________________
Accelsis Technologies GmbH
Innovative IT-Lösungen
Aidenbachstr. 52, D-81379 München
phone: +49 89 548038-0 (-76 direct), fax: +49 89 548038-99
[email protected], http://www.accelsis.biz
Hauptsitz der Accelsis Technologies GmbH: Aidenbachstr. 52,
D-81379 München
Geschäftsführer: Andreas Penzel, Klaus Schlumpberger
Amtsgericht München, HRB 138056
----- Original Message -----
From: Will Scheidegger
[mailto:[email protected]]
To: Magnolia User-List
[mailto:[email protected]]
Sent: Tue, 10 Mar 2009 11:18:30
+0100
Subject: Re: [magnolia-user] OT: Image scaling algorithm
Thanks Peter and Tobias for the quick replies.
We've used ImageMagick before with good results - it's just really
hard for me to believe, that I need to talk to a C program over
JNI
only to get a decent scaled image. And since this makes the
installation of webapps on servers a pain it's no real option
for us.
We've also used "getScaledInstance()" in Java. But apparently one
should not go that way.
http://weblogs.java.net/blog/chet/archive/2007/04/dont_use_getsca.html
The more you google the more opinions you get on that topic ;-)
-will
On 10.03.2009, at 10:48, Tobias Reinhardt wrote:
Hi Will
The following article explains the different pitfalls for image
scaling with java quite well. And it includes some code how to
do it
right. I don't know if it is the best solution, but it is
enough for
me.
http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html
If you use the multistep scaling flag of the provided helper
method,
ensure that your server has enough memory.
Tobias
2009/3/10 Will Scheidegger <[email protected]>:
Dear Magnolians
This is quite off-topic, but I'm sure many of you have been
faced
by the
same problem: Image scaling in Java.
I tried many different methods, googled for hours if not days,
but
either
I'm getting low quality results or the thumbs have other "side
effects" like
a black border on one or two sides...
Does anyone have the definite solution to a problem which really
should not
be rocket science? I hate it when things are oh so easy in
Typo3 :-/
Thanks!
-will
--
fastforward websolutions
Kramgasse 16, CH-3011 Bern
Tel. +41 31 348 54 44, Fax +41 31 348 54 55
www.fastforward.ch
--
________________________________
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]
>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]
>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <user-list-unsubscr...@magnolia-
cms.com>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------