|
|
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
|
|
|
|
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.
|
|
|