是否有任何用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