明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

一個(gè)用來(lái)畫(huà)圖的組件

[摘要]為什么說(shuō)是個(gè)好東西了,大家看看下面的介紹就知道了 該組件有兩個(gè)版本,一個(gè)是注冊(cè)版本,一個(gè)是非注冊(cè)版本 非注冊(cè)版本功能:(雖然是非注冊(cè)的,但是可以一直使用下去的哦,這也是一個(gè)為 什么我大力推薦的原因之一) 1?缮蒍PEG格式的圖形文件 2?缮赏该鞯腉IF格式的圖形文件 3?缮山诲e(cuò)的GIF...

為什么說(shuō)是個(gè)好東西了,大家看看下面的介紹就知道了
該組件有兩個(gè)版本,一個(gè)是注冊(cè)版本,一個(gè)是非注冊(cè)版本
非注冊(cè)版本功能:(雖然是非注冊(cè)的,但是可以一直使用下去的哦,這也是一個(gè)為

什么我大力推薦的原因之一)
1?缮蒍PEG格式的圖形文件
2。可生成透明的GIF格式的圖形文件
3。可生成交錯(cuò)的GIF格式的圖形文件
4?梢允褂脙煞N方式保存圖形文件:一種是直接生成圖形文件
另外一種是保存到數(shù)組中然后直接輸出到WWW頁(yè)面中
5?梢岳L制文本圖形,并且支持安裝在你機(jī)器上的任何字體的文本
6?梢詫(dǎo)出和預(yù)覽由OLE服務(wù)程序生成的文檔,例如MS Word,Excel等等。
7。可以使用位圖方式自由的縮放,鏡像,旋轉(zhuǎn)和剪切圖形
8?墒褂帽镜貓D形緩存
9?梢訸OOM圖片
10?梢垣@取任何JPEG, GIF ,BMP格式文件的詳細(xì)信息
11?梢赃M(jìn)行Windows抓屏
12?缮蓜(dòng)態(tài)GIF
非注冊(cè)版本的限制如下:
1。只能夠最多使用8種顏色,不過(guò)我認(rèn)為對(duì)大多數(shù)人來(lái)說(shuō)根本不算什么限制的,

呵呵
2。能夠生成的最大圖形尺寸為320x240
如果是注冊(cè)版本:
13?稍诰(xiàn)修改現(xiàn)有的GIF, JPEG 和 BMP文件
14?勺远x調(diào)色板
15?裳h(huán)放映GIF動(dòng)畫(huà)

例子程序:
VBScript的例子:

set obj=CreateObject("shotgraph.image")
size=201
obj.CreateImage size,size,4
obj.SetColor 0,255,255,255
obj.SetColor 1,0,0,0
obj.SetColor 2,255,108,0
obj.SetColor 3,0,0,204
obj.SetBgColor 0
obj.FillRect 0,0,size-1,size-1
obj.SetDrawColor 1
obj.Line size-1,0,0,size-1
obj.SetBgColor 2
obj.Ellipse 5,5,size-6,size-6
obj.SetBgColor 3
obj.Ellipse 5,(size-5)/4,size/2,(size-5)*3/4
obj.GifImage 0,1,"test.gif"
ASP的例子代碼:

Response.ContentType="image/gif"
set obj=Server.CreateObject("shotgraph.image")
size=201
obj.CreateImage size,size,4
obj.SetColor 0,255,255,255
obj.SetColor 1,0,0,0
obj.SetColor 2,255,108,0
obj.SetColor 3,0,0,204
obj.SetBgColor 0
obj.FillRect 0,0,size-1,size-1

obj.SetDrawColor 1
obj.Line size-1,0,0,size-1
obj.SetBgColor 2
obj.Ellipse 5,5,size-6,size-6
obj.SetBgColor 3
obj.Ellipse 5,(size-5)/4,size/2,(size-5)*3/4

img=obj.GifImage(0,1,"")
Response.BinaryWrite img

