(原創) 如何用程序的方式载入jpg图形文件? (.NET) (GDI+) (ASP.NET) (Image Processing)
Abstract
虽然HTML本身就提供了tag可直接显示jpg图形文件,但若需对图形本身作Pixel By Pixel的影像处理,如『影像辨识』,就必须用程序的方式将jpg图形文件加载,然后才能做后续的处理,以下的程序将示范如何在.NET平台使用C#载入jpg图形文件。
Introduction
1
<!-- (C) OOMusou 2006.09.29 oomusou@hotmail.com-->
2
<%@ Page Language="C#" %>
3![](/Images/OutliningIndicators/None.gif)
4
<%@ Import Namespace="System.Drawing" %>
5
<%@ Import Namespace="System.Drawing.Imaging" %>
6
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7![](/Images/OutliningIndicators/None.gif)
8
<script runat="server">
9
/// <summary>
10
/// Demo how to read image from Jpeg format for further
11
/// image processing.
12
/// </summary>
13
protected void Page_Load(object sender, EventArgs e) {
14![](/Images/OutliningIndicators/InBlock.gif)
15
// Bitmap uses System.Drawing namespace.
16
Bitmap jpg = new Bitmap(Server.MapPath("lena.jpg"));
17![](/Images/OutliningIndicators/InBlock.gif)
18
// Graphics uses System.Drawing namespace.
19
Graphics canvas = Graphics.FromImage(jpg);
20![](/Images/OutliningIndicators/InBlock.gif)
21
// Specify HTML's content type.
22
Response.Clear();
23
Response.ContentType = "image/jpeg";
24![](/Images/OutliningIndicators/InBlock.gif)
25
// ImageFormat uses System.Drawing.Imaging namespace.
26
jpg.Save(Response.OutputStream, ImageFormat.Jpeg);
27![](/Images/OutliningIndicators/InBlock.gif)
28
// You should always call the Dispose method to release
29
// the Graphics and related resources created by the
30
// FromImage method.
31
jpg.Dispose();
32
canvas.Dispose();
33
}
34
</script>
35![](/Images/OutliningIndicators/None.gif)
36
<html xmlns="http://www.w3.org/1999/xhtml">
37
<head runat="server">
38
<title></title>
39
</head>
40
<body>
41
<form id="form1" runat="server">
42
<div>
43
</div>
44
</form>
45
</body>
46
</html>
47![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)
45
![](/Images/OutliningIndicators/None.gif)
46
![](/Images/OutliningIndicators/None.gif)
47
![](/Images/OutliningIndicators/None.gif)
See Also
(原創) 如何使用ANSI C/ISO C++讀寫24位元的bmp圖檔? (初級) (C/C++)
(原創) 如何使用ANSI C讀寫32位元的BMP圖檔? (C/C++) (C) (Image Processing)
(原創) 如何使用ANSI C讀寫24/32位元的BMP圖檔? (C/C++) (C) (Image Processing)
(原創) 如何使用C++/CLI读/写jpg檔? (初级) (C++/CLI)
Reference
Steven A. Smith, Rob Howard, The ASP Alliance, ASP.NET 开发手札, 上奇科技出版事业处