CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 269

269

Chương 7: ASP.NET và Web Form

// Lưu bức hình vào dòng kết xuất.

bitmap.Save(Response.OutputStream,

System.Drawing.Imaging.ImageFormat.Gif);

graphics.Dispose();

bitmap.Dispose();

}

}

Khi lưu bức hình vào dòng kết xuất, bạn sẽ thế chỗ bất kỳ kết xuất nào khác. Vì thế, bạn
không thể sử dụng kỹ thuật này với một trang cũng có chứa Web controls hoặc nội dung
HTML tĩnh. Theo đó, nếu muốn sử dụng một trang phối hợp các bức hình được-tạo-động và
các điều kiểm web, bạn cần “bọc” bức hình được-tạo-động trong một điều kiểm hoặc ghi bức
hình ra ổ đĩa cứng trước khi hiển thị nó.
Nếu muốn lưu file vào ổ đĩa cứng, bạn cần chuyển phần mã tạo dựng bức hình thành một
phương thức độc lập, mà chúng ta sẽ đặt tên là

GenerateBanner

. Kế đó, trong phương thức thụ

lý sự kiện

Page.Load

, bạn kiểm tra xem file đã tồn tại chưa (sử dụng phương thức tĩnh

File.Exists

). Nếu file chưa tồn tại, bạn tạo nó trong bộ nhớ bằng phương thức

GenerateBanner

và lưu nó bằng phương thức

Bitmap.Save

. Nếu file đã tồn tại, bạn chỉ cần nạp

thẳng bức hình này.
Đoạn mã dưới đây sẽ trình bày cách tiếp cận này:

using System;

using System.IO;

using System.Web;

using System.Web.UI.WebControls;

using System.Drawing;

using System.Drawing.Drawing2D;

public class DynamicGraphic : System.Web.UI.Page {

protected System.Web.UI.WebControls.Image imageControl;

// (Bỏ qua phần mã designer.)

private Bitmap GenerateBanner() {

// Tạo dựng bức hình, sử dụng phần mã trong ví dụ ở trên.

}

private void Page_Load(object sender, System.EventArgs e) {

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.