那么如何畫(huà)動(dòng)畫(huà)呢,步驟如下:
1.Create一個(gè)"shotgraph.image"對(duì)象
2.隨便畫(huà)點(diǎn)東西把,就看你的創(chuàng)意了
3.調(diào)用TrackAdd函數(shù)
4.重復(fù)2,3步知道你想要的禎數(shù)
5.如果想要重復(fù)放動(dòng)畫(huà),調(diào)用TrackLoop方法,不過(guò)只有注冊(cè)版本有此功能
6.調(diào)用TrackPlay方法生成這個(gè)動(dòng)化文件
例子代碼如下:
set obj=CreateObject("shotgraph.image")
xsize=400
ysize=50

obj.CreateImage xsize,ysize,256
obj.InitClipboard xsize,ysize*2
obj.SelectClipboard True
obj.ReadImage "frame1.gif",pal1,0,0
obj.ReadImage "frame2.gif",pal2,0,ysize
obj.BuildPalette 0

obj.Copy 0,0,xsize,ysize,0,0,"SRCCOPY"
obj.TrackAdd -1,0,0,0,0,xsize,ysize,50
obj.Copy 0,0,xsize,ysize,0,ysize,"SRCCOPY"
obj.TrackAdd -1,0,0,0,0,xsize,ysize,50

obj.TrackLoop 0
obj.TrackPlay "frames12.gif"

怎么畫(huà)文本文字呢,呵呵,過(guò)程如下:
使用時(shí),請(qǐng)注意FontSmoothing這個(gè)屬性:
它是用來(lái)定義文字是否防鋸齒的。
0 - 使用系統(tǒng)默認(rèn)設(shè)置
1 - 不防鋸齒
2 - 防鋸齒
代碼如下:

<%
Response.Contenttype="image/gif"
Set g=CreateObject("shotgraph.image")
g.CreateImage 320,200,16
g.SetColor 0,255,255,255
g.SetColor 1,0,0,0
g.SetBgColor 0
g.SetTextColor 1
g.FillRect 0,0,320,200
g.FontSmoothing=1
g.CreateFont "Arial",0,42,0,True,False,False,False
g.TextOut 0,30,"Non-Antialiased"
g.FontSmoothing=2
g.CreateFont "Arial",0,42,0,True,False,False,False
g.TextOut 0,120,"Antialiased"
g.BuildPalette 2
Response.BinaryWrite g.GifImage(-1,0,"")
%>

下載地址:
http://download.proxy.ru/mike/shotgraph/
http://www.geocities.com/SiliconValley/Foothills/9219/shotgraph/
--------------------------
以上摘自 www.Chinaasp.com

通過(guò)上面這篇文章,我們可以明白,關(guān)鍵是在輸出數(shù)據(jù)之前,需要顯輸出一個(gè)文件類(lèi)

型的定義.
這樣瀏覽器就知道你送過(guò)來(lái)的不是文本而是圖片,或其他的什么,比如聲音,電影.


Response.Contenttype="image/gif" //輸出文件類(lèi)型

.....//這里就可以替換成 讀入硬盤(pán)圖片文件二進(jìn)制數(shù)據(jù)

Response.BinaryWrite g.GifImage(-1,0,"") //圖片數(shù)據(jù) 就可換成寫(xiě)入你的二
進(jìn)制數(shù)據(jù)

...


--------------------------
以上摘自 www.Chinaasp.com

通過(guò)上面這篇文章,我們可以明白,關(guān)鍵是在輸出數(shù)據(jù)之前,需要顯輸出一個(gè)文件類(lèi)
型的定義.
Response.Contenttype="image/gif" //文件類(lèi)型
.....
Response.BinaryWrite g.GifImage(-1,0,"") //圖片數(shù)據(jù)

這樣瀏覽器就知道你送過(guò)來(lái)的不是文本而是圖片,或其他的什么,比如聲音,電影.。