Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania i odpowiedzi
Viewing all articles
Browse latest Browse all 83164

Odpowiedź: Algorytm służący do skalowania prostokątów względem siebie

$
0
0

Czysta matma.. Ustalasz sobie, nazwijmy to, wysokość bazową H, gdzie H<=wysokości obrazków. Następnie skalujesz obrazki do tej wysokości jak już masz to zrobione to powinieneś uzyskać coś takiego:
[  ][ ][    ][ ]------
[    ][ ][       ][ ]-
[  ][ ][][   ][  ]----
Następnie obliczasz odległość od prawej krawędzi do obrazka (to te kreski) i tą odległość (dla każdego rzędu osobno) dzielisz przez ilość obrazków w rzędzie (odległość/ilość=Delta). Jeżeli odległość ta okaże się większa od jakiejś tam granicznej wartości (Delta>Granica) to wtedy zamieniasz najmniejszy obrazek w danym rzędzie z pierwszym lepszym większym od niego obrazkiem z rzędu drugiego. Jeżeli warunek z graniczną wartością Granica jest spełniony to skalujesz poziomo każdy obrazek w rzędzie zwiększając jego rozmiar (poziomy) o Deltę. Oczywiście należałoby też dodać jakieś zabezpieczenia np. gdy zabraknie obrazków, a warunek Delta<=Granica dalej byłby niespełniony.. ale to inna bajka.


Viewing all articles
Browse latest Browse all 83164

Trending Articles