是否有任何用C#调整图像大小的方便方法?调整图像大小
调整图像大小
回答
以下链接可以帮助你:)
snippets.dzone.com/posts/show/4336
更新:在链接上面的代码物理调整大小,如果你的目的是要调整图像文件,以节省空间,节省了图像,否则如上所述,您可以手动设置图像控件上的高度/宽度。
如果你加载一个图像,那么你可以只设置宽度/高度属性。
例如
Bitmap bmp = new Bitmap(@"c:\myfile.bmp");
bmp.Width = (int)(bmp.Width/2);
bmp.Height = (int)(bmp.Height/2);
加载到gdi +(system.drawing)和scale?
从我个人的代码库。无论如何,有点老。
protected Image FixedSize(Image imgPhoto, int Width, int Height)
{
int width = imgPhoto.Width;
int height = imgPhoto.Height;
int x = 0;
int y = 0;
int num5 = 0;
int num6 = 0;
float num7 = 0f;
float num8 = 0f;
float num9 = 0f;
num8 = ((float) Width)/((float) width);
num9 = ((float) Height)/((float) height);
if (num9 < num8)
{
num7 = num9;
num5 = Convert.ToInt16((float) ((Width - (width * num7))/2f));
}
else
{
num7 = num8;
num6 = Convert.ToInt16((float) ((Height - (height * num7))/2f));
}
int num10 = (int) (width * num7);
int num11 = (int) (height * num7);
Bitmap image = new Bitmap(Width, Height, PixelFormat.Format24bppRgb);
image.SetResolution(imgPhoto.HorizontalResolution, imgPhoto.VerticalResolution);
Graphics graphics = Graphics.FromImage(image);
graphics.Clear(ColorTranslator.FromHtml("#ffffff"));
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.DrawImage(imgPhoto, new Rectangle(num5, num6, num10, num11), new Rectangle(x, y, width, height), GraphicsUnit.Pixel);
graphics.Dispose();
return image;
}
-1:num1,num2,num3,... num11。没有冒犯,但变量名称的选择会像代码被有目的地混淆。 – Juliet 2009-10-01 14:19:59
这是一些严重的WTF代码:变量名称,Convert.ToInt16,ColorTranslators.FromHtml。我会避免低调投票,因为至少你得到了InterpolationMode。 – MusiGenesis 2009-10-01 14:44:27
Kidooosss ...此代码来自.NET Reflector。我有复制粘贴的想法。意图是只显示逻辑。评分...你的选择。 :-) – NinethSense 2009-10-05 10:18:47
在additiona别人所说的话,比300x300的较小的图像,Image.GetThumbnailImage十分便利:
static void Main(string[] args)
{
Bitmap b = new Bitmap(@"C:\Documents and Settings\juliet\My Documents\My Pictures\julietawesome.bmp");
Image image = b.GetThumbnailImage(100, 100, null, IntPtr.Zero);
image.Save(@"C:\Documents and Settings\juliet\My Documents\My Pictures\thumbnail.bmp", ImageFormat.Bmp);
}
由于没有其他人这样说:尝试WPF。
Public Function ScaleByPercent(ByVal imgPhoto As Image, ByVal Percent As Integer) As Image
Dim nPercent As Single = (CType(Percent, Single)/100)
Dim sourceWidth As Integer = imgPhoto.Width
Dim sourceHeight As Integer = imgPhoto.Height
Dim sourceX As Integer = 0
Dim sourceY As Integer = 0
Dim destX As Integer = 0
Dim destY As Integer = 0
Dim destWidth As Integer = CType((sourceWidth * nPercent), Integer)
Dim destHeight As Integer = CType((sourceHeight * nPercent), Integer)
Dim bmPhoto As New Bitmap(destWidth, destHeight, PixelFormat.Format24bppRgb)
bmPhoto.SetResolution(imgPhoto.HorizontalResolution, imgPhoto.VerticalResolution)
Dim grPhoto As Graphics = Graphics.FromImage(bmPhoto)
grPhoto.InterpolationMode = InterpolationMode.HighQualityBicubic
grPhoto.DrawImage(imgPhoto, New Rectangle(destX, destY, destWidth, destHeight), New Rectangle(sourceX, sourceY, sourceWidth, sourceHeight), GraphicsUnit.Pixel)
grPhoto.Dispose()
Return bmPhoto
End Function
请注意,在对图像大小进行重大更改时,GDI调整大小算法会产生平庸的结果。我过去编写了类似的代码,然后切换到第三方库以获得更好的质量调整算法。 – ScottS 2009-10-01 21:33:49
- 1. 图像未调整大小
- 2. 调整jpeg图像大小?
- 3. codeigniter图像调整大小
- 4. Phalcon图像调整大小
- 5. JavaFx图像调整大小
- 6. ckfinder图像调整大小
- 7. 图像调整大小Codeigniter
- 8. 调整图像大小。 。 。 。
- 9. 图像调整大小Java
- 10. 调整图像大小
- 11. 调整图像大小
- 12. 调整图像大小5
- 13. php调整大小图像
- 14. imageWithContentsOfFile调整图像大小
- 15. Opencart - 图像调整大小
- 16. Kraken.io图像调整大小
- 17. wordpress调整大小图像
- 18. 调整大小。GIF图像
- 19. iphone图像大小调整
- 20. 调整图像大小
- 21. 调整图像大小
- 22. Magick.Net调整图像大小
- 23. 调整图像大小
- 24. CSS图像大小调整
- 25. PIL调整大小图像
- 26. 调整图像大小,笨
- 27. Android图像调整大小
- 28. JavaME调整图像大小
- 29. c#图像调整大小
- 30. CSS图像大小调整
您如何定义方便? – RedFilter 2009-10-01 14:06:03