锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
/*
System.Drawing.Image Image=System.Drawing.Image.FromFile(FromImg);
*/
//鍘熷鍥劇墖鍚嶇О
string originalFilename =FromImg;
//鐢熸垚鐨勯珮璐ㄩ噺鍥劇墖鍚嶇О
string strGoodFile =SaveImg;
//浠庢枃浠跺彇寰楀浘鐗囧璞?br />
System.Drawing.Image image = System.Drawing.Image.FromFile(originalFilename);
System.Double NewWidth,NewHeight;
if(image.Width>image.Height) {
NewWidth=Width;
NewHeight=image.Height*(NewWidth/image.Width);
} else {
NewHeight=Height;
NewWidth=(NewHeight/image.Height)*image.Width;
}
if (NewWidth>Width) {
NewWidth=Width;
}
if (NewHeight>Height) {
NewHeight=Height;
}
//鍙栧緱鍥劇墖澶у皬
System.Drawing.Size size = new Size(int.Parse(ClDot(NewWidth.ToString())),int.Parse(ClDot(NewHeight.ToString())));
//鏂板緩涓涓猙mp鍥劇墖
System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width,size.Height);
//鏂板緩涓涓敾鏉?br />
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//璁劇疆楂樿川閲忔彃鍊兼硶
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//璁劇疆楂樿川閲?浣庨熷害鍛堢幇騫蟲(chóng)粦紼嬪害
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//娓呯┖涓涓嬬敾甯?br />
g.Clear(Color.Blue);
//鍦ㄦ寚瀹氫綅緗敾鍥?br />
g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
new System.Drawing.Rectangle(0, 0, image.Width,image.Height),
System.Drawing.GraphicsUnit.Pixel);
///鏂囧瓧姘村嵃
System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap);
System.Drawing.Font f=new Font("瀹?huà)浣?,10);
System.Drawing.Brush b=new SolidBrush(Color.Black);
G.DrawString(MarkText,f,b,10,10);
G.Dispose();
///鍥劇墖姘村嵃
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath(MarkLogo));
Graphics a = Graphics.FromImage(bitmap);
a.DrawImage(copyImage, new Rectangle(bitmap.Width-copyImage.Width,bitmap.Height-copyImage.Height,copyImage.Width, copyImage.Height),0,0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
copyImage.Dispose();
a.Dispose();
copyImage.Dispose();
//淇濆瓨楂樻竻鏅板害鐨勭緝鐣ュ浘
bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();
image.Dispose();
}
using System.Drawing; using System.IO; using System.Drawing.Imaging; private void AddTextToImg(string fileName,string text) { if(!File.Exists(MapPath(fileName))) { throw new FileNotFoundException("The file don’t exist!"); } if( text == string.Empty ) { return; } //榪橀渶瑕佸垽鏂枃浠剁被鍨嬫槸鍚︿負(fù)鍥懼儚綾誨瀷錛岃繖閲屽氨涓嶈禈榪頒簡(jiǎn) System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName)); Bitmap bitmap = new Bitmap(image,image.Width,image.Height); Graphics g = Graphics.FromImage(bitmap); float fontSize = 12.0f; //瀛椾綋澶у皬 float textWidth = text.Length*fontSize; //鏂囨湰鐨勯暱搴? //涓嬮潰瀹氫箟涓涓煩褰㈠尯鍩燂紝浠ュ悗鍦ㄨ繖涓煩褰㈤噷鐢諱笂鐧藉簳榛戝瓧 float rectX = 0; float rectY = 0; float rectWidth = text.Length*(fontSize+8); float rectHeight = fontSize+8; //澹版槑鐭╁艦鍩? RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight); Font font = new Font("瀹?huà)浣?,fontSize); //瀹氫箟瀛椾綋 Brush whiteBrush = new SolidBrush(Color.White); //鐧界瑪鍒鳳紝鐢繪枃瀛楃敤 Brush blackBrush = new SolidBrush(Color.Black); //榛戠瑪鍒鳳紝鐢昏儗鏅敤 g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight); g.DrawString(text,font,whiteBrush,textArea); MemoryStream ms = new MemoryStream( ); //淇濆瓨?shù)负Jpg綾誨瀷 bitmap.Save(ms,ImageFormat.Jpeg); //杈撳嚭澶勭悊鍚庣殑鍥懼儚錛岃繖閲屼負(fù)浜?jiǎn)婕斀C烘柟渚匡紝鎴戝皢鍥劇墖鏄劇ず鍦ㄩ〉闈腑浜? Response.Clear(); Response.ContentType = "image/jpeg"; Response.BinaryWrite( ms.ToArray() ); g.Dispose(); bitmap.Dispose(); image.Dispose(); }
璋冪敤鏃跺緢綆鍗曪紝
AddTextToImg("me.jpg","鏂囧瓧");source:http://feisha.cn/Articles/Art.62.htm
鍥涗釜鏂囦歡
1 .AutoComplete.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>杈撳叆鑷姩瀹屾垚</title>
<script language="javascript">
//杈撳叆淇℃伅鐨勬枃鏈
var txtInput;
//涓嬫媺琛ㄥ綋鍓嶉変腑欏圭殑绱㈠紩
var currentIndex = -1;
//鍒濆鍖栧弬鏁?鍜屼笅鎷夎〃浣嶇疆
function initPar()
{
txtInput = document.getElementById("txtCompanyName");
//璁劇疆涓嬫媺琛?鐩稿浜?鏂囨湰杈撳叆妗嗙殑浣嶇疆
setPosition();
}
//璁劇疆涓嬫媺琛?鐩稿浜?鏂囨湰杈撳叆妗嗙殑浣嶇疆
function setPosition()
{
var width = txtInput.offsetWidth;
var left = getLength("offsetLeft");
var top = getLength("offsetTop") + txtInput.offsetHeight;
divContent.style.left = left + "px";
divContent.style.top = top + "px";
divContent.style.width = width + "px";
}
//鑾峰彇瀵瑰簲灞炴х殑闀垮害
function getLength(attr)
{
var offset = 0;
var item = txtInput;
while (item)
{
offset += item[attr];
item = item.offsetParent;
}
return offset;
}
//鑷姩瀹屾垚
function autoComplete()
{
//濡傛灉鎸変笅 鍚戜笂, 鍚戜笅 鎴?鍥炶濺
if (event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13)
{
//閫夋嫨褰撳墠欏?
selItemByKey();
}
else //鍚戞湇鍔″櫒鍙戦佽姹?br />
{
//濡傛灉鍊間負(fù)絀?
if (txtInput.value == "")
{
divContent.style.display='none';
return;
}
//鎭㈠涓嬫媺閫夋嫨欏逛負(fù) -1
currentIndex = -1;
//寮濮嬭姹?br />
requestObj = new ActiveXObject("Microsoft.XMLHTTP");
requestObj.onreadystatechange = displayResult;
requestObj.open("POST", "AutoComplete.aspx?ts=" + new Date().toLocaleString(), true);
requestObj.send(txtInput.value);
}
}
//鏄劇ず緇撴灉
function displayResult()
{
if (requestObj.readyState == 4)
{
showData();
divContent.style.display = "";
}
}
//鏄劇ず鏈嶅姟鍣ㄨ繑鍥炵殑緇撴灉 ,騫跺艦鎴愪笅鎷夎〃
function showData()
{
//鑾峰彇鏁版嵁
var doc = new ActiveXObject("MSXML2.DOMDocument.3.0");
doc.loadXML(requestObj.responseText);
//鏄劇ず鏁版嵁鐨剎slt
var docStyle = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
docStyle.async = false;
docStyle.load("list.xslt");
var docTemplate = new ActiveXObject("MSXML2.XSLTemplate");
docTemplate.stylesheet = docStyle;
//閫氳繃xslt杞崲xml鏁版嵁
var processor = docTemplate.createProcessor();
processor.input = doc;
processor.transform();
var res = processor.output;
//鏄劇ず杞悗鍚庣殑緇撴灉
divContent.innerHTML = res;
}
//閫氳繃閿洏閫夋嫨涓嬫媺欏?
function selItemByKey()
{
//涓嬫媺琛?
var tbl = document.getElementById("tblContent");
if (!tbl)
{
return;
}
//涓嬫媺琛ㄧ殑欏規(guī)暟
var maxRow = tbl.rows.length;
//鍚戜笂
if (event.keyCode == 38 && currentIndex > 0)
{
currentIndex--;
}
//鍚戜笅
else if (event.keyCode == 40 && currentIndex < maxRow-1)
{
currentIndex++;
}
//鍥炶濺
else if (event.keyCode == 13)
{
selValue();
return;
}
clearColor();
txtInput.value = tbl.rows[currentIndex].innerText;
//璁劇疆褰撳墠欏硅儗鏅鑹蹭負(fù)blue 鏍囪閫変腑
tbl.rows[currentIndex].style.backgroundColor = "InfoBackground";
}
//娓呴櫎涓嬫媺欏圭殑鑳屾櫙棰滆壊
function clearColor()
{
var tbl = document.getElementById("tblContent");
for (var i = 0; i < tbl.rows.length; i++)
{
tbl.rows[i].style.backgroundColor = "";
}
}
//閫夋嫨涓嬫媺琛ㄤ腑褰撳墠欏圭殑鍊?,鐢ㄤ簬鎸夊洖杞︽垨榧犳爣鍗曞嚮閫変腑褰撳墠欏圭殑鍊?br />
function selValue()
{
if (event.keyCode != 13)
{
var text = event.srcElement.innerText;
txtInput.value = text;
}
initList();
}
//鏂囨湰妗嗗け鍘葷劍鐐規(guī)椂 璁劇疆涓嬫媺琛ㄥ彲瑙佹?
function setDisplay()
{
//鑾峰彇褰撳墠媧誨姩td鐨勮〃鏍?
if (document.activeElement.tagName == "TD")
{
var tbl = document.activeElement.parentElement.parentElement.parentElement;
//濡傛灉涓嶆槸涓嬫媺琛?鍒欓殣钘?涓嬫媺琛?
if (tbl.id != "tblContent")
{
initList();
}
return;
}
initList();
}
function initList()
{
divContent.style.display='none';
divContent.innerHTML = "";
currentIndex = -1;
}
</script>
</head>
<body onload="initPar()">
CompanyName<input type="text" id="txtCompanyName" onkeyup="autoComplete()" onblur="setDisplay();" style="width:400px"/>
<!-- 鏄劇ず涓嬫媺琛ㄧ殑div-->
<div id="divContent" style="display:none; position:absolute; ">
</div>
</body>
</html>
AutoComplete.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AutoComplete.aspx.cs" Inherits="AJAXBaseHome.AutoComplete" %>
AutoComplete.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Configuration;
namespace AJAXBaseHome
{
public partial class AutoComplete : System.Web.UI.Page
{
private static string conString = WebConfigurationManager.ConnectionStrings["myData"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
string input = GetInput();
Response.Write(GetCompanyName(input));
}
//鑾峰彇杈撳叆鐨勫瓧絎︿覆
private string GetInput()
{
Stream s = Request.InputStream;
int count = 0;
byte[] buffer = new byte[1024];
StringBuilder builder = new StringBuilder();
while ((count = s.Read(buffer, 0, 1024)) > 0)
{
builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
}
return builder.ToString();
}
private string GetCompanyName(string input)
{
using (SqlConnection con = new SqlConnection(conString))
{
SqlCommand command = new SqlCommand("select * from suppliers where CompanyName like @Name", con);
command.Parameters.Add(new SqlParameter("@name", input + "%"));
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.GetXml();
}
}
}
}
xslt鏂囦歡 鐢ㄤ簬鏄劇ずxml鏁版嵁
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="NewDataSet">
<table id="tblContent" style="background-color:GrayText">
<xsl:for-each select="Table">
<tr>
<!--td涓崟鍑?yán)L椂閫夋嫨褰撳墠鍊? 榧犳爣鍦ㄤ笂鏃舵洿鏀硅鑳屾櫙棰滆壊,榧犳爣紱誨紑鍚庢竻闄よ儗鏅鑹?->
<td onclick="selValue()" style="cursor:hand" onmouseover="clearColor();this.parentElement.style.backgroundColor='InfoBackground'" onmouseout="clearColor()">
<xsl:value-of select="CompanyName"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
http://www.vs2005.com/Ajax/427/2/default.aspx