AWARE [SYSTEMS] Imaging expertise voor de Delphi ontwikkelaar
AWare Systems, Imaging expertise voor de Delphi ontwikkelaar, Home TechTalks
AWare Systems on-line

Home
Custom development
Imaging
TechTalks
    Bestandformaat uit gegevens
    Tiling versus banding
    VCL TGraphic grondbeginselen
    Ongebruikte kleur
Company
Links

Talen

  English version
  Nederlandse versie

Contact

Informatie: info@awaresystems.be
Helpdesk: support@awaresystems.be
Verkoop: sales@awaresystems.be



Valid HTML 4.01!



Delphi graphics en imaging gerelateerde onderwerpen

De volgende artikels handelen hoofdzakelijk over problemen en onderwerpen die te maken hebben met de implementatie van grafische en imaging technieken in Delphi. Ze zijn meestal ontstaan als antwoord van een AWare Systems programmeur op een vraag die werd gesteld in nieuwsgroepen zoals borland.public.delphi.graphics. Deze sectie zal regelmatig worden uitgebreid met nieuwe artikels en besprekingen. Geef ons een seintje als u op de hoogte wilt blijven van de publicatie van updates in deze sectie.

Bestandformaat uit gegevens
Programmeurs staan soms voor het probleem dat ze gegevens of een gegevensstroom moeten verwerken, zonder enige aanduiding te hebben van het specifieke bestandsformaat waarin die gegevens zijn verpakt. Dit komt het vaakst voor bij database tables met image data in een veelheid aan beeldbestandsformaten. Vaak bestaat er geen precieze manier om het bestandsformaat te bepalen en bestaat de beste oplossing erin het probleem uit te weg te gaan. Dit gezegd zijnde, worden in dit artikel enkele Delphi ObjectPascal functies besproken, die de bovenstaande klus zo goed mogelijk trachten te klaren, en dit voor verschillende grafische en andere formaten...

Tiling versus banding
Er bestaan twee welbekende technieken voor de verwerking van grote en zeer grote afbeeldingen. Beide hebben als doel te vermijden dat één enkele grote brok geheugen moet worden gealloceerd, door het afbeeldingsraster op te splitsen in kleinere tegels of stroken. "Banding" slaat op het opsplitsen van het raster in een reeks horizontale stroken, terwijl bij "tiling" het raster in een reeks min of meer vierkante tegels wordt opgesplitst. Deze TechTalk vergelijkt beide technieken en komt tot de conclusie dat tiling duidelijk superieur is aan banding.

VCL TGraphic grondbeginselen
Er blijkt nogal wat verwarring te bestaan over de basisbegrippen en het gebruik van de grafische componenten van de Delphi Visual Component Library. De eigenlijke bedoeling van het TGraphic ontwerp wordt niet altijd goed begrepen, is op het design-vlak gecorrupteerd door de 'foute' en ontoereikende TBitmap, is verder slecht gedocumenteerd en wordt vaak verward met de functionaliteit van een TImage. Toch gaat het om een uiterst verfijnd ontwerp. In deze TechTalk gaan we dieper in op de betekenis en de toepassing van deze graphics klassen en bespreken we hun onderlinge relaties.

Ongebruikte kleur
Programmeurs moeten vaak bitmaps samenstellen op een achtergrond en dergelijke. Hiertoe kan het nuttig zijn dat de code een ongebruikte kleur opspoort, die vervolgens kan worden gebruikt om transparantie te coderen. De bepaling van een niet-gebruikte kleur is vrij makkelijk voor kleurendiepten kleiner dan 24, maar wanneer hetzelfde algoritme wordt toegepast op een pf24bit of pf32bit TBitmap wordt het onaanvaardbaar traag. Deze TechTalk behandelt dit probleem, stelt een andere manier voor om de niet-gebruikte kleur te vinden bij een kleurendiepte gelijk aan 24 en bevat verder kant-en-klare kopieerbare broncode waarmee u deze klus klaart voor een pf16bit en pf24bit TBitmap.