29. december 2002 - 11:19Der er
10 kommentarer og 1 løsning
Resize af billeder (JPEG)
Jeg har en lille app til nettet hvor man kan uploade billeder til min webserver. Problemmet er bare at de billeder der kommer op fra brugerne typisk er ca. 1600x1200 og jeg vil meget gerne have dem ned på ca. 800x600 og der skulle oxo gerne laves et lille billede som fylder ca. 1/5 af orginalen. Spørgsmålet hvordan gør jeg det ???
Opnå den bedste ydeevne med din computer, og overtag føringen i de nyeste spil uden at gå over budgettet.
30. oktober 2024
Slettet bruger
29. december 2002 - 11:20#1
Det skal lige siges at det er den fysiske størrelse af filen jeg er ude efter at få redigeret, problemmet er at så store billeder tager lang tid at loade med en langsom forbindelse
Hvis du bruger frontpage til hjemmesiden, så kan du lave thumbnails til billederne og igen bruge mihov image rezizer
Synes godt om
Slettet bruger
30. december 2002 - 02:05#5
Da det er programmeret i Java syntes jeg da egentligt at det er et meget logisk sted at oprette spørgsmålet ;-)
Upload af billeder foregår automatisk, derfor kan jeg ikke bruge et program hvor man manuelt skal resize billeder, det skal foregå i samme proces med upload af billeder
Når du modtager dine billeder skal du smide dem ind i et BufferedImage og så bruge Graphics2D's scale metode til at tegne i et andet BufferedImage, så får du en skaleret version af billedet. Dette kan du så gemme som jpeg ved at benytte den statiske metode write i klassen javax.imageio.ImageIO.
Synes godt om
Slettet bruger
04. januar 2003 - 01:28#7
Hmm, det vil jeg se om jeg kan finde ud af, jeg vender tilbage i løbet af weekenden med det - men indtil videre tak Carsten :-)
Jeg ville tro at dette kunne gøre det, men der kastes en exception som jeg ikke har set før. import java.awt.*; import java.awt.image.*; import javax.swing.*; import javax.imageio.*; import java.io.*; public class ScaleImage { public static void main( String[] args ) throws IOException { JFrame f = new JFrame(); f.getContentPane().add( new JLabel( new ImageIcon( "picture.jpg" ) ) ); f.pack(); f.show(); int w = f.getWidth(); int h = f.getHeight(); w++; h++; BufferedImage bi = new BufferedImage( w, h, BufferedImage.TYPE_INT_RGB ); Graphics2D big = bi.createGraphics(); big.scale( 0.5, 0.5 ); f.paint( big ); ImageIO.write( bi, "jpg", new File( "picture2.jpg" ) ); f.dispose(); } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.