Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Image lib gezocht

Pagina: 1
Acties:
  • 17 views sinds 30-01-2008

  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09 20:58
Voor een hobby projectje ben ik op zoek naar een specifieke library. Het projectje is een ASP.NET user control wat grote images laat zien á la google maps. Dan hebben we het dus over images die groter zijn dan het scherm. Dit is nuttig, zo kan je op het web grote images bekijken zonder ze eerst te downloaden.

Het component is geschreven in javascript (bijna volledig client side code). Via een URL haalt de javascript code een image op, zoals bijv. "img.aspx?h=1&v=1&z=1". Hier staat h voor horizontaal, en v voor verticaal. Dit image is een 100x100 pixel uitsnede van de volledige, supergrote image.
Ook dit werkt, en werkt snel voor <5Mpixel images. Daarboven wordt het snel traag.

De code welke de image genereert opent een file, haalt een uitsnede eruit en zend die vervolgens naar de browser. Dit noem ik voor het gemak even 'image berekening".
Andere code, welke ook werkt, levert het image volgens een cached principe. De éérste keer dat een image bekeken wordt door de webuser, wordt de image geladen en worden vervolgens alle uitsnedes als file op disk opgeslagen. Elk image wat door de browser word verzocht, wordt dan simpelweg als file naar de user verzonden. Dit scheelt rekenkracht en geheugencapacitiet maar heeft als nadeel dat de precached images op disk staan, wat ruimte vergt. Dit principe noem ik even "image caching".

Beide methodes dus voor- en nadelen. Het probleem komt nu om de hoek kijken: dit component moet images weer gaan geven van honderden megapixels of zelfs gigapixels groot. De grootste waar rekening mee moet worden gehouden is 32x2048 bij 32x2048 pixels. Dat is 4294967296 pixels, ofwel 4294967 kilopixel ofwel 4294 megapixel ofwel 4,3 gigapixel. Met dit soort groottes is cachen minder fijn omdat er dan snel hele harddisks volraken. Image berekening kan je vergeten om redelijk performant uit te voeren, vanwege het geheugengebruik. Dit komt omdat het .NET framework en de meeste andere libs direct de gehele image laden.

Ik ben dus op zoek naar een library waarmee je gedeeltelijk een image kan laden aan de hand van opgegeven coordinaten. Hierdoor zou het werkbaar moeten worden, alleen het gedeelte wat de user ziet wordt geladen, uitgesneden en verzonden naar de browser.


Excuse me voor de topictitel, deze ben ik vergeten aan te passen. Kan een mod dat veranderen naar "[C#/.NET] werken met gigapixel images"?

[ Voor 3% gewijzigd door Ruudjah op 23-11-2007 16:48 ]

TweakBlog


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:10

Creepy

Tactical Espionage Splatterer

Je bent opzoek naar een library? Dat is gewoon een scriptrequest. Zie ook Programming Beleid - Scriptrequests.

En wijzigingen in topictitels kan je het beste doorgeven via een topicreport.

[ Voor 21% gewijzigd door Creepy op 23-11-2007 16:51 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.