• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Ảnh bài viết của tin tức

Trao đổi về lập trình Web Forms, Javascript với ASP.NET

Điều hành viên: vietluyen, vuathongtin

Hình đại diện của người dùng
khatiensinh
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Ba 14/07/2009 5:43 pm
Đến từ: Hợp Hòa - Phương Định - Trực Ninh - Nam Định
Liên hệ:

Ảnh bài viết của tin tức

Gửi bàigửi bởi khatiensinh » T.Năm 14/01/2010 10:25 pm

Chào cả nhà, cả nhà cho mình hỏi xíu.
Mihf có một web, trong phần trang chủ, có mục "bài viết được xem nhiều nhất" và "bài viết phản hồi nhiều nhất". Mình muốn đưa một ảnh cỡ nhỏ đi kèm với tên bài viết vào đó được không? Cái này có phải lưu thành hai file ảnh trực tiếp không? (ảnh trong phần chi tiết bài viết rất lớn) giờ mình muốn có một ảnh cỡ nhỏ (nhỏ hơn từ 3 đến 4 lần ảnh trong bài chi tiết), làm thế nào để có ảnh như thế? Tức là tạo một ảnh mới từ ảnh bài chi tiết hay là dùng thuộc tính gì của ảnh để biến đổi ảnh lớn chi tiết thành ảnh nhỏ hơn?
Mong cả nhà chỉ giáo.
Rất cảm ơn!



Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 954
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 51 time
Been thanked: 66 time
Liên hệ:

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi NoBi » T.Năm 14/01/2010 10:48 pm

Bạn dùng hàm này để resize ảnh:
  1. /// <summary>
  2.     /// Resize image
  3.     /// </summary>
  4.     /// <param name="imgToResize">Image need resize</param>
  5.     /// <param name="size">New size</param>
  6.     /// <returns>Image with new size</returns>
  7.     public static System.Drawing.Image resizeImage(System.Drawing.Image imgToResize, Size size)
  8.     {
  9.         int sourceWidth = imgToResize.Width;
  10.         int sourceHeight = imgToResize.Height;
  11.  
  12.         float nPercent = 0;
  13.         float nPercentW = 0;
  14.         float nPercentH = 0;
  15.  
  16.         nPercentW = ((float)size.Width / (float)sourceWidth);
  17.         nPercentH = ((float)size.Height / (float)sourceHeight);
  18.  
  19.         if (nPercentH < nPercentW)
  20.             nPercent = nPercentH;
  21.         else
  22.             nPercent = nPercentW;
  23.  
  24.         int destWidth = (int)(sourceWidth * nPercent);
  25.         int destHeight = (int)(sourceHeight * nPercent);
  26.  
  27.         Bitmap b = new Bitmap(destWidth, destHeight);
  28.         Graphics g = Graphics.FromImage((System.Drawing.Image)b);
  29.         g.InterpolationMode = InterpolationMode.HighQualityBicubic;
  30.  
  31.         g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
  32.         g.Dispose();
  33.  
  34.         return (System.Drawing.Image)b;
  35.     }
:>

neverland87
Guru
Guru
Bài viết: 490
Ngày tham gia: T.Bảy 26/05/2007 4:31 pm
Been thanked: 8 time

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi neverland87 » T.Năm 14/01/2010 10:49 pm

khatiensinh đã viết:Chào cả nhà, cả nhà cho mình hỏi xíu.
Mihf có một web, trong phần trang chủ, có mục "bài viết được xem nhiều nhất" và "bài viết phản hồi nhiều nhất". Mình muốn đưa một ảnh cỡ nhỏ đi kèm với tên bài viết vào đó được không? Cái này có phải lưu thành hai file ảnh trực tiếp không? (ảnh trong phần chi tiết bài viết rất lớn) giờ mình muốn có một ảnh cỡ nhỏ (nhỏ hơn từ 3 đến 4 lần ảnh trong bài chi tiết), làm thế nào để có ảnh như thế? Tức là tạo một ảnh mới từ ảnh bài chi tiết hay là dùng thuộc tính gì của ảnh để biến đổi ảnh lớn chi tiết thành ảnh nhỏ hơn?
Mong cả nhà chỉ giáo.
Rất cảm ơn!

