Toon posts:

[Delphi] maximum jpeg grootte

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik Delphi 6 en ik kan nergens vinden wat de maximale grootte voor een jpeg mag zijn.

Ik probeer een JPEG van 5MB in een TImage te laden, maar dan krijg ik een Access Violation error.

Het is echt belangrijk dat grote jpegs geladen kunnen worden dus gelieve geen reacties met: 5MB jpegs zijn te groot etc.

Op google kan ik iig niets vinden hierover.

Het zou toch mooi zijn als je ergens de memory size van een TImage kan instellen.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Wat is het originele formaat van de JPEG?

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 01 juli 2004 @ 17:10:
Wat is het originele formaat van de JPEG?
3852px x 4802px
5,51MB

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 01 juli 2004 @ 17:28:
[...]

3852px x 4802px
5,51MB
Een simpele rekensom leert dat je dan 55491912 bytes oftewel 53Mb aan contiguous RAM beschikbaar moet hebben, uitgaande van uitpak naar 24-bits. Als 32 bits zelfs zowat 71Mb. Heb je dat wel beschikbaar? :)

Professionele website nodig?


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Als je dat niet beschikbaar hebt, dan maakt Windows het beschikbaar :)

TS, Wanneer krijg je die AV eigenlijk? bij TJPEGImage.LoadFromFile(), of als je em aan een TBitmap assignt? Maargoed, het lijkt er sowieso al op dat je plaatje veels te groot is. Misschien is het een idee om een andere JPEG library te zoeken, want die van delphi is sowieso niet zo geweldig...

日本!🎌


Verwijderd

Topicstarter
Ik krijg die AV op 2 plaatsen.

Bij de OpenPictureDialog als ik de afbeelding aanklik.
En bij TImage:. load from file

Verwijderd

Topicstarter
curry684 schreef op 01 juli 2004 @ 17:32:
[...]

Een simpele rekensom leert dat je dan 55491912 bytes oftewel 53Mb aan contiguous RAM beschikbaar moet hebben, uitgaande van uitpak naar 24-bits. Als 32 bits zelfs zowat 71Mb. Heb je dat wel beschikbaar? :)
Ja dat heb ik beschikbaar. Als ik de afbeelding open zie ik dat de beschikbare geheugenruimte daalt van 238MB naar 90MB. Ruim voldoende nog zou je zeggen.

Een andere jpeg component gebruiken zal het probleem van de OpenPictureDialog nog oplossen lijkt mij.

Verwijderd

Op de volgende site is een experiment beschikbaar om maximale grootte van een bitmap te bepalen. Het blijkt dat dit nogal afhangt van de versie van Windows die je gebruikt en de drivers van je gfx kaart

http://www.efg2.com/Lab/Graphics/VeryLargeBitmap.htm

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 22-05 13:40
Een andere jpeg component gebruiken zal het probleem van de OpenPictureDialog nog oplossen lijkt mij.
De OpenPictureDialog doet niets anders dan je één of meerdere bestandsnamen teruggeven, als die al een fout geeft is er wat anders aan de hand.

Gebruik eerst eens een TJPEGImage om je plaatje in te laden en assign die dan aan de Timage, dan kun je zien of het bij het laden fout gaat of bij de assignment.

[ Voor 46% gewijzigd door Pino op 03-07-2004 09:56 ]

"If you don't know where you are going, any road will take you there"


Verwijderd

THEF_Pino schreef op 03 juli 2004 @ 09:55:
[...]


De OpenPictureDialog doet niets anders dan je één of meerdere bestandsnamen teruggeven, als die al een fout geeft is er wat anders aan de hand.

Gebruik eerst eens een TJPEGImage om je plaatje in te laden en assign die dan aan de Timage, dan kun je zien of het bij het laden fout gaat of bij de assignment.
OpenPictureDialog gebruikt dezelfde routines om een thumbnail te laten zien als TImage later om plaatjes te laden mbt beeldtypes.

Als je in een gewone TBitmap wel plaatjes kunt maken met de afmetingen van je JPEG bestanden (zie mijn vorige post), dan kun je het proberen met een alternatieve jpeg-component. Ik vermoed dat je beste kans ligt bij een commerciële verzameling zoals ImagXpress van Pegasus. De meeste 'vrij' verkrijgbare componenten stammen uit een tijd dat jpeg nog niet direct door Delphi ondersteund werd, en integreren daarom niet gemakkelijk met andere Delphic componenten en bijv. OpenPictureDialog

  • NaliXL
  • Registratie: Maart 2002
  • Laatst online: 01-05 19:30
En waarschijnlijk kun je ook wel wat met de Jedi VCL components. Best kans dat dat werkt.

Genoeg is meer dan veel, en tart den overvloed


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 23-05 23:27

Tomatoman

Fulltime prutser

Integreer de unit JPEG eens in je project, zodat je ook kunt diebuggen in die unit. Dan kun je tenminste zien wat er precies fout gaat.

Een goede grap mag vrienden kosten.

Pagina: 1