login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hersen-breek-berekening tbv collage

Offline Martijn2008 - 19/08/2011 18:51 (laatste wijziging 19/08/2011 18:52)
Avatar van Martijn2008PHP beginner 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
Offline MiST - 19/08/2011 21:18 (laatste wijziging 19/08/2011 21:19)
Avatar van MiST Lid 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 
Bedankt door: Koen
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.159s