Toon posts:

[Java] ImageIO JPEG veranderende filesize

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben momenteel bezig met een project waarbij er plaatjes in verschillende formaten gelezen en geschreven moeten worden. Voor PNG plaatjes werkt alles zoals het hoort, maar ik heb wat problemen met JPEG plaatjes.

Voor het lezen van de afbeeldingen gebruik ik ImageIO.read() wat een BufferedImage teruggeeft die ik dan weer in een instance variable van de betreffende class stop. Vervolgens gebruik ik ImageIO.write() om diezelfde instance variable weer te schrijven naar een bestand. Dat werkt wel, alleen veranderd de grote van het bestand steeds. Het lijkt wel alsof het een random number generator is. Na een stuk of 20 keer hetzelfde stukje code uitvoeren wordt de uitvoer stabiel, maar de grote is dan niet het zelfde als het originele bestand.

Iemand ideeën hierover?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 21-05 06:42

momania

iPhone 30! Bam!

flush je wel voordat je je output closed?

Laat anders wat relevante code zien :)

Neem je whisky mee, is het te weinig... *zucht*


  • Janoz
  • Registratie: Oktober 2000
  • Nu online

Janoz

Moderator Devschuur®

!litemod

Waneer je je jpg laad in een buffered image dan wordt de gecomprimeerde code omgezet in een plaatje. Zodra je de boel weer gaat saven wordt het plaatje weer gecomprimeerd. Aangezien jpeg een lossy compress algoritme gebruikt zijn die bewerkingen niet de inverse van elkaar.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'