亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Persits AspJpeg 2.0組件教程介紹水印縮略圖圖片合并圖片切割GIF透明輸出

    1、什么是AspJpeg?
    AspJpeg是一款功能強(qiáng)大的基于Microsoft IIS環(huán)境的圖片處理組件,網(wǎng)絡(luò)上對(duì)其進(jìn)行詳細(xì)和深入介紹的中文文章并不多,即使有一般也只是牽涉到圖片縮略圖和圖片水印,這與其為英文版本有著密切的關(guān)系。
    AspJpeg可以使用很少的代碼在您的ASP/ASP.Net應(yīng)用程序上動(dòng)態(tài)的創(chuàng)建高質(zhì)量的縮略圖象,支持的圖象格式有:JPEG, GIF, BMP, TIFF, PNG
    AspJpeg可以做到:
    圖片合并
    圖片切割
    圖象特效
    數(shù)據(jù)庫支持
    驗(yàn)證碼技術(shù)
    生成縮略圖片
    生成水印圖片
    GIF動(dòng)態(tài)圖片創(chuàng)建、修改

    2、AspJpeg功能摘要

    支持JPEG, GIF, BMP, TIFF 和 PNG 格式圖片來源
    圖片可以來源于磁盤、內(nèi)存、或者記錄集(數(shù)據(jù)庫)
    調(diào)整后的圖片可以保存到磁盤、內(nèi)存、或者HTTP流
    支持三種更改大小算法:Nearest Neighbor、Bilinear、Bicubic 
    可以在圖片之上添加圖畫或者文字,支持TrueType和Type 1字體
    詞語自動(dòng)換行,文本對(duì)齊方式:左、右、居中、兩端,圖片旋轉(zhuǎn)
    支持畫中畫
    剪切,翻轉(zhuǎn),旋轉(zhuǎn),銳化,灰度調(diào)節(jié)
    可以調(diào)節(jié)壓縮比率,以得到最佳輸出效果和大小
    從JPEG圖像中提取EXIF和的IPTC元數(shù)據(jù)
    在更改圖片的時(shí)候保存元數(shù)據(jù) 
    IPTC元數(shù)據(jù)的添加和編輯
    CMYK到RGB轉(zhuǎn)換
    棕褐色濾境(老化相片樣式)
    從圖象中對(duì)任意象素進(jìn)行讀/寫存取
    PNG Alpha 通道支持
    GIF透明支持
    亮度,對(duì)比度和飽和度的調(diào)整
    GIF輸出,透明度和動(dòng)畫保存
    JPEG到GIF格式轉(zhuǎn)換

    3、AspJpeg系統(tǒng)需求
    Windows NT/2000/XP/2003/Vista, and 
    IIS 4.0+ and ASP/ASP.NET, or
    Visual Basic 5.0+, or
    Visual C++ 5.0+, or
    any development environment supporting COM. 
    4、AspJpeg安裝
    全新安裝:

    到官方網(wǎng)站下載30天全功能評(píng)估版本,分32位版(aspjpeg.exe,截止當(dāng)前版本為2.0,文件大小:1.75M,最后更新日期:2008.01.28)和64位版(aspjpeg64.exe,截止當(dāng)前版本為2.0,文件大小:1.35M,最后更新日期:2008.02.25,不包含文檔)
    執(zhí)行下載的aspjpeg.exe或aspjpeg64.exe
    在提示輸入序列號(hào)的時(shí)候輸入有效的序列號(hào)即可,不輸入即代表將使用30天評(píng)估版本,可以更改注冊(cè)表里的RegKey進(jìn)行注冊(cè)
    如果安裝位置磁盤格式為NTFS,則可能出現(xiàn)訪問權(quán)限問題,需手工設(shè)置匿名用戶有讀取aspjpeg.exe的權(quán)限。

    更新安裝:
    如果之前有裝過其它版本的AspJpeg組件,則需要先卸載原來的組件,再進(jìn)行新版本的安裝。
    先停止IIS:Net Stop iisadmin /y
    卸載舊版組件:regsvr32 /u Path/aspjpeg.dl(Path為安裝路徑)
    重啟IIS:Net Start w3svc
    然后再進(jìn)行全新安裝或復(fù)制Bin目錄下的AspJpeg.dll文件到安裝目錄進(jìn)行手工安裝:
    程序代碼
    regsvr32 Path/aspjpeg.dll(Path為安裝路徑)

    如果在正常安裝過程中沒有輸入序列號(hào)或更新安裝則需要在注冊(cè)表中加入以下項(xiàng)進(jìn)行注冊(cè),為方便起見您可以直接將以下代碼保存為key.reg文檔并導(dǎo)入注冊(cè)表:

    程序代碼

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESoftwarePersits SoftwareAspJpegRegKey] @="17361-38566-42221"

    另外,可以通過代碼層由ASPJpeg對(duì)象的RegKey屬性來設(shè)定注冊(cè)碼,如下:

    view plaincopy to clipboardprint? Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.RegKey = "12345-67890-12345"  ...  view plaincopy to clipboardprint? Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.RegKey = "12345-67890-12345"  ...  Set Jpeg = Server.CreateObject("Persits.Jpeg") Jpeg.RegKey = "12345-67890-12345" ... 

    .RegKey指定注冊(cè)表,如果這個(gè)屬性沒有設(shè)置AspJpeg組件將在系統(tǒng)注冊(cè)表中尋找一個(gè)指定的注冊(cè)碼.
    5、如何創(chuàng)建一個(gè)AspJpeg實(shí)例?

    程序代碼
    Set Jpeg = Server.CreateObject(“Persits.Jpeg”)

    6、如何查看到期時(shí)間(是否注冊(cè)成功)?

    view plaincopy to clipboardprint?  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Response.Write Jpeg.Expires  view plaincopy to clipboardprint? Set Jpeg = Server.CreateObject("Persits.Jpeg")  Response.Write Jpeg.Expires  Set Jpeg = Server.CreateObject("Persits.Jpeg") Response.Write Jpeg.Expires

    如果這個(gè)屬性返回9/9/9999它意味著在使用一個(gè)永久的注冊(cè)碼。
    否則為:安裝日期加1個(gè)月期限
    7、如何用AspJpeg組件創(chuàng)建圖片縮略圖?

    <%  Set Jpeg = Server.CreateObject("Persits.Jpeg") '創(chuàng)建ASPJpeg對(duì)象實(shí)例  Path = Server.MapPath("../images/apple.jpg") '設(shè)置圖片路徑  Jpeg.Open Path '打開圖片  '調(diào)整寬度和高度為原來的50%  Jpeg.Width = Jpeg.OriginalWidth / 2  Jpeg.Height = Jpeg.OriginalHeight / 2  Jpeg.Save Server.MapPath("apple_small.jpg") '保存圖片到磁盤  Jpeg.Close:Set Jpeg = Nothing  %>  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg") '創(chuàng)建ASPJpeg對(duì)象實(shí)例  Path = Server.MapPath("../images/apple.jpg") '設(shè)置圖片路徑  Jpeg.Open Path '打開圖片  '調(diào)整寬度和高度為原來的50%  Jpeg.Width = Jpeg.OriginalWidth / 2  Jpeg.Height = Jpeg.OriginalHeight / 2  Jpeg.Save Server.MapPath("apple_small.jpg") '保存圖片到磁盤  Jpeg.Close:Set Jpeg = Nothing  %>  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg") '創(chuàng)建ASPJpeg對(duì)象實(shí)例 Path = Server.MapPath("../images/apple.jpg") '設(shè)置圖片路徑 Jpeg.Open Path '打開圖片 '調(diào)整寬度和高度為原來的50% Jpeg.Width = Jpeg.OriginalWidth / 2 Jpeg.Height = Jpeg.OriginalHeight / 2 Jpeg.Save Server.MapPath("apple_small.jpg") '保存圖片到磁盤 Jpeg.Close:Set Jpeg = Nothing %>

    8、如何用AspJpeg組件創(chuàng)建圖片水???

    <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.Open Server.MapPath("2.jpg")  '開始寫文字  Jpeg.Canvas.Font.Color = &000000 'red 顏色  Jpeg.Canvas.Font.Family = "Courier New" '字體  Jpeg.Canvas.Font.Bold = True '是否加粗  Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."  '打印坐標(biāo)x 打印坐標(biāo)y 需要打印的字符  '以下是對(duì)圖片進(jìn)行邊框處理  Jpeg.Canvas.Pen.Color = &H000000 'black 顏色  Jpeg.Canvas.Pen.Width = 2 '畫筆寬度  Jpeg.Canvas.Brush.Solid = False '是否加粗處理  Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height  '起始X坐標(biāo) 起始Y坐標(biāo) 輸入長(zhǎng)度 輸入高度  Jpeg.Save Server.MapPath("1.jpg") '保存  %>  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.Open Server.MapPath("2.jpg")  '開始寫文字  Jpeg.Canvas.Font.Color = &000000 'red 顏色  Jpeg.Canvas.Font.Family = "Courier New" '字體  Jpeg.Canvas.Font.Bold = True '是否加粗  Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."  '打印坐標(biāo)x 打印坐標(biāo)y 需要打印的字符  '以下是對(duì)圖片進(jìn)行邊框處理  Jpeg.Canvas.Pen.Color = &H000000 'black 顏色  Jpeg.Canvas.Pen.Width = 2 '畫筆寬度  Jpeg.Canvas.Brush.Solid = False '是否加粗處理  Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height  '起始X坐標(biāo) 起始Y坐標(biāo) 輸入長(zhǎng)度 輸入高度  Jpeg.Save Server.MapPath("1.jpg") '保存  %>  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.Open Server.MapPath("2.jpg")  '開始寫文字  Jpeg.Canvas.Font.Color = &000000 'red 顏色  Jpeg.Canvas.Font.Family = "Courier New" '字體  Jpeg.Canvas.Font.Bold = True '是否加粗  Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."  '打印坐標(biāo)x 打印坐標(biāo)y 需要打印的字符  '以下是對(duì)圖片進(jìn)行邊框處理  Jpeg.Canvas.Pen.Color = &H000000 'black 顏色  Jpeg.Canvas.Pen.Width = 2 '畫筆寬度  Jpeg.Canvas.Brush.Solid = False '是否加粗處理  Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height  '起始X坐標(biāo) 起始Y坐標(biāo) 輸入長(zhǎng)度 輸入高度  Jpeg.Save Server.MapPath("1.jpg") '保存  %>

    9、如何用AspJpeg組件進(jìn)行圖片合并?
    AspJpeg 1.3+ enables you to place images on top of each other via the method DrawImage. To use this method, you must create two instances of the AspJpeg objects and populate both of them with images via calls to Open (or OpenBinary). When calling Canvas.DrawImage, the 2nd instance of AspJpeg is passed as an argument to this method, along with the X and Y offsets (in pixels): 
    使用該方法,您必需創(chuàng)建兩個(gè)AspJpeg實(shí)例對(duì)象

    <%  Set Jpeg1 = Server.CreateObject("Persits.Jpeg")  Set Jpeg2 = Server.CreateObject("Persits.Jpeg")  Jpeg1.Open Server.MapPath("t.jpg")  Jpeg2.Open Server.MapPath("t1.jpg")  Jpeg1.Canvas.DrawImage 10, 10, Jpeg2 ' optional arguments omitted  jpeg1.save Server.mappath("tt.jpg")  %>  <%  Set Jpeg1 = Server.CreateObject("Persits.Jpeg")  Set Jpeg2 = Server.CreateObject("Persits.Jpeg")  Jpeg1.Open Server.MapPath("t.jpg")  Jpeg2.Open Server.MapPath("t1.jpg")  Jpeg1.Canvas.DrawImage 10, 10, Jpeg2 ' optional arguments omitted  jpeg1.save Server.mappath("tt.jpg")  %>  <% Set Jpeg1 = Server.CreateObject("Persits.Jpeg") Set Jpeg2 = Server.CreateObject("Persits.Jpeg") Jpeg1.Open Server.MapPath("t.jpg") Jpeg2.Open Server.MapPath("t1.jpg") Jpeg1.Canvas.DrawImage 10, 10, Jpeg2 ' optional arguments omitted jpeg1.save Server.mappath("tt.jpg") %>

    10、如何用AspJpeg組件進(jìn)行圖片切割?
    AspJpeg 1.1+ is also capable of cutting off edges from, or cropping, the resultant thumbnails via the method Crop(x0, y0, x1, y1). The size of the cropped image is specified by the coordinates of the upper-left and lower-right corners within the resultant thumbnail, not the original large image. 

    <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.Open Server.MapPath("t.jpg")  jpeg.Crop 20, 30, jpeg.Width - 20, jpeg.Height - 10  jpeg.save Server.mappath("tt.jpg")  Response.write("<img src=tt.jpg>")  %>  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Jpeg.Open Server.MapPath("t.jpg")  jpeg.Crop 20, 30, jpeg.Width - 20, jpeg.Height - 10  jpeg.save Server.mappath("tt.jpg")  Response.write("<img src=tt.jpg>")  %>  <% Set Jpeg = Server.CreateObject("Persits.Jpeg") Jpeg.Open Server.MapPath("t.jpg") jpeg.Crop 20, 30, jpeg.Width - 20, jpeg.Height - 10  jpeg.save Server.mappath("tt.jpg") Response.write("<img src=tt.jpg>") %>

    11、如何用AspJpeg組件創(chuàng)建驗(yàn)證碼?
    創(chuàng)建驗(yàn)證碼原理上和創(chuàng)建水印差不多。

    <%  function make_randomize(max_len,w_n) 'max_len 生成長(zhǎng)度,w_n:0 可能包含字母,1:只為數(shù)字  randomize  for intcounter=1 to max_len  whatnext=int((1-0+1)*rnd+w_n)  if whatnext=0 then  upper=122  lower=97  else  upper=57  lower=48  end if  strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)  next  make_randomize=strnewpass  end function   '生成安全碼的圖片。  random_num=make_randomize(4,1) '生成4位數(shù)字的安全碼  session("random_num")=random_num '為么調(diào)用session,沒有session的安全碼是完全沒有意義的。呵呵 .   Set Jpeg = Server.CreateObject("Persits.Jpeg") '調(diào)用組件  Jpeg.Open Server.MapPath("t.jpg") '打開準(zhǔn)備的圖片  Jpeg.Canvas.Font.Color = &HFFFFFF  Jpeg.Canvas.Font.Family = "Arial Black"  Jpeg.Canvas.Font.Bold = false  Jpeg.Canvas.PrintText 0, -2, random_num  jpeg.save Server.MapPath("tt.jpg") '保存  %>  <img src="tt.jpg" border="0" align="absmiddle">  <%  function make_randomize(max_len,w_n) 'max_len 生成長(zhǎng)度,w_n:0 可能包含字母,1:只為數(shù)字  randomize  for intcounter=1 to max_len  whatnext=int((1-0+1)*rnd+w_n)  if whatnext=0 then  upper=122  lower=97  else  upper=57  lower=48  end if  strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)  next  make_randomize=strnewpass  end function   '生成安全碼的圖片。  random_num=make_randomize(4,1) '生成4位數(shù)字的安全碼  session("random_num")=random_num '為么調(diào)用session,沒有session的安全碼是完全沒有意義的。呵呵 .   Set Jpeg = Server.CreateObject("Persits.Jpeg") '調(diào)用組件  Jpeg.Open Server.MapPath("t.jpg") '打開準(zhǔn)備的圖片  Jpeg.Canvas.Font.Color = &HFFFFFF  Jpeg.Canvas.Font.Family = "Arial Black"  Jpeg.Canvas.Font.Bold = false  Jpeg.Canvas.PrintText 0, -2, random_num  jpeg.save Server.MapPath("tt.jpg") '保存  %>  <img src="tt.jpg" border="0" align="absmiddle">  <% function make_randomize(max_len,w_n) 'max_len 生成長(zhǎng)度,w_n:0 可能包含字母,1:只為數(shù)字  randomize  for intcounter=1 to max_len  whatnext=int((1-0+1)*rnd+w_n)  if whatnext=0 then  upper=122  lower=97  else  upper=57  lower=48  end if  strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)  next  make_randomize=strnewpass  end function  '生成安全碼的圖片。 random_num=make_randomize(4,1) '生成4位數(shù)字的安全碼  session("random_num")=random_num '為么調(diào)用session,沒有session的安全碼是完全沒有意義的。呵呵 . Set Jpeg = Server.CreateObject("Persits.Jpeg") '調(diào)用組件  Jpeg.Open Server.MapPath("t.jpg") '打開準(zhǔn)備的圖片  Jpeg.Canvas.Font.Color = &HFFFFFF  Jpeg.Canvas.Font.Family = "Arial Black"  Jpeg.Canvas.Font.Bold = false  Jpeg.Canvas.PrintText 0, -2, random_num  jpeg.save Server.MapPath("tt.jpg") '保存 %> <img src="tt.jpg" border="0" align="absmiddle">

    12、如何讓AspJpeg組件支援?dāng)?shù)據(jù)庫?
    圖片存進(jìn)數(shù)據(jù)庫只能以二進(jìn)制數(shù)據(jù)保存,這里即利用AspJpeg的Binary方法,下面以兩個(gè)AspJpeg用戶手冊(cè)上的代碼為例,具體請(qǐng)參考AspJpeg用戶手冊(cè):

    '輸出到內(nèi)存  <%  ...  Set rs = Server.CreateObject("adodb.recordset")  rs.Open "images", strConnect, 1, 3  rs.AddNew  rs("image_blob").Value = Jpeg.Binary  rs.Update  ...  %>  '從內(nèi)存中打開圖象  Opening Images from Memory  <% ' Using ADO, open database with an image blob  strC & Server.MapPath("../db/aspjpeg.mdb")  Set rs = Server.CreateObject("adodb.recordset")  SQL = "select image_blob from images2 where id = " & Request("id")  rs.Open SQL, strConnect, 1, 3  Set Jpeg = Server.CreateObject("Persits.Jpeg")  ' Open image directly from recordset  Jpeg.OpenBinary rs("image_blob").Value  ' Resize  jpeg.Width = Request("Width")  ' Set new height, preserve original aspect ratio  jpeg.Height = jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidth  Jpeg.SendBinary  rs.Close  %>   '輸出到內(nèi)存  <%  ...  Set rs = Server.CreateObject("adodb.recordset")  rs.Open "images", strConnect, 1, 3  rs.AddNew  rs("image_blob").Value = Jpeg.Binary  rs.Update  ...  %>  '從內(nèi)存中打開圖象 Opening Images from Memory  <% ' Using ADO, open database with an image blob strC & Server.MapPath("../db/aspjpeg.mdb") Set rs = Server.CreateObject("adodb.recordset") SQL = "select image_blob from images2 where id = " & Request("id") rs.Open SQL, strConnect, 1, 3 Set Jpeg = Server.CreateObject("Persits.Jpeg") ' Open image directly from recordset Jpeg.OpenBinary rs("image_blob").Value ' Resize jpeg.Width = Request("Width") ' Set new height, preserve original aspect ratio jpeg.Height = jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidth Jpeg.SendBinary rs.Close %> '輸出到內(nèi)存 <% ... Set rs = Server.CreateObject("adodb.recordset") rs.Open "images", strConnect, 1, 3 rs.AddNew rs("image_blob").Value = Jpeg.Binary rs.Update ... %>

    13、AspJpeg組件創(chuàng)建GIF動(dòng)畫?

    <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Set Gif = Jpeg.Gif ' Obtain GIF management object   MarketShare = 6 ' initial market share of hypothetical XYZ company  ' create a 5-frame animated gif  For i = 1 to 5  Gif.AddFrame 300, 200, 0, 0   Gif.PenColor = 10  Gif.BrushColor = 10  Gif.DrawBar 0, 0, 300, 200   Gif.PenColor = 201  Gif.F  Gif.PrintText 18, 15, "XYZ, Inc. Market Share"  Gif.PrintText 120, 50, 2002 + i   ' Draw pie chart  Gif.PenColor = 0  Gif.BrushColor = 30  Gif.DrawPie 150, 130, 50, 0, MarketShare * 360 / 100  Gif.BrushColor = 20  Gif.DrawPie 150, 130, 50, MarketShare * 360 / 100, 360   Gif.PenColor = 210  Gif.PrintText 200, 100, MarketShare & "%"  MarketShare = MarketShare * 2 - 3 ' market share almost doubles every year!  ' increase delay on the last frame  if i = 5 then Gif.Delay = 300 ' 3 sec  Next  ' Save  Gif.Save Server.MapPath("chart.gif")  %>  <IMG SRC="chart.gif">  <%  Set Jpeg = Server.CreateObject("Persits.Jpeg")  Set Gif = Jpeg.Gif ' Obtain GIF management object   MarketShare = 6 ' initial market share of hypothetical XYZ company  ' create a 5-frame animated gif  For i = 1 to 5  Gif.AddFrame 300, 200, 0, 0   Gif.PenColor = 10  Gif.BrushColor = 10  Gif.DrawBar 0, 0, 300, 200   Gif.PenColor = 201  Gif.F  Gif.PrintText 18, 15, "XYZ, Inc. Market Share"  Gif.PrintText 120, 50, 2002 + i   ' Draw pie chart  Gif.PenColor = 0  Gif.BrushColor = 30  Gif.DrawPie 150, 130, 50, 0, MarketShare * 360 / 100  Gif.BrushColor = 20  Gif.DrawPie 150, 130, 50, MarketShare * 360 / 100, 360   Gif.PenColor = 210  Gif.PrintText 200, 100, MarketShare & "%"  MarketShare = MarketShare * 2 - 3 ' market share almost doubles every year!  ' increase delay on the last frame  if i = 5 then Gif.Delay = 300 ' 3 sec  Next  ' Save  Gif.Save Server.MapPath("chart.gif")  %>  <IMG SRC="chart.gif"> 

    分享到: 更多

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)