---
title: "Ändra storlek på bild - får ramlinje"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/169901-ändra-storlek-på-bild-får-ramlinje"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "hoolaboola"
published: "2008-03-14T07:10:17.000Z"
updated: "2008-03-14T09:11:22.000Z"
replies: 4
views: 421
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/169901-ändra-storlek-på-bild-får-ramlinje"
---

# Ändra storlek på bild - får ramlinje

## #1 — hoolaboola, 2008-03-14T07:10Z

jag har en kod som laddar upp en bild samt ändrar storlek på bilden. Men den lämnar en vit ramlinje antingen upptill eller på sidorna (beroende på om det är en stående eller liggande bild. Någo som vet hur man kan greja till det. Här kommer koden:

**//Function For Image**
private Bitmap ResizeImage(Bitmap mg, Size newSize)
{
double ratio = 0d;
double myThumbWidth = 0d;
double myThumbHeight = 0d;
int x = 0;
int y = 0;

Bitmap bp;

if ((mg.Width / Convert.ToDouble(newSize.Width)) \> (mg.Height /
Convert.ToDouble(newSize.Height)))
ratio = Convert.ToDouble(mg.Width) / Convert.ToDouble(newSize.Width);
else
ratio = Convert.ToDouble(mg.Height) / Convert.ToDouble(newSize.Height);
myThumbHeight = Math.Ceiling(mg.Height / ratio);
myThumbWidth = Math.Ceiling(mg.Width / ratio);

Size thumbSize = new Size((int)myThumbWidth, (int)myThumbHeight);
bp = new Bitmap(newSize.Width, newSize.Height);
x = (newSize.Width - thumbSize.Width) / 2;
y = (newSize.Height - thumbSize.Height);
// Had to add System.Drawing class in front of Graphics ---
System.Drawing.Graphics g = Graphics.FromImage(bp);
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMod

Rectangle rect = new Rectangle(x, y, thumbSize.Width, thumbSize.Height);
g.FillRectangle(Brushes.White, 0, 0, mg.Width, mg.Height);
g.DrawImage(mg, rect, 0, 0, mg.Width, mg.Height, GraphicsUnit.Pixel);

return bp;
}
//End Function For Image

**Calling code:**
Size newSize = new Size(imageWidth, imageHeight);
Bitmap bp = ResizeImage(mg, newSize);
bp.Save(Server.MapPath(".\\\\images\\\\Thumb\\\\" + StrFileName), System.Drawing.Imaging.ImageFormat.Jpeg);
bp.Dispose();

Permalänk: https://www.webforum.nu/p/169901

## #2 — inspiro, 2008-03-14T08:31Z

Ta bort den här raden skulle jag tro: g.FillRectangle(Brushes.White, 0, 0, mg.Width, mg.Height);

Permalänk: https://www.webforum.nu/p/2088065

## #3 — hoolaboola, 2008-03-14T08:41Z

Då blir ramen svart. Som är default. Men jag vill itne ha någon alls.

Permalänk: https://www.webforum.nu/p/2088067

## #4 — inspiro, 2008-03-14T08:57Z

Det är antagligen nåt avrundningsfel någonstans, är thumbSize.Width, thumbSize.Height samma som mg.Width, mg.Height när du skriver bilden? En fuling kanske, men om du gör så här, slipper du ramen då?

Rectangle rect = new Rectangle(x, y, thumbSize.Width - 1, thumbSize.Height - 1);

Permalänk: https://www.webforum.nu/p/2088069

## #5 — hoolaboola, 2008-03-14T09:11Z

Det är inte bara en pixel utan det blir lite olika beroende på hur bilden ser ut.

Permalänk: https://www.webforum.nu/p/2088074

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/169901-ändra-storlek-på-bild-får-ramlinje
