Próbuję zmienić rozmiar obrazu, zachowując proporcje. Powinien być wystarczająco duży, aby wypełnić ekran bez pustej przestrzeni, a w razie potrzeby część obrazu powinna być poza ekranem.Obliczanie rozmiaru obrazu dzięki zachowaniu proporcji przy różnych rozdzielczościach ekranu
Poniższy obraz pokazuje, jak żółty obraz powinien być dobrany na podstawie rozmiaru czarnego ekranu.
Herezje Kodeks że ja rzeczywiście przy, czy istnieje lepszy sposób to zrobić?
if(bwidth > bheight) {
if(bwidth > swidth && bheight > sheight) {
new_height = sheight;
new_width = (int) ((double) (bwidth/100)*(sheight/((double) (bheight)/100)));
} else if(bwidth > swidth && bheight < sheight) {
new_height = sheight;
new_width = (int) ((double) (bwidth/100)*(sheight/((double) (bheight)/100)));
} else if(bwidth < swidth && bheight < sheight) {
new_height = sheight;
new_width = (int) ((double) (bwidth/100)*(sheight/((double) (bheight)/100)));
} else if(bwidth < swidth && bheight > sheight) {
new_height = sheight;
new_width = (int) ((double) (bwidth/100)*(sheight/((double) (bheight)/100)));
} else if(bwidth >= swidth && bheight >= sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
}
} else if(bwidth < bheight) {
if(bwidth > swidth && bheight > sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
} else if(bwidth < swidth && bheight > sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
} else if(bwidth < swidth && bheight < sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
} else if(bwidth < swidth && bheight < sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
} else if(bwidth >= swidth && bheight >= sheight) {
new_width = swidth;
new_height = (int) ((double) (bheight/100)*(swidth/((double) (bwidth)/100)));
}
}
- swidth = szerokość ekranu
- sheight = ekranie wysokość
- szer_przycisku = szerokość obrazu
- wys_przycisku = wysokość obrazu
chcesz wyciąć obszar niewidoczny lub zmienić proporcje – mKorbel
Nie wiem, jeśli cięcie jest konieczne, gdyż będzie on niewidoczny, należy po prostu pasują do ekran, zawsze –
masz tam dość dużo niepotrzebnego kodu - a co powiesz na ponowne przeanalizowanie tego, co najważniejsze, aby łatwiej było go przeczytać? – GreyBeardedGeek