Open GoogleCodeExporter opened 9 years ago
I changed the code to
Thumbnails.of(srcImage).size(80,80).outputFormat("gif").toFile(new
File("/Users/hi/Desktop/1.gif"));
specified the output format to gif, and replaced '.width(200)' with
'.size(80,80)'
but the quality still low (1.gif)
the 3.gif was created by another 3rd part imaging library
Original comment by song...@gmail.com
on 20 Jan 2014 at 3:40
Attachments:
Thank you for filing this issue.
I have been able to reproduce this issue, and turns out there is a workaround:
Thumbnails.of("original.gif")
.size(80, 80)
.imageType(BufferedImage.TYPE_INT_ARGB)
.toFile("thumbnail.gif");
The issue appears to be that internally, Thumbnailator is resizing the 8-bit
image itself, which can cause low quality image resizing.
(Note: This is a similar issue to Issue 26.)
The `imageType(BufferedImage.TYPE_INT_ARGB)` method call forces Thumbnailator
to convert the original image to a 24-bit image with transparency when
performing the resizing operation which leads to the better resize quality.
Also, just to note, Thumbnailator will do its best to try to determine the
output format from the file name (if a file name is provided), so at least in
the case you've presented, using `outputFormat("gif")` is not necessary.
Although this does not directly address the issue (there shouldn't be a need to
call the `imageType` method -- Thumbnailator should be smart enough to do it
automatically) so I'm going to leave this issue open.
Original comment by coobird...@gmail.com
on 31 Jan 2014 at 4:12
Original issue reported on code.google.com by
song...@gmail.com
on 17 Jan 2014 at 7:49Attachments: