login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Csharp.NET

Hersen-breek-berekening tbv collage

Martijn2008 – 19/08/2011 18:51 (Laatst gewijzigd op 19/08/2011 18:52)
Hallo allemaal,

Voor het genereren van een collage ben ik begonnen met het schrijven van een C# Console applicatie.

Het programma krijgt de volgende input:
- Een onbekend aantal foto's
- De breedte van de collage(staat vast)
- De hoogte van de collage(staat vast)

Doel van het programma:
- Alle afbeeldingen dienen in de collage te staan of het er nu 1 of 300 zijn.
- Het programma dient de afbeeldingen in evenredige rijen op te delen. Dus het programma bepaald wanneer een nieuwe rij begint. Het programma bepaalt tevens op welke positie de afbeelding komt te staan(bijvoorbeeld 300 pixels van links en hoogte 0 pixels)

Mijn vraag aan is hoe los ik dit op? Stel dat ik nou 300 afbeeldingen van 300 pixels bij 400 pixels als input geeft. Hoe zorg ik dat het programma toch die resolutie van 1680 * 1050 als output geeft? Werken met verhoudingen?

Alle tips zijn welkom!

Dank alvast voor je hulp....

Martijn

1 antwoord

Gesponsorde links
Daisycon - Verdien geld met uw website

MiST – 19/08/2011 21:18 (Laatst gewijzigd op 19/08/2011 21:19)
Met een (niet-lineair) stelsel van 4 vergelijkingen en 4 onbekenden:

Onbekenden:
* x: breedte van foto in collage
* y: hoogte van foto in collage
* m: aantal rijen foto's
* n: aantal kolommen foto's

Vergelijkingen:
* x / y = (originele breedte van een foto)/(originele hoogte van een foto) -> behoudt de verhoudingen

mss best wel nog eens narekenen en testen of het klopt 
* x * n = gewenste breedte
* y * m = gewenste hoogte
* m * n = aantal foto's in de collage

Dit oplossen door enkele substituties te maken. Als ik goed gerekend heb, krijg je dit:

m = sqrt(originele breedte * aantal * gewenste hoogte / gewenste breedte / originele hoogte)

sqrt staat voor square root, dus vierkantswortel 

Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.012s