Có thể thay đổi kích cỡ hình ảnh theo tỷ lệ theo cách độc lập với loại hình ảnh (bmp, jpg, png, v.v ...) không?Làm thế nào để thay đổi kích thước hình ảnh tỷ lệ của bất kỳ loại nào trong .NET?
Tôi có mã này và biết rằng cái gì là mất tích (nhưng không biết gì):
public bool ResizeImage(string fileName, string imgFileName,
ImageFormat format, int width, int height)
{
try
{
using (Image img = Image.FromFile(fileName))
{
Image thumbNail = new Bitmap(width, height, img.PixelFormat);
Graphics g = Graphics.FromImage(thumbNail);
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
Rectangle rect = new Rectangle(0, 0, width, height);
g.DrawImage(img, rect);
thumbNail.Save(imgFileName, format);
}
return true;
}
catch (Exception)
{
return false;
}
}
Nếu không thể, làm thế nào tôi có thể thay đổi kích thước theo tỷ lệ một hình ảnh jpeg?
Tôi biết rằng việc sử dụng this method, nhưng không biết đặt giá trị này ở đâu (!).
Hình ảnh PNG và Gif 8-bit yêu cầu tái lượng tử và phối màu lại khi được thay đổi kích thước (không nhỏ)! Giải pháp tốt nhất là sử dụng một thư viện được quản lý được thiết kế để xử lý tất cả các định dạng/cạnh đúng cách, duy trì tỷ lệ khung hình, vv [Thư viện ImageResizer] (http://imageresizingin.net/) là một công cụ đã được chứng minh cho tác vụ này cũng như cắt xén, xoay và lật. Đó là mã nguồn mở, vì vậy nếu bạn cảm thấy như đang lăn giải pháp của riêng mình, chỉ cần sao chép và dán. Nó cũng cho phép rất nhiều những thứ hữu ích khác thông qua các plugin, như watermarking, disk caching, sql blobs, S3 reading, v.v. –
Đến đây để cải thiện khả năng chỉnh sửa ảnh của tôi và phát hiện Thư viện ImageResizer. Nó là tuyệt vời. 1 cho nhà ngôn ngữ học máy tính! – Chris
URL trong câu trả lời của Nhà ngôn ngữ học máy tính phải là: http://imageresizing.net/ – glenatron