-Bạn chỉ cần 1 trường để lưu ảnh thôi (tức là chỉ cần 1 ảnh là đủ)
-Lúc hiển thị ra thì bạn có thể tùy chỉnh kích thước của ảnh mà (width & height của tag <img>)
SIMPLY THE BEST - ĐƠN GIẢN LÀ TỐT NHẤT

Hình đại diện của người dùng
khatiensinh
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Ba 14/07/2009 5:43 pm
Đến từ: Hợp Hòa - Phương Định - Trực Ninh - Nam Định
Liên hệ:

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi khatiensinh » T.Sáu 15/01/2010 1:09 am

Cảm ơn neverland87 nhé.
Mình nghĩ hoài không ra.

Hình đại diện của người dùng
khatiensinh
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Ba 14/07/2009 5:43 pm
Đến từ: Hợp Hòa - Phương Định - Trực Ninh - Nam Định
Liên hệ:

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi khatiensinh » T.Sáu 15/01/2010 1:10 am

NoBi đã viết:Bạn dùng hàm này để resize ảnh:
  1. /// <summary>
  2.     /// Resize image
  3.     /// </summary>
  4.     /// <param name="imgToResize">Image need resize</param>
  5.     /// <param name="size">New size</param>
  6.     /// <returns>Image with new size</returns>
  7.     public static System.Drawing.Image resizeImage(System.Drawing.Image imgToResize, Size size)
  8.     {
  9.         int sourceWidth = imgToResize.Width;
  10.         int sourceHeight = imgToResize.Height;
  11.  
  12.         float nPercent = 0;
  13.         float nPercentW = 0;
  14.         float nPercentH = 0;
  15.  
  16.         nPercentW = ((float)size.Width / (float)sourceWidth);
  17.         nPercentH = ((float)size.Height / (float)sourceHeight);
  18.  
  19.         if (nPercentH < nPercentW)
  20.             nPercent = nPercentH;
  21.         else
  22.             nPercent = nPercentW;
  23.  
  24.         int destWidth = (int)(sourceWidth * nPercent);
  25.         int destHeight = (int)(sourceHeight * nPercent);
  26.  
  27.         Bitmap b = new Bitmap(destWidth, destHeight);
  28.         Graphics g = Graphics.FromImage((System.Drawing.Image)b);
  29.         g.InterpolationMode = InterpolationMode.HighQualityBicubic;
  30.  
  31.         g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
  32.         g.Dispose();
  33.  
  34.         return (System.Drawing.Image)b;
  35.     }

NoBi ơi, code có vấn đề gì không, mình dùng hàm này mà ko chạy được.
Coi lại giùm mình nhé

neverland87
Guru
Guru
Bài viết: 490
Ngày tham gia: T.Bảy 26/05/2007 4:31 pm
Been thanked: 8 time

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi neverland87 » T.Sáu 15/01/2010 11:01 am

-Không chạy được thì bạn ghi lỗi lên đây, chứ than thế này thì ai giúp được.
-Dùng code xử lý ảnh thế này thì làm chậm quá trình xử lý của server! Không biết xử lý hàng trăm ảnh,... thì sẽ thế nào heng.
SIMPLY THE BEST - ĐƠN GIẢN LÀ TỐT NHẤT

Hình đại diện của người dùng
NoBi
Quản trị
Quản trị
Bài viết: 954
Ngày tham gia: T.Ba 18/03/2008 1:22 pm
Đến từ: Sài Gòn
Has thanked: 51 time
Been thanked: 66 time
Liên hệ:

Re: Ảnh bài viết của tin tức

Gửi bàigửi bởi NoBi » T.Sáu 15/01/2010 3:29 pm

Hàm trên anh dùng để tạo 1 file thumbnail hiển thị cho nhẹ mỗi khi user upload 1 hình lên. Ở đây đâu phải viết chương trình xử lý ảnh đâu mà tới hàng trăm ảnh. :d
:>


Quay về “Lập trình Web với ASP.NET”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách