webForumDet fria alternativet

Skala bild till fast storlek.

.NET

2 svar · 258 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1

Jag försöker skala en bild som jag laddar upp till en fast bredd. men jag får inte till skalningen. Nu har jag denna.

[red]
int newWidth, newHeight;
[b]double ImageScale = Convert.ToDouble(width / original.Width) ;[/b]
Debug.WriteLine(ImageScale, "Skala");
newWidth = Convert.ToInt32(original.Width * ImageScale);
newHeight = Convert.ToInt32(original.Height * ImageScale);
[/red]

Det är den feta raden som blir 0 fastän den ska bli typ 0,37 på den bilden jag skckar upp. Det är väll double jag ska använda?

Det funkar bra om jag anger skalan manuellt. Kan/ska jag sätta hur många decimaler jag vill att ImageScale ska innehålla någonstans?

mv icaaq

Medlem sedan juni 20011 732 inlägg
#2

Eftersom width och orginal.width inne i utrycket är int när de delas så blir utrycket noll innan du konverterar det till double!

double ImageScale = (double)width/(double)original.Width;
Medlem sedan okt. 20005 273 inlägg
#3

Som NetWork skrev... Tack

mv icaaq

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)