Image-objekt til jpg-fil
Jeg har en metode, hvis formål er at lave en tumbnail-fil udfra en allerede eksisterende billedfil. Metodens formelle (og eneste) parameter er en File ved navn "input". Jeg gør da følgende:----------
BufferedImage image = ImageIO.read(input);
Image image2 = image.getScaledInstance(100, -1, BufferedImage.SCALE_SMOOTH);
ImageIO.write(image2, "jpg", new File(path) );
----------
ImageIO.write() tager dog ikke imod et Image-objekt, men derimod et RenderedImage (eller pga. nedarvning, et BufferedImage).
Det viser sig dog at være en besværlig affære at lave et Image-objekt om til BufferedImage eller RenderedImage (det kan SVJV ikke lade sig gøre at cast'e). Det skulle kunne lade sig gøre vha. http://javaalmanac.com/egs/java.awt.image/Image2Buf.html , men når jeg prøver, bliver den resulterende fil fejlbehæftet og kan ikke indlæses.
Det nemmeste må derfor være at finde en måde at gemme et Image-objekt til en jpg-fil, men det har jeg ikke været i stand til at grave frem.
Alternativt behøver jeg ikke at bruge netop ovenover citerede skaleringsmetode; i bund og grund er alt, hvad jeg har brug for, at hente et jpg-, png- eller gif-billede ind, skalere det og gemme det i jpg-format. Jeg har ikke på noget tidspunkt brug for at vise det på skærmen.
Hjælp modtages med glæde.
