Jeg er ved at lave et upload system ... efter man har uploadet et billede, skal det scaleres til 350 i breddenog converteres til jpeg, samt laves tumbnails...
Men hvorfor bliver billederne grimme og utydelige ??? er der noget man kan gøre for at forhindre dette ??? siden skal bruges til at modeller kan uploade billeder af dem selv, så det dur ikke de alle er grumset i ansigtet...
Jeg bruger GetThumbnailImage til begge scaleringer...
GetThumbNailImage er, som navnet antyder, kun til thumbnail.. og her er kvaliteten ikke særlig god. Du skal istedet manuelt sætte din Height og Width på billedet... så bliver det pænt scaleret.
Jeg tænker på.. jeg har mit image objekt.. men hvilken funktion scalere ? jeg har læst noget om man kan bruge noget imagecodec og encoder stuff før man gemmer sit billede.. det skulle give de samme muligheder som med feks. Photoshop hvor man kan vælge en værdi mellem 1 og 100 til jpeg...
public static Bitmap Resize(Bitmap b, int nWidth, int nHeight, bool bBilinear) { Bitmap bTemp = (Bitmap)b.Clone(); b = new Bitmap(nWidth, nHeight, bTemp.PixelFormat);
if (bBilinear) { double fraction_x, fraction_y, one_minus_x, one_minus_y; int ceil_x, ceil_y, floor_x, floor_y; Color c1 = new Color(); Color c2 = new Color(); Color c3 = new Color(); Color c4 = new Color(); byte red, green, blue;
byte b1, b2;
for (int x = 0; x < b.Width; ++x) for (int y = 0; y < b.Height; ++y) { // Setup
red = (byte)(one_minus_y * (double)(b1) + fraction_y * (double)(b2));
b.SetPixel(x,y, System.Drawing.Color.FromArgb(255, red, green, blue)); } } else { for (int x = 0; x < b.Width; ++x) for (int y = 0; y < b.Height; ++y) b.SetPixel(x, y, bTemp.GetPixel((int)(Math.Floor(x * nXFactor)),(int)(Math.Floor(y * nYFactor)))); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.