Ich benutze einfache re-size-Methode, um meine Bitmap auf neue Größe zu ändern. Die ursprüngliche Bitmap-Größe ist 320x240 und i Ändern Sie die Größe zweimalNach Resize Bitmap ist das Ergebnis der neuen Bitmap glatt Bitmnap
- Um 250x160
- auf der Bitmap einen Prozess Doing
- es ändern zurück zu 320x240
Ich fand heraus, dass nach ich ändere es zurück zu 320x240 ich sehe, dass die Bitmap wenig glatt ist und nicht wie ich ausgenommen bin.
Wie kann ich vermeiden, dass diese glatte erscheint?
Die Resize-Methode:
private static Image resizeImage(Image imgToResize, Size size)
{
int sourceWidth = imgToResize.Width;
int sourceHeight = imgToResize.Height;
float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;
nPercentW = ((float)size.Width/(float)sourceWidth);
nPercentH = ((float)size.Height/(float)sourceHeight);
if (nPercentH < nPercentW)
nPercent = nPercentH;
else
nPercent = nPercentW;
int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);
Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();
return (Image)b;
}
Skalieren des Bildes wird immer in einem gewissen Mangel an Qualität führen würde. Warum würdest du es kleiner machen und es dann wieder auf die ursprüngliche Größe ändern? Es ist auch unklar, ob Sie versuchen, den Glättungseffekt zu vermeiden oder sich zu fragen, warum Ihr Bild an Qualität verloren hat. –