Hej, Kalle, Beräkna skalan i x-led och y-led, alltså bredd/originalbredd och höjd/originalhöjd. Sedan kollar du vilken skala som är lägst, och använder den för att räkna om bägge värdena. Guffa, Om han inte utgår ifrån den axel där skalan är minst, så blir ju bilden större än skärmen. Guffa,Skala bild
Jag håller på o knåpar lite på ett fotoalbum som ska kunna skala om bilderna för att passa på användarens skärm. Jag har plockat fram max bredd o max höjd. Det jag nu undrar är hur jag på ett propertionerligt sätt skalar om bilden.
Hur ska jag gå tillväga för att räkna ut den nya storleken?
MVH
KalleSv: Skala bild
Bredden och höjden kan du juh ange i ett storleksförhållande (t.ex hur många % större den ena sidan är jämfört med den andra). När du vet detta förhållande anpassar du en av sidorna (bredden eller höjden) till den önskade och sen anpassar du den andra så att samma storleksförhållande uppmås.
<b>Exempel</b>
Bilden är 100 (bredd) * 150 (höjd) pixlar stor. Detta ger ett förhållande 1:1.5, dvs att höjden är 1½ gång så stor som bildens bredd. Låt oss ny säga att du vill att bilden skall bli 65 pixlar bred och att höjden skalas proportionellt. Då vet du att den nya höjden är 65*1.5 = 97.5 som vi rundar av till 98 pixlar.
Omvänt kan man oxå säga att bredden är 100/150 = 0.66666666667 = 67% av bildens höjd. Samma sak med olika avseende.
Hoppas detta var till hjälp.Sv: Skala bild
Sv: Skala bild
Vilken axel som han skall utgå ifrån är faktiskt totalt orelevent. Om den ena är större än den andra så får man förhållande som är mindre än 1 annars större. Så det kommer alltid att bli rätt poroptioner oavsett vilken axel man väljer.Sv: Skala bild
Exempel:
Bilden är 1200x800
Skärmen är 800x600
Skala i x-led: 800 / 1200 = 0,66667
Skala i y-led: 600 / 800 = 0,75
Eftersom skalan i x-led är mindre än i y-led så använder vi den:
1200 * 0,66667 = 800
800 * 0,66667 = 533
Ifall man däremot använder skalan i y-led så blir det:
1200 * 0,75 = 900
800 * 0,75 = 600
Ojsan, bilden blev större än skärmen...Sv: Skala bild
He he jao men jag missade totalt att han skulle anpassa den till skärmen. Mitt inlägg handlade om att skala om en bild proportionellt bara och då spelar det ingen roll vilken axel du utgår ifrån =)